1

如何从 xml 文件中读取 Java 中的 RSA 公钥?

这是文件格式。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<RSAKeyValue>
    <Modulus>jWa96uXeSM6hUH0E/ueihtuowdte8</Modulus>
    <Exponent>BAAQ</Exponent>
</RSAKeyValue>
4

1 回答 1

4

此元素是 XMLSec 的一部分,通常它包含在 <KeyInfo> 中。Java 6 带有 XMLSec 支持,但我怀疑它是否具有解析这个单一元素的公共接口。

这只是 Base64 编码的公钥。假设您将 XML 内容 Base64 解码为字节数组modBytesexpBytes. 您可以像这样将其转换为 JCE 密钥,

     KeyFactory rsaFactory = KeyFactory.getInstance("RSA");
     RSAPublicKeySpec rsaKeyspec =
        new RSAPublicKeySpec(new BigInteger(modBytes),
           new BigInteger(expBytes));
     PublicKey key = rsaFactory.generatePublic(rsaKeyspec);
于 2009-09-29T12:33:19.843 回答