zoukankan      html  css  js  c++  java
  • 证书格式简介及不同格式之间的转换方式

    1.证书格式

    PEM 格式

    PEM格式通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, and .key。内容为Base64编码的ASCII码文件,有类似"-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----"的头尾标记。服务器认证证书,中级认证证书和私钥都可以储存为PEM格式(认证证书其实就是公钥)。Apache和类似的服务器使用PEM格式证书。

    DER 格式

    DER格式与PEM不同之处在于其使用二进制而不是Base64编码的ASCII。扩展名为.der,但也经常使用.cer用作扩展名,所有类型的认证证书和私钥都可以存储为DER格式。Java使其典型使用平台。

    PKCS#7/P7B 格式

    PKCS#7 或 P7B格式通常以Base64的格式存储,扩展名为.p7b 或 .p7c,有类似BEGIN PKCS7-----" 和 "-----END PKCS7-----"的头尾标记。PKCS#7 或 P7B只能存储认证证书或证书路径中的证书(就是存储认证证书链,本级,上级,到根级都存到一个文件中)。不能存储私钥,Windows和Tomcat都支持这种格式。

    PKCS#12/PFX 格式

    PKCS#12 或 PFX格式是以加密的二进制形式存储服务器认证证书,中级认证证书和私钥。扩展名为.pfx 和 .p12,PXF通常用于Windows中导入导出认证证书和私钥。

    2.转换方式

    可以使用OpenSSL命令行工具在不同证书格式之间的转换

    PEM to DER

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

    PEM to P7B

    openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

    PEM to PFX

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

    DER to PEM

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

    P7B to PEM

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

    PFX to PEM

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

    PXF转PEM后certificate.cer文件包含认证证书和私钥,需要把它们分开存储才能使用。

  • 相关阅读:
    拓扑排序学习
    快速排序+归并排序
    邻接表的两种实现(链表和数组模拟)
    一起学Windows Phone7开发(十四.一 Phone Task)
    一起学Windows Phone7开发(十四.四 Web Task)
    一起学Windows Phone7开发(十四.三 Multimedia Task)
    一起学Windows Phone7开发(十五. Device)
    一起学Windows Phone7开发(十四.五 Market Task)
    深入学习Windows Phone7(三. Visual State Manager)
    深入学习Windows Phone7(一. Reactive Extension)
  • 原文地址:https://www.cnblogs.com/adylee/p/3613758.html
Copyright © 2011-2022 走看看