2

.pem ファイル FileInputStream を指定したときにこのメソッドが行うように、RSA pem キー (文字列に含まれる) を byte[] に変換しようとしています。

http://jets3t.s3.amazonaws.com/api/org/jets3t/service/security/EncryptionUtil.html#convertRsaPemToDer(java.io.InputStream)

私はこれを試しました:

String pemKey = "-----BEGIN RSA PRIVATE KEY-----\r\n"
         + "{base64 encoded key part omitted}\r\n"
         + "{base64 encoded key part omitted}\r\n"
         + "{base64 encoded key part omitted}\r\n"
         + "-----END RSA PRIVATE KEY-----";
String base64 = pemKey
        .replaceAll("\\s", "")
        .replace("-----BEGINRSAPRIVATEKEY-----", "")
        .replace("-----ENDRSAPRIVATEKEY-----", "");

return Base64.decode(base64.getBytes());

結果は によって返されるものと同等であると期待してorg.jets3t.service.security.EncryptionUtil.convertRsaPemToDer()いますが、CloudFront ストリーミング URL を生成するときに機能していないようです。

私が間違っていることは何か分かりますか?

4

1 に答える 1

3

文字列を a でラップするだけで、ByteArrayInputStreamリンクしたメソッドを使用できます。

InputStream pemStream = new ByteArrayInputStream(pemKey.getBytes());
byte[] derKey = EncryptionUtil.convertRsaPemToDer(pemStream);
于 2014-01-16T22:12:12.333 に答える