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 でデコードして、 と のようなバイト配列にするmodBytesとしexpBytesます。このように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 に答える