返回值中有
-----BEGIN CERTIFICATE----- MIIDVjCCAj6gAwIBAgIJAJCrWqXqdcxuMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNV BAYTAkNOMQswCQYDVQQIEwJHRDELMAkGA1UEBxMCU1oxDzANB............... -----END CERTIFICATE-----返回值中有
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA12m8jif26EcPJKjDhs5VaqKunknnnnmD54u0C9yJU2AiD+AH Wd1uEuE5IrUhO2MMFQ5SIqRIag1R7YUd................ -----END RSA PRIVATE KEY-----PFX也称为PKCS#12(Public Key Cryptography Standards #12),常见的扩展名是: .pfx 和 .p12 “KEY文件 + CRT文件” = PFX文件 也就是说,这个文件里既有公钥(证书)也有私钥 如果想查看“CERTIFICATE”或者是“PRIVATE KEY”,需要将公钥和私钥从此文件中分离
1、提取密钥对
openssl pkcs12 -in outgoing.CertwithKey.pkcs12 -nocerts -nodes -out outgoing.key2、从密钥对中提取私钥
openssl rsa -in outgoing.keypair -out outgoing_pri.key3、从密钥对中提取公钥
openssl rsa -in outgoing.keypair -pubout -out outgoing_pub.key4、查看私钥
openssl rsa -text -in outgoing_pri.key其中有个比较重要的返回值,与上面提到的client.key相同
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA12m8jif26EcPJKjDhs5VaqKunknnnnmD54u0C9yJU2AiD+AH Wd1uEuE5IrUhO2MMFQ5SIqRIag1R7YUdmD1............. -----END RSA PRIVATE KEY-----5、查看公钥
写到这里,不知道怎么回事,之前好使的指令现在突然不好使了。所以如果仅仅是想看公钥的码,可以直接查看pkcs12文件
openssl pkcs12 -in outgoing.CertwithKey.pkcs12上面的那个指令在运行过程中让我填写什么鬼东西,我没填,直接回车了,不知道会不会影响outgoing.CertwithKey.pkcs12文件本身 有时间要研究一下
返回的码
-----BEGIN CERTIFICATE----- MIIDVjCCAj6gAwIBAgIJAJCrWqXqdcxuMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNV BAYTAkNOMQswCQYDVQQIEwJHRDELMAkG -----END CERTIFICATE-----本来我是打算使用openssl x509 -inform der -in client.crt -out client.pem,但是总是报错 unable to load certificate 139835259188888:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1220: 139835259188888:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:386:Type=X509 我怀疑我用的这个client.crt本身就是pem格式的,不是der格式的
参考文章 https://www.cnblogs.com/274914765qq/p/4837502.html《openssl 证书操作命令》 https://blog.csdn.net/wangshfa/article/details/9110383《openssl从PFX导出私钥、公钥》 https://www.jianshu.com/p/d049555ce0c7 《关于https crt证书转换为cer》
