我已经创建了我认为包含公钥DER文件的证书,但我现在需要PEM格式的公钥用于不同的平台。目的是使用相同的公钥。
我使用RSA Encryption in iOS and Decrypt It Using PHP创建了它:
openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650
我有一个正在使用的公钥(public_key.der)并且无法更改它。但是我现在需要PEM版本的公钥
public_key.pem
如何以这种方式从DER转换为PEM?
注意:如果我使用以下方法创建了我的密钥对,那么事情会很简单。我可以提取公钥PEM文件:
openssl genrsa -out rsa.pem 1024
openssl rsa -in rsa.pem -pubout
以这种方式生成的公共PEM文件有效。 是否可能我创建的预告片(使用-x590
命令)与rsa
命令的输出完全不同?
答案 0 :(得分:7)
假设您已使用命令
创建了DER格式的证书openssl req -x509 -out certificate.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650
然后,可以使用命令
来提取PEM格式的公钥openssl x509 -inform der -in certificate.der -pubkey -noout > public_key.pem
-inform
定义证书格式(默认为PEM),-noout
抑制除请求-pubkey
之外的输出。
与PEM格式的证书相同的操作:
openssl x509 -in certificate.pem -pubkey -noout > public_key.pem