第 2 章 管理证书
摘要
TLS 身份验证使用 X.509 证书,它是验证应用程序对象的通用安全可靠的方法。您可以创建 X.509 证书来识别您的红帽 Fuse 应用程序。
2.1. 什么是 X.509 证书?
证书的角色
公钥的完整性
安全应用程序的身份验证取决于应用程序的证书中的公钥值的完整性。如果 impostor 将公钥替换为其自己的公钥,它可以模拟真正的应用并获得安全数据的访问权限。
要防止这种攻击,所有证书必须由 证书颁发机构 (CA)签名。CA 是一个可信节点,用于确认证书中的公钥值的完整性。
数字签名
CA 通过在证书中添加 数字签名 来签署证书。数字签名是一个使用 CA 私钥编码的消息。通过为 CA 分发证书,为应用程序提供 CA 的公钥。应用程序通过用 CA 的公钥解码 CA 的数字签名来验证证书是否有效。
提供的演示证书是自签名证书。这些证书不安全,因为任何人都可以访问其私钥。要保护您的系统,必须创建由可信 CA 签名的新证书。
X.509 证书的内容
X.509 证书包含有关证书主体和证书签发者(签发证书的 CA)的信息。证书以 Abstract syntax Notation One(ASN.1)形式编码,这是描述可以在网络上发送或接收的消息的标准语法。
证书的角色是将身份与公钥值相关联。更多详情,证书包括:
- 标识证书所有者的 主体可分辨名称(DN)。
- 与主题关联的 公钥。
- X.509 版本信息。
- 唯一标识证书 的序列号。
- 标识发布证书的 CA 的 签发者 DN。
- 签发者的数字签名。
- 用于为证书签名的算法相关的信息。
- 一些可选的 X.509 v.3 扩展 ; 例如,存在可区分 CA 证书和端点证书的扩展。
可识别的名称
DN 是一个通用目的 X.500 标识符,通常在安全上下文中使用。
有关 DN 的详情,请参阅 附录 A, ASN.1 和可辨识名称。