zoukankan      html  css  js  c++  java
  • 数字证书常见格式整理

    数字证书常见标准

    • 符合PKI ITU-T X509标准,传统标准(.DER .PEM .CER .CRT)
    • 符合PKCS#7 加密消息语法标准(.P7B .P7C .SPC .P7R)
    • 符合PKCS#10 证书请求标准(.p10)
    • 符合PKCS#12 个人信息交换标准(.pfx *.p12)
      X509是数字证书的基本规范,而P7和P12则是两个实现规范,P7用于数字信封,P12则是带有私钥的证书实现规范。

    x509

    基本的证书格式,只包含公钥。
    x509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。

    PKCS#7

    Public Key Cryptography Standards #7。
    PKCS#7一般把证书分成两个文件,一个公钥、一个私钥,有PEM和DER两种编码方式。PEM比较多见,是纯文本的,一般用于分发公钥,看到的是一串可见的字符串,通常以.crt,.cer,.key为文件后缀。DER是二进制编码。
    PKCS#7一般主要用来做数字信封。

    PKCS#10

    证书请求语法。

    PKCS#12

    Public Key Cryptography Standards #12。
    一种文件打包格式,为存储和发布用户和服务器私钥、公钥和证书指定了一个可移植的格式,是一种二进制格式,通常以.pfx或.p12为文件后缀名。
    使用OpenSSL的pkcs12命令可以创建、解析和读取这些文件。
    P12是把证书压成一个文件,xxx.pfx 。主要是考虑分发证书,私钥是要绝对保密的,不能随便以文本方式散播。所以P7格式不适合分发。.pfx中可以加密码保护,所以相对安全些。

    PKCS系列标准

    实际上PKCS#7、PKCS#10、PKCS#12都是PKCS系列标准的一部分。相互之间并不是替代的关系,而是对不同使用场景的定义。

    证书编码格式

    PEM和DER两种编码格式。

    PEM

    Privacy Enhanced Mail
    查看内容,以"-----BEGIN..."开头,以"-----END..."结尾。
    查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -noout
    Apache和*NIX服务器偏向于使用这种编码格式。

    DER

    Distinguished Encoding Rules
    打开看是二进制格式,不可读。
    查看DER格式证书的信息:openssl x509 -in certificate.der -inform der -text -noout
    Java和Windows服务器偏向于使用这种编码格式。

    各种后缀含义

    文件的内容和后缀没有必然的关系,但是一般使用这些后缀来表示这是什么文件。

    JKS

    Java Key Store(JKS)。

    CSR

    证书请求文件(Certificate Signing Request)。
    这个并不是证书,而是向权威证书颁发机构获得签名证书的申请,其核心内容是一个公钥(当然还附带了一些别的个人信息)。
    查看的办法:openssl req -noout -text -in my.csr,DER格式的话加上-inform der。

    CER

    一般指使用DER格式的证书。

    CRT

    证书文件。可以是PEM格式。

    KEY

    通常用来存放一个公钥或者私钥。
    查看KEY的办法:openssl rsa -in mykey.key -text -noout
    如果是DER格式的话,同理应该这样了:openssl rsa -in mykey.key -text -noout -inform der
    这是使用RSA算法生成的key这么查看,DSA算法生成的使用dsa参数。

    CRL

    证书吊销列表 (Certification Revocation List),是一种包含撤销的证书列表的签名数据结构。

  • 相关阅读:
    17.1.2.1 Advantages and Disadvantages of Statement-Based and Row-Based Replication
    17.1.2 Replication Formats
    Setting the Master Configuration on the Slave
    17.1.1.9 Introducing Additional Slaves to an Existing Replication Environment
    17.1.1.8 Setting Up Replication with Existing Data
    17.1.1.7 Setting Up Replication with New Master and Slaves
    17.1.1.6 Creating a Data Snapshot Using Raw Data Files
    列出display的值,并说明它们的作用
    CSS设置DIV居中
    CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?
  • 原文地址:https://www.cnblogs.com/cuimiemie/p/6442685.html
Copyright © 2011-2022 走看看