来自 OpenSSL 1.0 更改日志:
将 PKCS#8 设置为默认的私钥写入格式, 取代传统格式。 这种形式是标准化的,更加安全,并且不包括隐含的 MD5 依赖项。 [Steve Henson]
然而,我需要以前的传统格式的私钥文件。 是否可以将 pem 文件从 PKCS#8 转换为传统格式(使用 OpenSSL.exe 应用程序)?
非常感谢!
来自 OpenSSL 1.0 更改日志:
将 PKCS#8 设置为默认的私钥写入格式, 取代传统格式。 这种形式是标准化的,更加安全,并且不包括隐含的 MD5 依赖项。 [Steve Henson]
然而,我需要以前的传统格式的私钥文件。 是否可以将 pem 文件从 PKCS#8 转换为传统格式(使用 OpenSSL.exe 应用程序)?
非常感谢!
我成功地用这种方式解决了这个请求:
openssl req -configconfigfile.cfg -newkey rsa:2048 -keyout newkey.pem -out newreq.pem 365
然后,我将它转换为RSA格式:
openssl rsa -in newkey.pem -out newkey.pem
希望这能帮助到某些人。
$ cat pkcs1.pem
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
$ openssl pkey -in pkcs1.pem
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
$ cat pkcs8.pem
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
$ openssl pkey -in pkcs8.pem -traditional
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-traditional
对于 PKCS8->RSA 很有帮助。谢谢! - undefinedRSA私钥
从PKCS#1转换为PKCS#8:
openssl pkcs8 -topk8 -inform pem -in private_pkcs1.pem -outform pem -nocrypt \
-out private_pkcs8.pem
openssl rsa -in private_pkcs8.pem -out private_pkcs1.pem
RSA公钥
从PKCS#8转换为PKCS#1:
openssl rsa -pubin -in public_pkcs8.pem -RSAPublicKey_out -out public_pkcs1.pem
将 PKCS#1 转换为 PKCS#8:
openssl rsa -RSAPublicKey_in -in public_pkcs1.pem -pubout -out public_pkcs8.pem
PKCS#1
时,需要添加-traditional
参数。 - Robin A. Meade
openssl pkcs8 -topk8 -inform pem -in file.key -outform pem -nocrypt -out file.pem
。 - subtleseeker