当前位置: 首页 > 网络应用技术

密码学系列:PKI的证书格式指示X.509

时间:2023-03-06 17:54:13 网络应用技术

  在PKI(公共密钥)公共权力设施的基本系统中,所有操作均围绕证书和密钥。一组角色,策略,硬件,软件和程序。

  使用钥匙,您可以根据钥匙制定证书。如果您想被广泛使用,那么一般标准绝对是必不可少的。在PKI系统中,该证书的标准为X.509。

  X.509标准定义了公共密钥证书最常用的格式。

  证书中最重要的是公共密钥信息。只能从证书中提取公共密钥,以解密发件人由私钥加密的数据。公共密钥信息是证书的核心。

  除了公钥外,证书还包含许多其他信息,例如身份信息(主机名,组织或个人)。

  创建证书证书非常简单。首先,让我们看一个使用OpenSSL命令创建证书的示例。

  在创建证书之前,可以创建取决于证书创建的公共密钥和私钥。X.509证书可以支持各种公共密钥算法,例如RSA,DSA,ECDA,ED25519等。

  在这里,我们选择使用RSA算法来生成键对,如下所示:

  输入通行证,我们可以得到CA.Key,这是RSA私钥。

  接下来,您可以使用此CA.Key创建证书。

  可以看出,根据密钥,证书还需要提供其他信息,例如国家名称,省名,组织名称。

  最后,我们可以获得CA证书CA.CRT。

  如果要查看证书的状态,则可以使用以下命令:

  您可以看到CA证书包含其他信息,例如日期,序列号,签名算法,发行人,有效性和其他信息。

  上面生成的证书实际上是证书。该证书可以签署其他证书请求生成子认证并生成证书证书。

  如果客户要要求CA服务器要求新证书怎么办?

  首先,客户端还需要生成自己的密钥对。如果客户端是CA服务器本身,请求CA证书的过程称为自签名。

  如果要请求证书,则必须首先生成请求CSR。您也可以使用OpenSSL命令进行执行:

  由于CSR请求还需要生成CA证书,因此需要类似的信息。

  最后,我们生成了一个server.csr文件。

  接下来,使用此CSR文件请求证书:

  上面命令的含义是CA服务器上的私钥,root证书和刚刚生成的证书请求server.csr,并使用CA服务器签名生成自签名的证书。

  最后获取一个自签名的server.csr证书文件。

  使用openssl命令查看证书状态:

  您可以看到该结构与根CA证书相同。这里的主题是server.csr中输入的信息。

  我们上面使用的后缀后缀是CRT,这是认证的缩写。

  实际上,X.509证书还支持几种后缀。

  PEM的全名是隐私增强的电子邮件。可以从PEM最初为加密电子邮件准备的名称中看出。

  它是在der+base64中编码的证书。PEM证书通常是文本格式,“ ----开始证书------”开始,并以“ ----------------------------------------------------------”。

  这三个是由DER编码的二进制证书,但有时会使用base64进行编码,例如.pem。

  它是PKCS#7的签名数据。

  PKCS的全名是公钥加密标准。这是由RSA实验室和其他安全系统开发人员制定的一系列标准,以促进公共密钥密码的开发。

  PKCS#7的全名是加密消息语法标准。

  与PKCS#12签名的数据可以同时包括证书和私钥。

  PKCS#12的前身通常包含PKCS#12格式的数据。

  证书的层次结构应得到充分理解。证书的层次结构也称为证书链。

  从我们收到的最终证书开始,我们可以遵循一个或多个CA证书,最后证书是证书。

  例如,当前证书的链结构为a-> b-> C。

  如果您想检查A证书的有效性,则需要使用B的公共密钥进行验证,那么B的有效性也需要由C的公钥验证,因此级别验证是直到直到根证书。

  什么是交叉认证?

  如果现在有两个证书的链条和d-> e。但是现在这两个链是独立的。如果A证书还想使用E进行身份验证,我该怎么办?

  让我们首先考虑A-> B的含义。A-> b表示A证书是用B证书签名的。更确切地说,A证书是在B证书中使用公共密钥签名的。

  如果我们使用E在B中签署公共密钥并获得证书C,则B和C具有相同的公钥,因此对于A,A-> B和A-> C-> E都是有效的证书链。

  如果B使用B签署E的公共密钥并获得证书F,则D-> E和D-> F-> B也是两个有效的证书链。

  这样的结构称为交叉认证。

  交叉认证在不同的CA链中用于相互认证,这非常有用。

  X.509证书的使用范围很广。例如,Web访谈中最常见的TLS/SSL和HTTP使用X.509证书。

  此外,SMTP,POP,IMAP,LDAP,XMPP提供了X.509证书的支持。

  以上是X.509证书的使用和相关原理的引入。

  有关更多内容,请参考http://www.flydean.com/42-pki-x509/

  最受欢迎的解释,最深的干货,最简单的教程,您不知道的许多技巧正在等待您发现!

  欢迎注意我的公共帐户:“程序的事情”,了解技术并更好地了解您!

  原始:https://juejin.cn/post/7099723298031796254