zoukankan      html  css  js  c++  java
  • OpenSSL的证书格式转换

    PEM格式

    PEM格式是证书颁发机构颁发证书的最常见格式.PEM证书通常具有扩展名,例如.pem,.crt,.cer和.key。它们是Base64编码的ASCII文件,包含“----- BEGIN CERTIFICATE -----”和“----- END CERTIFICATE -----”语句。服务器证书,中间证书和私钥都可以放入PEM格式。

    Apache和其他类似服务器使用PEM格式证书。几个PEM证书,甚至私钥,可以包含在一个文件中,一个在另一个文件之下,但是大多数平台(例如Apache)希望证书和私钥位于单独的文件中。

    DER格式

    DER格式只是证书的二进制形式,而不是ASCII PEM格式。它有时会有.der的文件扩展名,但它的文件扩展名通常是.cer所以判断DER .cer文件和PEM .cer文件之间区别的唯一方法是在文本编辑器中打开它并查找BEGIN / END语句。所有类型的证书和私钥都可以用DER格式编码。DER通常与Java平台一起使用。SSL转换器只能将证书转换为DER格式。如果您需要将私钥转换为DER,请使用此页面上OpenSSL命令

    PKCS#7 / P7B格式

    PKCS#7或P7B格式通常以Base64 ASCII格式存储,文件扩展名为.p7b或.p7c。P7B证书包含“----- BEGIN PKCS7 -----”和“----- END PKCS7 -----”语句。P7B文件仅包含证书和链证书,而不包含私钥。多个平台支持P7B文件,包括Microsoft Windows和Java Tomcat。

    PKCS#12 / PFX格式

    PKCS#12或PFX格式是二进制格式,用于将服务器证书,任何中间证书和私钥存储在一个可加密文件中。PFX文件通常具有扩展名,例如.pfx和.p12。PFX文件通常在Windows计算机上用于导入和导出证书和私钥。

    将PFX文件转换为PEM格式时,OpenSSL会将所有证书和私钥放入一个文件中。您需要在文本编辑器中打开该文件,并将每个证书和私钥(包括BEGIN / END语句)复制到其各自的文本文件中,并将它们分别保存为certificate.cer,CACert.cer和privateKey.key。

    OpenSSL命令在您的计算机上转换SSL证书

    强烈建议您使用OpenSSL在自己的计算机上转换为.pfx文件,以便在那里保留私钥。使用以下OpenSSL命令将SSL证书转换为您自己计算机上的不同格式:

    OpenSSL转换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

    OpenSSL转换DER

    将DER转换为PEM

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

    OpenSSL转换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

    OpenSSL转换PFX

    将PFX转换为PEM

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

     将PFX文件转换为PEM格式时,OpenSSL会将所有证书和私钥放入一个文件中。您需要在文本编辑器中打开该文件,并将每个证书和私钥(包括BEGIN / END语句)复制到其各自的文本文件中,并将它们分别保存为certificate.cer,CACert.cer和privateKey.key。

    如果需要将Java Keystore文件转换为其他格式,通常可以更轻松地创建新的私钥和证书,但可以将Java Keystore转换为PEM格式

  • 相关阅读:
    121. Best Time to Buy and Sell Stock
    70. Climbing Stairs
    647. Palindromic Substrings
    609. Find Duplicate File in System
    583. Delete Operation for Two Strings
    556 Next Greater Element III
    553. Optimal Division
    539. Minimum Time Difference
    537. Complex Number Multiplication
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/masahiro/p/15219332.html
Copyright © 2011-2022 走看看