Certificates
最后更新于
最后更新于
公钥证书是密码学中使用的数字身份证,用于证明某人拥有公钥。它包括密钥的详细信息、所有者的身份(主体)以及来自受信任机构(颁发者)的数字签名。如果软件信任颁发者并且签名有效,则可以与密钥所有者进行安全通信。
在x509证书中,几个字段在确保证书的有效性和安全性方面起着关键作用。以下是这些字段的详细信息:
版本号表示x509格式的版本。
序列号在证书颁发机构(CA)系统中唯一标识证书,主要用于吊销跟踪。
主体字段代表证书的所有者,可以是机器、个人或组织。它包括详细的标识,如:
通用名称(CN):证书涵盖的域。
国家(C)、地点(L)、州或省(ST、S或P)、**组织(O)和组织单位(OU)**提供地理和组织详细信息。
**可分辨名称(DN)**封装了完整的主体标识。
颁发者详细说明了谁验证并签署了证书,包括与CA的主体类似的子字段。
有效期由Not Before和Not After时间戳标记,确保证书在特定日期之前或之后不被使用。
公钥部分对证书的安全性至关重要,指定了公钥的算法、大小和其他技术细节。
x509v3扩展增强了证书的功能,指定了密钥用途、扩展密钥用途、主体替代名称和其他属性,以微调证书的应用。
密钥用途标识公钥的加密应用,如数字签名或密钥加密。
扩展密钥用途进一步缩小了证书的用途范围,例如用于TLS服务器身份验证。
主体替代名称和基本约束定义了证书涵盖的附加主机名以及它是CA还是终端实体证书。
主体密钥标识符和颁发者密钥标识符确保密钥的唯一性和可追溯性。
颁发者信息访问和CRL分发点提供了验证颁发CA的路径和检查证书吊销状态的途径。
CT预证书SCTs提供透明日志,对证书的公共信任至关重要。
证书透明度通过确保SSL证书的签发和存在对域所有者、CA和用户可见,有助于防范与证书相关的威胁。其目标包括:
防止CA未经域所有者知情即为域签发SSL证书。
建立一个用于跟踪错误或恶意签发证书的开放审计系统。
保护用户免受欺诈证书的侵害。
证书日志是由网络服务维护的公开可审计的、仅追加记录证书的记录。这些日志为审计目的提供了加密证据。签发机构和公众都可以向这些日志提交证书或查询以进行验证。虽然确切的日志服务器数量不固定,但全球预计不会超过一千个。这些服务器可以由CA、ISP或任何感兴趣的实体独立管理。
存在不同格式用于存储证书,每种格式都有其自己的用例和兼容性。本摘要涵盖了主要格式并提供了在它们之间转换的指导。
证书最广泛使用的格式。
需要单独的文件用于证书和私钥,编码为Base64 ASCII。
常见扩展名:.cer、.crt、.pem、.key。
主要由Apache和类似服务器使用。
证书的二进制格式。
不包含在PEM文件中找到的“BEGIN/END CERTIFICATE”语句。
常见扩展名:.cer、.der。
通常与Java平台一起使用。
存储在Base64 ASCII中,扩展名为.p7b或.p7c。
仅包含证书和链证书,不包括私钥。
受Microsoft Windows和Java Tomcat支持。
一种二进制格式,将服务器证书、中间证书和私钥封装在一个文件中。
扩展名:.pfx、.p12。
主要用于Windows上的证书导入和导出。
PEM转换对于兼容性至关重要:
x509转为PEM
PEM转DER
DER转PEM
PEM to P7B
PEM转P7B
将PKCS7转换为PEM格式
PFX 转换对于在 Windows 上管理证书至关重要:
PFX 到 PEM
PFX转PKCS#8涉及两个步骤:
将PFX转换为PEM
将PEM转换为PKCS8
P7B转PFX也需要两个命令:
将P7B转换为CER
将CER证书和私钥转换为PFX格式
使用可以轻松构建和自动化工作流程,并由全球最先进的社区工具提供支持。 立即获取访问权限:
证书通常由(CAs)在(PKI)设置中颁发。另一种方法是,用户直接验证彼此的密钥。证书的常见格式是,可以根据RFC 5280中概述的特定需求进行调整。
OCSP(RFC 2560)涉及客户端和响应者共同工作,检查数字公钥证书是否已被吊销,无需下载完整的CRL。这种方法比传统的CRL更高效,后者提供了一份吊销证书序列号列表,但需要下载一个可能很大的文件。CRL可以包含多达512个条目。更多详细信息请参阅。
要查看任何域的证书透明度日志,请访问。
使用轻松构建并通过世界上最先进的社区工具自动化工作流程。 立即获取访问权限:
如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看!
获取
发现,我们的独家
加入 💬 或 或在Twitter上关注我们 🐦 。
通过向和 github仓库提交PR来分享您的黑客技巧。