第 2 章 创建并管理 TLS 密钥和证书


您可以使用 TLS (传输层安全)协议加密在两个系统间传输的通信。此标准将非对称加密与私钥和公钥、数字签名和证书一起使用。

2.1. TLS 证书

TLS (传输层安全)是一种协议,它允许客户端-服务器应用程序安全地传递信息。TLS 使用公钥和私钥对系统来加密在客户端和服务器间传输的通信。TLS 是到 SSL (安全套接字层)的后继协议。

TLS 使用 X.509 证书将主机名或机构等身份绑定到使用数字签名的公共密钥。X.509 是一个定义公钥证书格式的标准。

安全应用程序的身份验证取决于应用证书中公钥值的完整性。如果攻击者用自己的公钥替换了公钥,则它可以模拟真正的应用程序,并获得对安全数据的访问权限。为防止此类攻击,所有证书都必须由证书颁发机构(CA)签名。CA 是一个可信节点,用于确认证书中公钥值的完整性。

CA 通过添加公钥签名并发布证书来签署公钥。数字签名是用 CA 的私钥编码的一条消息。通过分发 CA 的证书,CA 的公钥可供应用程序使用。应用程序使用 CA 的公钥解码 CA 的数字签名来验证证书是否为有效签名。

要让证书由 CA 签名,您必须生成一个公钥,并将其发送给 CA 进行签名。这称为证书签名请求(CSR)。CSR 也包含证书的可分辨名称(DN)。您可以为任一证书提供的 DN 信息可以包括您所在国家的两字母国家代码、州或省、城市或乡镇的全名,您机构的名称、电子邮件地址,也可以为空。许多当前商业 CA 首选 Subject Alternative Name 扩展,并在 CSR 中忽略 DN。

RHEL 为使用 TLS 证书提供了两个主要工具包:GnuTLS 和 OpenSSL.您可以使用 openssl 软件包中的 openssl 工具创建、读取、签名和验证证书。gnutls-utils 软件包提供的 certtool 工具可以使用不同的语法以及后端中的所有不同库的集合执行相同的操作。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.