如何转换此RSA公钥: 109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110 6039072308886100726558188253585034290 57592827629436413108566029093628 2126359538366865626758497206207862794310902180176810615217550567108238764764442605581471797071 19674283982419152118103759076030616683978566631413
到* .pem文件?
答案 0 :(得分:6)
“pem”文件实际上不是一种格式,不同类型的对象可能存储在称为“pem”文件的内容中。这些文件通常包含base64编码的X509证书或base64编码的私钥对象。
假设您需要X509证书,您应该接下来会发现证书包含许多字段,其中只有一个是公钥。因此需要决定其他字段的值。最后,必须使用私钥对证书进行签名。
PS。 RSA公钥由模数和公共指数组成。你的公众指数是什么?
答案 1 :(得分:0)
我会使用OpenSSL。假设您拥有DER格式的密钥,则可以使用此命令将DER转换为PEM。
openssl x509 -inform der -in input.der -out output.pem
如果您不确定是否具有格式正确的DER(ASN.1)编码密钥,请尝试使用此tool来解析输入文件。
答案 2 :(得分:0)
首先President James K. Polk是正确的。一个完整的RSA密钥由一个模数和一个公共指数组成。 在Java中,来自包java.security.interfaces的接口RSAPublicKey可以保存格式正确的RSA密钥。假设您有这样的对象,则转换为PEM格式的过程将涉及对其进行编码,如下所示:
String pemFormatKey = Base64.getEncoder().encodeToString(rsaPublicKey.getEncoded());
答案 3 :(得分:-1)
使用putty程序,PuTTYgen执行此转换