zoukankan      html  css  js  c++  java
  • Https所涉及名词及相关后缀名解释

    HTTPS:

    HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

    SSL:

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

    TLS:

    安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。

    该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

    PKI:

    PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。

    X.509

    X.509是被广泛使用的数字证书标准,是由国际电联电信委员会(ITU-T)为单点登录(SSO-Single Sign-on)和授权管理基础设施(PMI-Privilege Management Infrastructure)制定的PKI标准。

    编码格式

    同样的X.509证书,可能有不同的编码格式,目前有以下两种编码格式.

    PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN..."开头, "-----END..."结尾,内容是BASE64编码.Apache和*NIX服务器偏向于使用这种编码格式

    DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.Java和Windows服务器偏向于使用这种编码格式

    PEM就是在DER的基础上,文件内容多了开头和结尾标志段,并且以BASE64编码

    PKCS:

    全称是 The Public-Key Cryptography Standards (PKCS),是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。

    到1999年底,PKCS已经公布了以下标准:

    PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封。

    PKCS#3:定义Diffie-Hellman密钥交换协议。

    PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息。

    PKCS#6:描述了公钥证书的标准语法,主要描述X.509证书的扩展格式。

    PKCS#7:定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息。

    PKCS#8:描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等。

    PKCS#9:定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型。

    PKCS#10:描述证书请求语法。

    PKCS#11:称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备。

    PKCS#12:描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法。

    PKCS#13:椭圆曲线密码体制标准。

    PKCS#14:伪随机数生成标准。

    PKCS#15:密码令牌信息格式标准。

    常用的有:PKCS#7、PKCS#10、PKCS#12

    后缀:

    PKCS#7 常用的后缀是: .P7B .P7C .SPC

    PKCS#12 常用的后缀有: .P12 .PFX

    X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT

    X.509 PEM 编码(Base64)的后缀是: .PEM .CER .CRT

    CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。

    .cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。

    .pem跟crt/cer的区别是它以Ascii来表示。

    pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式

    p10是证书请求

    p7r是CA对证书请求的回复,只用于导入

    p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

    密钥库文件格式【Keystore】

    格式     :  JKS

    扩展名   :  .jks/.ks

    描述     : 【Java Keystore】密钥库的Java实现版本,provider为SUN

    特点     :  密钥库和私钥用不同的密码进行保护

    格式     :  JCEKS

    扩展名   :  .jce

    描述     : 【JCE Keystore】密钥库的JCE实现版本,provider为SUN JCE

    特点     :  相对于JKS安全级别更高,保护Keystore私钥时采用TripleDES

    格式     :  PKCS12

    扩展名   :  .p12/.pfx

    描述     : 【PKCS #12】个人信息交换语法标准

    特点     :  1、包含私钥、公钥及其证书

             :  2、密钥库和私钥用相同密码进行保护

    格式     :  BKS

    扩展名   :  .bks

    描述     : 【Bouncycastle Keystore】密钥库的BC实现版本,provider为BC

    特点     :  基于JCE实现

    格式     : UBER

    扩展名   : .ubr

    描述     : 【Bouncycastle UBER Keystore】密钥库的BC更安全实现版本,provider为BC

    证书文件格式【Certificate】

    格式          :  DER

    扩展名        :  .cer/.crt/.rsa

    描述          : 【ASN .1 DER】用于存放证书

    特点          :  不含私钥、二进制

    格式          :  PKCS7

    扩展名        :  .p7b/.p7r

    描述          : 【PKCS #7】加密信息语法标准

    特点          :  1、p7b以树状展示证书链,不含私钥

                  :  2、p7r为CA对证书请求签名的回复,只能用于导入

    格式          :  CMS

    扩展名        :  .p7c/.p7m/.p7s

    描述          : 【Cryptographic Message Syntax】

    特点          :    1、p7c只保存证书

                  :    2、p7m:signature with enveloped data

                  :    3、p7s:时间戳签名文件

    格式          :  PEM

    扩展名        :  .pem

    描述          : 【Printable Encoded Message】

    特点          :    1、该编码格式在RFC1421中定义,其实PEM是【Privacy-Enhanced Mail】的简写,但他也同样广泛运用于密钥管理

                  :    2、ASCII文件

                  :    3、一般基于base 64编码

                  :    4. Apache 用到的CA证书链就是PEM格式,它实际上可保存普通多个X509证书(.cer),  将每个证书简单加在一起就可以了

    格式         :  PKCS10

    扩展名       :  .p10/.csr

    描述         : 【PKCS #10】公钥加密标准【Certificate Signing Request】

    特点         :     1、证书签名请求文件

                 :     2、ASCII文件

                 :     3、CA签名后以p7r文件回复

    格式         :  SPC

    扩展名       :  .pvk/.spc

    描述         : 【Software Publishing Certificate】

    特点         :  微软公司特有的双证书文件格式,经常用于代码签名,其中

                 :     1、pvk用于保存私钥

                 :     2、spc用于保存公钥

    注:1.java keytool工具默认为DER编码格式,可使用-rfc参数变成PEM编码格式

           2.似乎大家都是使用.crt表示PEM证书,.cer表示DER证书,使用opensll导出私钥时,用.key后缀,而不是.pem

  • 相关阅读:
    C/C++ 构造函数不能是虚函数
    C/C++ STL迭代器失效
    Linux fork函数
    算法和数据结构 限流算法
    数据库 redis底层实现
    C/C++ 虚析构函数
    万物皆可 Serverless 之使用云函数 SCF 快速部署验证码识别接口
    万物皆可 Serverless 之使用云函数 SCF+COS 免费运营微信公众号
    腾讯云云函数 SCF 日志检索最佳实践
    江娱互动「世界争霸」产品迁移至腾讯云云函数的实践
  • 原文地址:https://www.cnblogs.com/saryli/p/8691783.html
Copyright © 2011-2022 走看看