转换RSA PEM密钥字符串为DER的byte []
问题描述:
我想一个RSA PEM密钥(包含在一个字符串)转换为一个byte [],这样的方法给出的.pem文件的FileInputStream什么时候:转换RSA PEM密钥字符串为DER的byte []
我已经试过这样:
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的流网址时工作。
任何想法我做错了什么?
答
只是包装字符串中ByteArrayInputStream
,你可以使用你链接的方法:
InputStream pemStream = new ByteArrayInputStream(pemKey.getBytes());
byte[] derKey = EncryptionUtil.convertRsaPemToDer(pemStream);
谢谢!我的方法产生了相同的结果;看起来问题在于别处...... –