openssl使用

    xiaoxiao2022-07-13  156

    查看证书信息

    crt格式
    openssl x509 -in client.crt -text

    返回值中有

    -----BEGIN CERTIFICATE----- MIIDVjCCAj6gAwIBAgIJAJCrWqXqdcxuMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNV BAYTAkNOMQswCQYDVQQIEwJHRDELMAkGA1UEBxMCU1oxDzANB............... -----END CERTIFICATE-----
    key格式
    openssl rsa -text -in client.key

    返回值中有

    -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA12m8jif26EcPJKjDhs5VaqKunknnnnmD54u0C9yJU2AiD+AH Wd1uEuE5IrUhO2MMFQ5SIqRIag1R7YUd................ -----END RSA PRIVATE KEY-----
    pkcs12格式

    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.key

    2、从密钥对中提取私钥

    openssl rsa -in outgoing.keypair -out outgoing_pri.key

    3、从密钥对中提取公钥

    openssl rsa -in outgoing.keypair -pubout -out outgoing_pub.key

    4、查看私钥

    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-----

    证书格式转换

    crt格式转换成pem格式
    openssl x509 -in client.crt -out client.pem

    本来我是打算使用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格式的

    crt格式转换成cer格式
    openssl x509 -in 证书名.crt -out 转换成cer的证书名.cer -outform 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》

    最新回复(0)