我在我的电脑上运行这个命令(Openssl 版本:1.0.1):
openssl pkcs8 -inform DER -in file.key -passin pass:12345678a -outform PEM -out key.pem
Run Code Online (Sandbox Code Playgroud)
我得到了这个 key.pem:
-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANCFPVXwO+6qQdOs
...
wVauPfh0cGEf1Kc=
-----END PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
但是当我从我的服务器(Openssl 版本:0.9.8e-fips-rhel5)运行相同的命令时,我得到了这个输出:
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDQhT1V8DvuqkHTrMPFUUAXUl0ihDGoiD86SqK8Z3n19yp1VrJf
...
zHY0343VXnpM2opKwG2E1zgfHfbcLMFWrj34dHBhH9Sn
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
里面的 Base64 是不同的,也是标头:
-----BEGIN PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
第一个对我有用,我怎么能在 0.9.8 版本上获得 -----BEGIN PRIVATE KEY----- 输出?
我在 OpenSsl 补丁说明上找到了这个:
将默认私钥格式更改为 PKCS#8。
所以,这可能是主要问题,我希望有人能帮我解决这个问题,我找不到获取私钥的方法,但找不到 BEGIN RSA PRIVATE KEY 的方法。
谢谢