从X.509证书中提取PEM公钥

leg*_*cks 6 encryption openssl rsa pem der

我创建了我认为是包含公钥DER文件的证书,但我现在需要PEM格式的公钥用于不同的平台.目的是使用相同的公钥.

在iOS中使用RSA加密创建它并使用PHP解密它:

openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650
Run Code Online (Sandbox Code Playgroud)

我有一个正在使用的公钥(public_key.der),无法更改它.但是我现在需要PEM版本的公钥

public_key.pem
Run Code Online (Sandbox Code Playgroud)

如何以这种方式从DER转换为PEM?

注意:如果我使用以下方法创建了我的密钥对,那么事情会很简单.我可以提取公钥PEM文件:

openssl genrsa -out rsa.pem 1024 
openssl rsa -in rsa.pem -pubout
Run Code Online (Sandbox Code Playgroud)

以这种方式生成的公共PEM文件有效.是否有可能我创建的预告片(使用-x590命令)与命令输出完全不同的生物rsa

div*_*nov 8

假设您已使用该命令创建了DER格式的证书

openssl req -x509 -out certificate.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650
Run Code Online (Sandbox Code Playgroud)

然后,可以使用命令来提取PEM格式的公钥

openssl x509 -inform der -in certificate.der -pubkey -noout > public_key.pem
Run Code Online (Sandbox Code Playgroud)

-inform定义证书格式(默认为PEM)并-noout禁止除请求之外的输出-pubkey.

与PEM格式的证书相同的操作:

openssl x509 -in certificate.pem -pubkey -noout > public_key.pem
Run Code Online (Sandbox Code Playgroud)