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

  • 相关阅读:
    7.6 C程序的存储空间布局
    7.10 setjmp和longjmp函数
    7.2 main函数
    7.8 存储器分配
    7.5 环境表
    7.1 进程环境 引言
    7.4 命令行参数
    7.3 进程终止
    电影名扬四海主题歌节奏强动感十足的经典歌曲!
    随便写点人生感悟
  • 原文地址:https://www.cnblogs.com/masahiro/p/15219332.html
Copyright © 2011-2022 走看看