首页 > 解决方案 > 来自 PRIVATE KEY 的 Genearte ENCRYPTED PRIVATE KEY

问题描述

我从 DigiCert 获得了 .key 和 .crt 文件。

我的 xyz_com.key 文件的内容是 PRIVATE KEY。

head xyz_com.key -n2
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDqFD0YmmeKyVbg

在此之前,我使用的是自签名证书,使用以下命令生成。

openssl req -new -newkey rsa:2048 -x509 -keyout ca_cert.key -out ca_cert -days 3650 -passin "pass:abcde" -passout "pass:abcde" -subj '/C=xy/ST=xyz/L=xyz/O=xyz/CN=xyz.com/emailAddress=f@g.h' -passout "pass:abcde"

我的 ca_cert.key 文件的内容是 PRIVATE KEY。

head ca_cert.key but  -n2
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQITNXPGHEofWsCAggA

所以自签名密钥文件的内容是 ENCRYPTED PRIVATE KEY,而 DigiCerts 密钥文件的内容是 PRIVATE KEY。我的应用程序在使用 ca_cert.key 时工作正常,但与 xyz_com.key 不一样

有没有办法将 PRIVATE KEY 转换为 ENCRYPTED PRIVATE KEY ?

标签: opensslself-signedself-signed-certificatedigicert

解决方案


是的。以下命令应该这样做:

$ openssl pkcs8 -in mykey.pem -out myencryptedkey.pem -topk8

推荐阅读