xmlファイルからJavaでRSA公開鍵を読み取る方法は?
これがファイル形式です。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<RSAKeyValue>
<Modulus>jWa96uXeSM6hUH0E/ueihtuowdte8</Modulus>
<Exponent>BAAQ</Exponent>
</RSAKeyValue>
xmlファイルからJavaでRSA公開鍵を読み取る方法は?
これがファイル形式です。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<RSAKeyValue>
<Modulus>jWa96uXeSM6hUH0E/ueihtuowdte8</Modulus>
<Exponent>BAAQ</Exponent>
</RSAKeyValue>
この要素は XMLSec の一部であり、通常は <KeyInfo> 内にラップされています。Java 6 には XMLSec のサポートが付属していますが、この単一の要素を解析するためのパブリック インターフェイスがあるとは思えません。
これは単純に Base64 でエンコードされた公開鍵です。XML コンテンツを Base64 でデコードして、 と のようなバイト配列にするmodBytes
としexpBytes
ます。このようにJCEキーに変換できます。
KeyFactory rsaFactory = KeyFactory.getInstance("RSA");
RSAPublicKeySpec rsaKeyspec =
new RSAPublicKeySpec(new BigInteger(modBytes),
new BigInteger(expBytes));
PublicKey key = rsaFactory.generatePublic(rsaKeyspec);