问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数字证书的类型及其格式

创作时间:
作者:
@小白创作中心

数字证书的类型及其格式

引用
简书
1.
https://www.jianshu.com/p/18a57487a9fb

数字证书是网络安全的重要组成部分,用于确保数据传输的安全性和完整性。选择正确的证书格式对于保障数据安全至关重要。本文将详细介绍数字证书的类型及其格式,帮助读者更好地理解这一技术概念。

数字证书可以用于各种目的。它们可以用于安全的网站连接,加密电子邮件消息,或验证用户的身份。选择正确类型的证书格式是必要的,以确保您的数据是安全和可靠的。当涉及到可用的不同类型的证书格式时,选择适合您需求的证书格式是很重要的。选择与您的操作系统兼容的证书格式,并提供您需要的安全级别。

数字证书的类型

有几种不同类型的证书格式可以用于数字证书。最常见的格式是X.509格式,这是一种经常用于Internet安全的标准化格式。其他格式包括PGP、OpenPGP和S/MIME。每一种格式都有自己的优点和缺点,所以选择适合你需要的格式是很重要的。

  • X.509证书: X.509证书是最常见的数字证书类型。这是一个非常有用的工具,它通常用于网站安全和加密电子邮件消息。X.509证书可以由受信任的第三方或公司或组织颁发。

  • PGP和OpenPGP证书: PGP和OpenPGP是另外两种类型的数字证书。PGP是赛门铁克(Symantec)拥有的一种专有格式。OpenPGP是由IETF管理的开放标准。

  • S/MIME是另一种经常用于电子邮件加密的数字证书。

数字证书的格式

仅在X.509证书中就有多种编码格式和扩展。你或许已经看到了.pem、.crt、.p7b、.der、.pfx等扩展名的证书。如果我们问所有的扩展是否都一样,答案即是肯定的也是否定的。所有这些证书都是相同的,但具有不同的编码标准。这一切都取决于你的应用程序或操作系统接受的编码类型。

下面这张图清楚地说明了不同的数字证书类型和格式,以及对应的哪些格式是二进制的,哪些格式是base64编码的。


digital-certificate-type-and-format

PEM (Privacy-Enhanced Mail)

  • 编码(Encoding): 使用ASCII字符进行Base64编码
  • 文件扩展名(File Extensions): .pem、.crt、.cer(可以是PEM或DER)
  • 内容(Content): 封装在“-----BEGIN CERTIFICATE----- ”和“-----END CERTIFICATE-----”标签之间。
  • 用途(Usage): 通常用于web服务器、电子邮件和其他互联网应用程序。它可以包含各种类型的数据,如证书、私钥和证书链。基于文本的格式,具有直接可读的(human-readable)头部和Base64编码的数据内容。
  • 优点:
  • 直接可读的证书头提供了证书的基本信息。
  • 便于人工检查和调试。
  • 被大多数应用程序和服务器广泛使用和支持
  • 缺点:
  • 由于Base64编码,文件比DER更大。
  
-----BEGIN CERTIFICATE-----
QIIDXTCCAkWgAwIBAgIJALH7G0uM34QMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
...
GNa/qnFPI5
-----END CERTIFICATE-----
  

DER (Distinguished Encoding Rules):

  • 编码: 二进制格式
  • 文件扩展名: .der, .cer(可以是PEM或DER)
  • 内容(Content): 将证书编码为二进制格式,不需要额外的文本头或页脚
  • 用法: 通常用于Windows环境和需要二进制格式的场景。
  • 优点:
  • 与PEM相比文件更小。
  • 缺点:
  • 如果没有额外的解码工具,人类是无法读懂的。
  • 不方便人工检查。

PKCS#12: Public Key Cryptography Standards #12(公钥密码标准#12)

  • 编码: 二进制格式
  • 文件扩展名: .p12、.pfx
  • 内容: 可以在一个文件中同时包含私钥和证书。它通常有密码保护。
  • 用途: 用于传输和存储个人身份信息,如证书、私钥等。
  • 优点:
  • 方便传输和存储私钥和证书
  • 支持许多导入/导出证书的申请
  • 缺点:
  • 需要密码才能访问
  • 由于包含私钥,管理更加复杂

PKCS#7: Public Key Cryptography Standards #7(公钥密码标准#7)

  • 编码: 可以是Base64编码(ASCII)或二进制
  • 文件扩展名: .p7b, .p7c
  • 内容: 不包含私钥,但可以包含证书链(certificate chains)和CRLs(Certificate Revocation Lists: 证书吊销列表)
  • 用途: 通常用于共享证书链以及签名或加密的数据。
  • 优点:
  • 用于交换证书链
  • 不包含私钥,侧重于证书及其关系
  • 缺点:
  • 与PEM和PKCS#12相比,在应用程序中没有得到普遍支持直接使用

补充

.cer文件扩展名

  • 编码: 可以是PEM (Base64编码的ASCII)或DER(二进制)
  • 用途: SSL/TLS,电子邮件加密,代码签名(code signing),客户端身份验证。
  • 内容: 包含一个X.509证书,用于公钥分发和实体身份验证(public key distribution and entity authentication)。

.key文件扩展名

  • 编码: .key文件可以以不同的格式编码,包括PEM (Base64编码)和DER(二进制编码)。
  • 内容: 存储私钥,它是非对称加密中密钥对的一部分。
  • 用途: 私钥用于解密用相应的公钥加密的数据,并创建可以用公钥验证的数字签名。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号