一读通透 | 轻松掌握X.509数字证书全解析,附赠权威详解资料!

我们常见的.pem.pfx 后缀的文件就是X.509证书,X.509是最广泛使用的数字证书格式,由X.509标准定义,用于身份验证和加密。在互联网上,如HTTPS、SSL/TLS等安全通信中,服务器通常使用X.509证书来证明其身份。你真得了解X.509证书么?它有哪些字段?分别代表着什么含义?它又有哪些存储格式呢?

1. 概念

X.509证书是一种遵循X.509标准(RFC 5280)的数字证书,用于验证网络通信中的实体身份。它包含了公钥、证书认证机构(CA)信息、有效期、序列号以及证书持有者的其他元数据。X.509证书广泛用于HTTPS、S/MIME、SSL/TLS等安全协议中,以确保通信双方的身份真实性。

X.509证书和证书是信息安全领域中常用的两种概念,它们之间有着紧密的联系(都用于身份验证和数据加密,可增强网络通信的安全性),但也存在明显区别。X.509证书是一种具体类型的证书,遵循特定的标准化格式。证书这个术语更通用,泛指任何用来证明身份或所有权的电子文件,不仅仅局限于X.509标准。除了X.509证书,还有其他类型的证书,如PGP证书(用于PGP加密系统),用于验证密钥的归属。

接下来介绍 X.509证书会使用到一些常用术语。这些术语比较基础,大家看到文字描述就能理解。若想了解更多关于X.509证书的细节,可以参阅如下标准文档(访问密码: 6277):

RFC 5280
GB/T 20518-2018 信息安全技术 公钥基础设施 数字证书格式

1.1. 证书认证机构(CA)

CA(Certifcate Authority)是指受用户信任,负责创建和分配证书的权威机构。证书认证机构也可以为用户创建密钥。比如大家经常访问的百度网站的https证书就是由 GlobalSign 认证机构颁发的。
百度https证书
一些知名的CA机构如下:

  • VeriSign:美国的一家领先提供商,提供SSL/TLS证书和企业验证服务,如DigiCert和GeoTrust。

  • Thawte:曾是全球最大的SSL证书提供商之一,2000年初 VeriSign 以 5.76亿美元收购 Thawte,Thawte 成为了 VeriSign 的全资子公司。

  • Symantec:提供全面的网络安全解决方案,包括SSL/TLS证书(现名DigiCert)。

  • Comodo:以其经济实惠的SSL证书而知名,广泛用于中小企业和个人网站。

  • GlobalSign:提供数字证书和安全服务,支持各种行业标准。

  • Let’s Encrypt:非营利组织,提供免费的SSL/TLS证书,促进互联网的加密使用。

  • DigiCert:通过并购扩张,提供高级别的安全证书和服务。

  • Cisco Web Security Academy:专注于企业网络安全的证书,如CCNA Cybersecurity等。

这些机构通常会颁发包括SSL/TLS(如HTTPS)、EV SSL(扩展验证,用于增强网站的信任度)、代码签名(验证软件开发者身份)等多种类型的证书。每个证书都有其适用场景和特点,选择时要考虑安全性、成本和合规性等因素。

1.2. 自签名证书

信任来源于证书本身的证书就是自签名证书。自签名证书可以是CA证书,也可以是叶证书。自签名并不一定意味着证书不如CA签名的证书可信,它只是意味着你直接信任证书,而不是信任签名实体。

1.3. 根证书

证书链真相的最终来源。根证书是自签名的,这意味着他们信任自己,也可以签署其他证书。因为它们是其他应用程序信任的根源,所以通常对如何存储和轮换它们有严格的要求。

根CA是一种签名CA。

1.4. 证书链

证书链实质上是信任链,从根CA到叶子证书,在中间有一定数量的CA。

举个简单例子,信任链就像当你找到工作时,因为你哥哥室友的表弟在你申请工作时为你担保。此案例中信任链是这样的:表弟 [信任] 室友 [信任] 兄弟 [信任] 你。这里你就是要求被信任的叶子证书,你哥哥室友的表弟就是根CA

1.5. PKI

PKI(Public Key Infrastructure)即公钥基础设施,是处理托管CA和签署证书的机器,提供鉴别、加密、完整性和不可否认性服务。

2. 证书字段

X.509 证书标准有三个增量版本,每个后续版本都向标准添加了证书字段:

  • 1988 年发布的版本 1 (v1),遵循证书的初始 X.509 标准。
  • 1993 年发布的版本 2 (v2),向版本 1 中包含的字段添加了两个字段。
  • 2008 年发布的版本 3 (v3),即 X.509 标准的当前版本。 此版本添加了对证书扩展名的支持。

下表中列出了证书的字段简单介绍,方便大家对其有一个基本认识,若想了解更多有关证书字段和证书扩展名的详细信息(包括数据类型、约束和其他详细信息),可参阅 RFC 5280 规范。

名称说明引入版本
版本标识证书版本号的整数。v1
序列号一个整数,表示证书颁发机构 (CA) 颁发的每个证书的唯一编号。v1
SignatureCA 用来签署证书的加密算法的标识符。 该值包括算法的标识符和该算法使用的任何可选参数(如果适用)。v1
颁发者发证 CA 的证书的可分辨名称 (DN)。v1
有效期证书有效的非独占时间段。v1
主题证书使用者的可分辨名称 (DN)。v1
使用者公钥信息证书使用者拥有的公钥。v1
颁发者唯一 ID表示发证 CA 的唯一标识符,由发证 CA 定义。此字段很少使用v2
使用者唯一 ID辨识证书使用者的唯一标识符,由发证 CA 定义。此字段很少使用v2
证书扩展标准和 Internet 特定证书扩展名的集合。 有关可用于 X.509 v3 证书的证书扩展名的详细信息,请参阅证书扩展名。v3

X.509 v3 中引入的证书扩展提供了将更多属性与用户或公钥关联的方法,以及管理证书颁发机构之间的关系的方法,扩展字段介绍如下:

在这里插入图片描述
X.509 证书样例:聪明的你一定能看出如下证书是哪个版本的

mp.weixin.qq.com域名的证书

3. 证书格式

日常中可采用多种格式保存证书,如用隐私增强邮件 (PEM) 和个人信息交换 (PFX) 格式,下表描述了证书的常用文件格式及其说明。

格式说明
二进制证书DER格式的证书文件通常具有.der 或 .cer 后缀,DER(Distinguished Encoding Rules,显式编码规则)ASN.1 编码的原始格式二进制证书,广泛用于数字证书的编码和传输。
ASCII PEM 证书PEM (Privacy Enhanced Mail,隐私增强邮件) 证书 (.pem) 文件包含以-----BEGIN CERTIFICATE-----开头且以 -----END CERTIFICATE----- 结尾的 Base64 编码证书。
ASCII PEM 密钥包含 Base64 编码的 DER 密钥,可以选择包含有关用于密码保护的算法的其他元数据。
PKCS #7 证书一种用于传输已签名或已加密数据的格式。 它可以包括整个证书链。 RFC 2315 定义此格式。此格式只包含证书文件,不含私钥信息。
PKCS #8 密钥私钥存储的格式。 RFC 5208 定义此格式。
PKCS #12 密钥和证书一种复杂的格式,可以存储和保护密钥和整个证书链。 它通常与 .p12 或 .pfx 扩展名一起使用。 PKCS #12 等同于 PFX 格式。 RFC 7292 定义此格式。此格式的证书包含了私钥信息。

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

X.509 证书样例(pem格式):

-----BEGIN CERTIFICATE-----
MIIHFTCCBf2gAwIBAgIQDpLsxHpKWwGypoFVSN8UOjANBgkqhkiG9w0BAQsFADBM
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSYwJAYDVQQDEx1E
aWdpQ2VydCBTZWN1cmUgU2l0ZSBDTiBDQSBHMzAeFw0yNDAzMTkwMDAwMDBaFw0y
NTA0MTYyMzU5NTlaMIGUMQswCQYDVQQGEwJDTjEbMBkGA1UECBMSR3Vhbmdkb25n
IFByb3ZpbmNlMREwDwYDVQQHEwhTaGVuemhlbjE6MDgGA1UEChMxU2hlbnpoZW4g
VGVuY2VudCBDb21wdXRlciBTeXN0ZW1zIENvbXBhbnkgTGltaXRlZDEZMBcGA1UE
AxMQbXAud2VpeGluLnFxLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBANxO6WinPa7FSfoQsDzrySWpMOdYkk3TUlXfXQOCxrcrTbPxhLAk8sFJG0qV
QaGB0oLNHPt2IyZVbgluIDLzJedo/MMmW5qNlmNw2dUdd2duTjHF7ay38Y+ynY16
eeXde4GjjYSQgVmOGOYdjRW8h/0KGToxzY6SgFUWL7qgjLgq4epjlw32rzZwsCPy
qvElWOXdv95cGFdyu+Yi8x6EZdE80p+/FsQNj9WOQQYhJU/IkFLWLRMAa7LV1wWQ
Hq0CmoenU599sNh98Nd+Xv7B7uAqXPaoELSz3raR/Jef7F+8ztpalbxkCowD6X39
geHA0yy2lJ2Hh1glcJmzD+ymbLsCAwEAAaOCA6gwggOkMB8GA1UdIwQYMBaAFETZ
yEozjtNSjaeSlGEfmsilt+zLMB0GA1UdDgQWBBQGD/I/ZxIkZpd1bvJm85YFkseX
zDCBowYDVR0RBIGbMIGYghBtcC53ZWl4aW4ucXEuY29tghMqLmFwaS53ZWl4aW4u
cXEuY29tghIqLm1wLndlaXhpbi5xcS5jb22CFCoub3Blbi53ZWl4aW4ucXEuY29t
ggwqLndlY2hhdC5jb22CDyoud2VpeGluLnFxLmNvbYITbXAud2VpeGluYnJpZGdl
LmNvbYIRc2VydmljZXdlY2hhdC5jb20wPgYDVR0gBDcwNTAzBgZngQwBAgIwKTAn
BggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1UdDwEB
/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwRAYDVR0fBD0w
OzA5oDegNYYzaHR0cDovL2NybC5kaWdpY2VydC5jbi9EaWdpQ2VydFNlY3VyZVNp
dGVDTkNBRzMuY3JsMHgGCCsGAQUFBwEBBGwwajAjBggrBgEFBQcwAYYXaHR0cDov
L29jc3AuZGlnaWNlcnQuY24wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRp
Z2ljZXJ0LmNuL0RpZ2lDZXJ0U2VjdXJlU2l0ZUNOQ0FHMy5jcnQwDAYDVR0TAQH/
BAIwADCCAX0GCisGAQQB1nkCBAIEggFtBIIBaQFnAHUATnWjJ1yaEMM4W2zU3z9S
6x3w4I4bjWnAsfpksWKaOd8AAAGOVLbAWAAABAMARjBEAiB0AuYhNyhwlHQd6WFo
a9GfsU/bmlJn7r6FHLAj/wGsgQIgfErmXH1IwsbDVgF6maNb/fT3MtTLMYW2gtZM
sVlXPxwAdgB9WR4S4XgqexxhZ3xe/fjQh1wUoE6VnrkDL9kOjC55uAAAAY5UtsBb
AAAEAwBHMEUCIQCHHQPM7H33iggYOXXVILeCcWJcPAc1Q5AHxMvvf2uBGQIgWmtG
bq/U1pvGR6Ese/9iEcfilTWCZuFtQ1TAYdXks4cAdgDm0jFjQHeMwRBBBtdxuc7B
0kD2loSG+7qHMh39HjeOUAAAAY5UtsBvAAAEAwBHMEUCIQCiNqMPK5nyOYjUEZjs
IZo8ffdJ3fEUjcKJLgBJOpxwigIgNDtgtz6rgTB6Nm7RCLA5hdvJw0zg3Vf7aNDL
YHh0Ri0wDQYJKoZIhvcNAQELBQADggEBAEDzI6foyjza6cAPqGNDg0fE0nzYrFm/
SrAuMGGUTmY4Xdpf9pHFTvET7nCJTEv4RDoHauQIwuYszo0xCcpNWaDtsYOELGi3
x51t8VLBKnduOqDavBMmWdJA/srLZAAVbTvy4RQkSOCazRsmEIkxZ+DDqnIdtsh2
QB4Fwi4w1i+3jO4uj5GDbOBKljfsQflXJH70AFF4GNiQIPTftqadX+CGjaKELw3U
BlbGQfaA4uH8ejgXG4Kz7UBLd+ARTTz9C/1v/NBDKriym0jBpe7ElwSWYeNXogDD
Vati/dLM+cpYXhrd1XG41f5REuceehlX4qsJ7PbNrbU2u7lLW/36uPc=
-----END CERTIFICATE-----

看看你能否找到以上证书的有效期吧!欢迎在评论区留下你的答案。

提示:以上字符串为微信域名mp.weixin.qq.com的证书,将以上文本复制到文本文件并以.pem为后缀,在Window或MacOS即可以双击打开查看证书详情。

若想了解更多关于X.509证书的细节,可以参阅如下标准文档(访问密码: 6277):

4. 参考链接


在这里插入图片描述

计算机视觉数据集清单是个列出了常用于计算机视觉相关任务的数据集的清单。这些数据集包含了大量的图像和其相应的标签信息,可以用于模型的训练和测试。 随着深度学习技术的迅猛发展,TensorFlow作为个流行的开源深度学习框架,提供了丰富的工具和库来支持计算机视觉任务。并且,TensorFlow还提供了许多预训练的模型,可以直接用于各种计算机视觉任务,如图像分类、目标检测和图像分割等。 附赠TensorFlow模型训练和使用教程可以帮助用户更好地理解和应用这些数据集和模型。通过教程,用户可以学习如何使用TensorFlow进行数据集的预处理、模型的构建和训练、以及模型的评估和使用。 教程通常包括以下内容: 1. 数据集介绍:介绍数据集的特点、使用场景和数据结构等。 2. 数据预处理:教导如何加载和处理数据集,包括数据的取、数据增强和数据划分等。 3. 模型构建:介绍如何使用TensorFlow构建适用于特定任务的模型,例如卷积神经网络(CNN)用于图像分类或目标检测。 4. 模型训练:讲解如何使用TensorFlow训练模型,包括定义损失函数、选择优化算法和设置超参数等。 5. 模型评估和使用:介绍如何评估训练好的模型,并给出使用模型进行预测和推理的方法和示例。 通过这些教程,用户可以学会使用TensorFlow进行从零开始的模型训练,并且能够针对不同的计算机视觉任务,选择合适的数据集和模型进行实验和应用。这将帮助用户更好地理解计算机视觉任务的实际应用,并提升相关技能和知识。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈安全

点赞收藏也是赞赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值