如何使用OpenSSL通过已有公钥创建.PEM密钥?
使用OpenSSL将现有公钥转换为PEM格式文件
步骤1:确认公钥当前格式
先检查你的公钥内容:
- 如果公钥文本包含
-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----标记,且中间是Base64编码内容,那它本身就是PEM格式,直接将内容保存为后缀为.pem的文件即可(比如public_key.pem)。 - 如果是二进制文件(无上述标记),则属于DER格式,需要转换;如果只有纯Base64编码内容(无标记),需要补全标记或用命令转换。
步骤2:DER格式公钥转PEM
如果你的公钥是DER二进制格式,执行以下命令:
# 标准RSA公钥转换 openssl rsa -pubin -inform der -in your_input_public_key.der -out public_key.pem # 如果是PKCS#8格式的DER公钥,使用这条命令 openssl pkcs8 -pubin -inform der -in your_input_public_key.der -out public_key.pem -nocrypt
替换your_input_public_key.der为你的实际公钥文件名。
步骤3:纯Base64公钥转PEM
如果你的公钥只有纯Base64编码内容(无头部尾部标记),可以手动补全后保存为.pem文件,或者用命令批量处理:
# 写入PEM头部 echo "-----BEGIN PUBLIC KEY-----" > public_key.pem # 追加你的Base64公钥内容 cat your_raw_base64_key.txt >> public_key.pem # 写入PEM尾部 echo "-----END PUBLIC KEY-----" >> public_key.pem
替换your_raw_base64_key.txt为存放纯Base64公钥的文件名。
步骤4:验证PEM文件有效性
转换完成后,用以下命令验证文件是否有效:
openssl rsa -pubin -in public_key.pem -text -noout
如果命令能输出公钥的模数、指数等详细信息,说明转换成功。
内容的提问来源于stack exchange,提问作者Chirag Darji
相关产品推荐
相关产品推荐

