证书格式转换

作者: readilen | 来源:发表于2018-04-25 15:04 被阅读15次

    PEM, DER, P7B/PKCS#7, PFX/PKCS#12格式之间如何转换

    不同平台,不同设备需要的证书格式不同,例如Windows服务器使用.pfx文件,Apache服务器使用crt cer文件.

    PEM Format
    最常用的证书格式,文件中包含 ‘—–BEGIN CERTIFICATE—–” 和 “—–END CERTIFICATE—–” 字符串
    一个文件可以包含几个PEM证书或者私钥.

    ASCII文件使用Base64编码
    常用后缀为 .pem, .crt, .cer, .key
    Apache 使用 PEM 证书

    DER Format
    ASCII PEM 格式证书的二进制版本.

    二进制文件
    扩展名 .cer & .der
    DER 一般用于java平台

    P7B/PKCS#7
    包含 “—–BEGIN PKCS—–” & “—–END PKCS7—–” .不含私钥,可以包含证书链.

    Base64 编码
    扩展名 .p7b, .p7c
    几个平台支持. 例如:- Windows OS, Java Tomcat

    PFX/PKCS#12
    用于存储服务器证书,公钥和私钥都包含,而且加密.

    二进制文件
    扩展名 .pfx, .p12
    Windows平台

    PEM
    PEM 转换 DER

    $ openssl x509 -outform der -in certificate.pem -out certificate.der
    

    PEM 转换 P7B

    $ openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CAcert.cer
    

    *** PEM 转换 PFX***

    $ openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CAcert.crt
    

    DER
    \DER 转换 PEM

    $ openssl x509 -inform der -in certificate.cer -out certificate.pem
    

    P7B
    P7B 转换 PEM

    $ openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    

    P7B 转换PFX

    $ openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    $ openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CAcert.cer
    

    PFX
    PFX 转换 PEM

    $ openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
    

    相关文章

      网友评论

        本文标题:证书格式转换

        本文链接:https://www.haomeiwen.com/subject/jqcylftx.html