Security+ 学习笔记17 公钥基础设施

一、信任模式(Trust models)

任何加密系统都依赖于某种程度的信任。在前面的笔记中,我们讨论了强密码学如何依赖于安全的密钥交换过程:

  1. 进行交流的两个人必须确信他们真的是在与对方交流,而不是冒充者;
  2. 没有人能够窃听他们交换加密密钥的通信。

Diffie Hellman密钥交换协议可以帮助我们防止窃听,但我们仍然需要一些方法来确保我们不是在与一个冒名顶替者交流。在非对称密码学中,每个用户都拥有一个私钥,不能与其他人分享,但他们可以自由分享自己的公钥,所以没有窃听的风险。这两个因素结合起来,消除了在密钥交换过程中对窃听保护的需要。然而,我们仍然需要担心冒名顶替者。我们怎么确认向我们发送公钥的人真我们需要真正沟通的人。那么,有三种基本的方法可以让我们获得这种保证:

  1. 当面交换密钥,但这样很麻烦和困难;
  2. 我们也可以使用一个被称为 "信任网络(web of trust)"的概念。信任网络是由Phil Zimmerman在推出PGP加密软件时首次提出的。信任网络认识到,我们根本不可能亲自见到所有我们想交换信息的人。信任网络依赖于间接关系,例如我们在LinkedIn上发现的那些关系,虽然我们可能不认识直接想沟通的人,但可能认识认识这个人的人;或者我们有一个三层关系,认识的人也认识认识这个人的人。信任网通过使用数字签名来保证个人的公钥,从而利用了这一点。每个参与者在确认公钥属于那个人时,都会在他们认识的每个人的公钥上签名。然后,每个人都建立一个他们信任的人的名单,为他人作担保。如果信任网络变得足够大,即间接信任关系将允许大多数人与其他大多数人沟通。然而,信任网络也有问题,其使用了一种分散的方法,使其难以管理。对于新人来说,进入的门槛很高,而且,信任网络需要用户具备大量的技术知识。由于这些原因,信任网络从未在技术界之外真正推广;
  3. 依靠公钥基础设施或PKI,建立在信任网的概念之上,但引入了集中的权威机构,使这个过程更容易。

二、PKI与数字证书(Digital certificates)

公钥基础设施,即PKI,通过引入证书机构(Certificate authorities或CA)的概念,解决了许多与信任网络相关的实际问题。公钥基础设施不依赖于Zimmerman在信任网络模型中提出的点对点信任关系,而是依赖于参与者对高度信任的集中式服务提供商的信任。这些供应商被称为证书机构,构成了公共密钥基础设施的基础。
在这里插入图片描述
证书颁发机构需要核实个人和组织的身份,然后向他们颁发数字证书,保证与该个人或组织相关的公共密钥确实属于他们。主要步骤如下:

  1. CA将要求申请人按照个人和组织的不同标准证明自己的身份。这可能只涉及验证域名的所有权,也可能是一个更严格的过程,需要实际的身份证明,这取决于申请人想要获得的证书的类型;
  2. 如果CA确信申请人的身份,申请人就会通过一个安全通道向CA提供自己的的公钥;
  3. CA使用这些信息创建一个数字证书,其中包含关于申请人的身份和公钥的信息;
  4. CA以数字方式签署该证书,并送回给申请人;
  5. 申请人可以把自己的证书提供给任何他想沟通的人;
  6. 收到证书的人不需要直接验证申请人的身份。他们只是通过验证CA的签名来验证证书是否有效。如果该签名核对无误,就知道证书中包含的公开密钥确实属于证书上的个人或组织。假设他们信任CA,就可以放心地使用该公开密钥为发送信息人的加密信息。

现在有一个问题,如果别人得到我们的数字证书的副本,然后把它提供给第三方,并声称是我,有什么后果?这实际上很容易发生,因为我们的证书是要被广泛分享的。然而,这并不是一个问题,因为别人可以用该证书做的唯一事情就是用我们的公开密钥加密信息,只要我们对自己的私钥保密,他们就无法解密那个人发送的信息。因此,不会有任何保密性的损失。

三、哈希函数(Hash functions)

哈希函数或者称为散列函数,对于公钥密码学的使用,特别是对于数字签名和数字证书的创建是极其重要的。哈希是一个单向函数,它将一个可变长度的输入转化为唯一的、固定长度的输出,具体解释如下:

  1. 哈希函数是单向函数。这意味着你不能逆转散列的过程。我们输入原始的内容,使用哈希函数来计算该内容的哈希值。但却不能反其道而行之。也就是说如果我们有一个哈希值,不能用它来计算出原始文本;
  2. 哈希函数将可变长度的输入映射到固定长度的输出。这意味着我们可以向哈希函数发送任何长度的输入,而它产生的哈希值将总是相同的长度。输入两个词或一整本书,都会得到相同长度的输出。这个长度取决于哈希函数,但它总是固定的;
  3. 哈希函数也产生唯一的输出。这意味着,我们不应该能够找到两个不同的输入产生相同的哈希值作为输出。

在这里插入图片描述
为了使散列函数有效,它必须满足刚才解释的所有标准。散列函数有两种失败的方式:首先,如果散列函数是可逆的,它就不安全。散列值可能变得公开,所以我们不希望有人看到散列值来确定信息的内容。散列函数失败的更常见的方式是,有人会证明它不具有抗碰撞性。这意味着它没有实现定义中的唯一输出部分,有可能找到产生相同哈希输出的两个输入。如果是这样的话,它就有可能伪造数字签名和数字证书。

散列函数的用途之一是在基于Has-based Message Authentication Code,或者称为HMAC,或HMAC过程中。HMAC将对称密码学与哈希值结合起来,为信息提供认证和完整性。当使用HMAC时,信息的发送者提供一个秘密密钥,与哈希函数一起使用,以创建一个消息认证码。然后,消息的接收者可以用相同的秘密密钥重复这一过程,以验证信息的真实性和完整性。哈希函数与非对称密码学一起用于数字签名和依赖数字签名的技术,如数字证书。常用的HASH算法如下:

1.MD5:
Ron Rivest在1991年创造了Message Digest 5,即MD5哈希函数。MD5是一系列散列函数中的第五个,变得越来越安全。在研究表明MD4不安全之后,MD5取代了MD4算法。消息摘要(Message Digest)只是哈希的另一个术语。这两个术语的意思是一样的,它们可以互换使用。MD5哈希算法产生一个128位的哈希值。多年来,密码学家们在MD5算法中发现了一系列的缺陷,削弱了它的抗碰撞能力。2013年,三位密码分析师发现了一种技术,可以在商店购买的计算机上,在不到一秒钟的时间内打破MD5的抗碰撞能力。因此,MD5不再被认为是安全的,不应该被使用。然而,许多系统仍然依赖MD5进行安全应用,这并不是一个好的现象。

2.SHA:
安全哈希算法(Secure Hash Algorithm),普遍被称为SHA,是由美国国家技术标准研究所(NIST)批准的另一系列哈希函数,用于联邦计算应用。SHA的第一个版本,SHA-1,产生一个160位的哈希值。但随着密码分析师们在SHA-1中发现了越来越严重的缺陷,不再认为SHA-1是安全的。SHA-2取代了SHA-1,SHA-2实际上是一个由六种不同的哈希算法组成的家族。SHA-2的不同算法有不同的哈希长度,其中包括224、256、384和512位哈希值。所有的SHA-2算法在数学上与SHA-1和MD5相似,理论上它们容易受到破坏这些算法的相同缺陷的影响。现在存在一些针对SHA-2的某些配置的攻击,但该算法仍然被广泛使用。NIST认识到SHA-2和其他那些不安全的算法之间的数学相似性代表了SHA-2的未来风险,于是他们在2006年开始了一个竞争,以选择SHA的第三个版本,即SHA-3。 2015年,NIST宣布选择Keccak算法作为SHA-3的标准。Keccak使用一种完全不同的数学技术,实际上可以产生任何所需长度的哈希值。长度是由计算哈希值的人设定的,所以Keccak仍然满足固定长度的标准。它只是允许使用任何固定长度的输出。

3.RIPEMD:
一些学术研究人员不相信SHA算法,因为它们起源于美国政府,特别是国家安全局参与了SHA算法的创建。一组比利时研究人员开发了一种被称为Race Integrity Primitives Evaluation Message Digest,或RIPEMD的替代方案。RIPEMD有四个变体,产生128、160、256和320比特的哈希值。128位版本不再被认为是安全的,但160位版本的RIPEMD被广泛使用,包括支持比特币交易的算法中。

四、数字签名(Digital signatures)

数字签名为真实签名提供了一种电子对应方式。数字签名使用非对称加密技术来实现完整性、认证和不可抵赖性(integrity, authentication, and non-repudiation)的目标。当数字签名信息的接收者验证该信息的签名时,需要知道三件事:

  1. 拥有用于签署该信息的公钥的人实际上是签署该信息的人。这就是认证;
  2. 该信息在被签署后没有被改变。这就是完整性;
  3. 如果有必要,发件人可以向第三方证明这些事实。这就是不可抵赖性。

数字签名基于Hash函数的两个重要特性,首先,哈希函数是抗碰撞的。对于一个强散列函数,你不可能找到两个产生相同输出的输入。第二,用非对称密钥对中的一个密钥加密的任何东西,只能用该密钥对中的另一个密钥来解密。

到目前为止,我们总是用公钥来加密数据,用私钥来解密数据。这是因为我们试图创建只有拥有私钥的人才能阅读的信息。在数字签名的情况下,我们反其道而行之,用私钥进行加密,用公钥进行解密。这是因为我们的目标是不同的。我们不想创建一个秘密信息,而是想创建一个只能由拥有私钥的特定人员创建的信息,然后可以由拥有相应公共密钥的任何人验证。

例如,假设Alice想向Bob发送一条包含Alice数字签名的信息。Alice拿着这个消息,并使用她选择的散列函数来产生该消息的唯一散列值。然后,Alice用她自己的私钥对这个哈希值进行加密。这将产生一个被称为数字签名的输出。数字签名只是用发件人的私钥加密的信息摘要。然后,Alice将信息和数字签名都发送给Bob:
在这里插入图片描述
当Bob收到信息时,他可以阅读它,并且他也可以验证数字签名。以下是他如何做到这一点的。首先,他拿着信息,并使用Alice自己用来计算信息摘要的相同散列函数。由于他使用的是相同的哈希函数,他应该得到与Alice相同的结果。接下来,他使用数字签名并使用Alice的公钥对其进行解密。这应该会给他Alice加密的信息摘要。然后Bob比较这两个值。如果它们相同,Bob就知道是Alice创造了这个数字签名,因为只有Alice能用她的私钥加密信息摘要。如果其他人用不同的私钥创建了这个数字签名,Bob仍然会试图用Alice的公钥来解密它。如果他这样做,他不会得到正确的结果,他将拒绝该信息,因为这两个值不匹配。Bob还知道,在Alice创建信息之后,没有人修改过该信息,因为那会改变Bob自己计算的信息摘要值。
在这里插入图片描述
最后,Bob可以通过让查理自己重复签名验证过程来向第三方Charlie证明所有这些信息。
在这里插入图片描述
需要注意的是,对信息进行数字签名并不能为信息提供保密性。在我们刚才的例子中,任何人都可以阅读该信息,不仅仅是Bob。如果Alice想确保只有Bob能读到信息,她可以通过采取额外的步骤,用Bob的公钥对信息进行加密来实现。

五、数字签名标准

数字签名标准是美国联邦政府关于适当的数字签名算法的标准。该标准由美国国家标准与技术研究所(NIST)发布,当前版本的标准是在2013年出台的。它作为联邦信息处理标准或FIPS 186-4发布,它包含了关于联邦政府中可接受的数字签名实施的许多细节。我们需要知道的是,它支持三种不同的数字签名算法在美国政府的应用中使用:

  1. 第一种是数字签名算法(Digital Signature Algorithm)或DSA。DSA是FIPS 186-4中描述的一种算法,它与ElGamal算法密切相关;
  2. 第二种认可的算法是Rivest-Shamir-Adleman算法,或RSA算法。数字签名标准认可将RSA用于美国国家标准X9.31和公钥密码学标准或PKCS第一号中描述的数字签名;
  3. 最后一种认可的算法是椭圆曲线数字签名算法或ECDSA。数字签名标准认可使用ECDSA进行数字签名,如美国国家标准X9.62中所述。

这三种算法都被认为是安全的,可以接受用于创建和验证数字签名。

六、创建数字证书(Digital certificate)

在了解了哈希函数和数字签名的情况下,我们可以进一步学习证书颁发机构如何创建数字证书,将公共密钥与个人或组织联系起来。创建数字证书的过程遵循国际电信联盟制定的X.509标准。因此,我们可能会听到数字证书被称为X.509证书。

比方说,Alice想获得一个新的数字证书。Alice首先为她选择的加密算法创建一个密钥对。然后,她创建了一个称为证书签名请求或CSR的信息。CSR包含Alice的公钥,以及她的名字和其他识别信息,如电子邮件地址或服务器名称。然后,Alice将CSR发送给她选择的证书颁发机构。这可能是一个被世界上许多人信任的独立组织,也可能是一个在组织内使用的私人证书机构。如果该CA是第三方,它也被称为注册机构或RA。
在这里插入图片描述
当 CA 收到 CSR 时,它首先采取任何必要的行动来验证请求者的身份。CA的责任是进行充分的身份验证,在数字证书上盖上自己的印章。这符合CA的最佳利益,因为如果一个CA开始签发无效的证书,人们将不再信任该CA,该CA将很快发现自己被淘汰。一旦CA确信发件人是合法的,它就会从CSR中删除公钥和身份信息,并将其置于X.509证书的格式中。然后,CA使用其私钥将CA的数字签名放在数字证书上,并将证书送回给请求者。然后,请求者可以将该证书提供给任何希望与他们通信的人。这些第三方可以通过检查CA在证书上的数字签名是否有效来验证该证书是否有效。如果签名是正确的,第三方知道他们可以使用证书中包含的公开密钥与证书上标识的实体进行通信。
在这里插入图片描述
由CA创建的证书包括几个不同的证书属性。当然,它包括证书主体的公钥,以及到期日。该证书还包括CN或通用名称属性。这是证书所担保的身份。例如,在如下的LinkedIn的数字证书中,通用名称是www.linkedin.com。
在这里插入图片描述
证书可以用来保证一个身份的多个版本。主题替代名称(Subject Alternative Name)或SAN属性列出了证书的替代名称。可以看到,我们刚才看的LinkedIn证书所涵盖的其他域名。
在这里插入图片描述

七、撤销数字证书(Revoke a digital certificate)

数字证书的安全性取决于与这些证书相关的私钥的安全性。如果证书拥有者的私钥被破坏了,拥有者需要一种方法来撤销数字证书,这样它就不能被用来冒充他们。有两种撤销数字证书的方法。这两种方法都是由颁发证书的证书颁发机构维护的。
在这里插入图片描述

  1. 证书吊销列表或CRL。 当CA希望使用CRL撤销一个数字证书时,它将该证书的序列号放在其CRL上。任何访问数字证书的人都有责任下载证书吊销列表,并在验证证书之前验证他们要验证的证书的序列号是否包括在该列表中。现在这种方法是低效的,因为它经常有时间延迟,并消耗了大量的网络带宽,因为互联网上的每个人每天都试图从每个证书颁发机构下载CRL,而名单本身也越来越长。
  2. 第二种方法,即在线证书状态协议,或称OCSP,更具互动性。在这种方法中,任何要依赖数字证书的人都会向签发证书的CA发出请求,以验证该证书是否仍然有效。然后,CA将序列号与它的废止证书列表进行核对,并发回一个是或不是的答复。大多数现代网络浏览器依靠OCSP检查来确定证书的有效性。这方面的一个例外是谷歌浏览器,它使用自己的专有方法来验证证书。

八、Certificate stapling

OCSP的主要问题是,它给由证书颁发机构运营的OCSP服务器带来了巨大的负担。这些服务器必须处理来自网站的每个访问者或数字证书的其他用户的请求,以验证该证书是否有效且未被撤销。Certificate stapling是在线证书状态协议的一个扩展,它减轻了OCSP给证书颁发机构带来的一些负担。工作原理如下:

当用户访问一个网站并启动一个安全连接时,该网站将其证书发送给用户的浏览器,然后浏览器通常负责联系OCSP服务器以验证证书的有效性。
在这里插入图片描述
通过Certificate stapling,Web服务器与OCSP服务器本身联系,并从OCSP服务器收到一个有签名和时间戳的响应,然后Web服务器将其附加到数字证书上。然后,当用户请求一个安全的网络连接时,网络服务器将证书和stapling的OCSP响应发送给用户。然后,用户的浏览器会验证该证书是否真实,并验证stapling的OCSP响应是否真实和最新。由于 CA 签署了 OCSP 响应,用户知道它来自于证书颁发机构,并且时间戳向用户保证 CA 最近验证了该证书。
在这里插入图片描述
这听起来好像是CA服务器的负担,就像用户请求证书一样,在这种一次性使用的情况下,确实如此。当下一个用户访问该网站时,节省的费用就来了。网络服务器可以简单地重复使用stapling的证书,而不需要重新联系OCSP服务器。只要时间戳足够新,用户就会接受stapling的证书,而不需要再次联系CA的OCSP服务器。通常情况下,stapling的证书有效期为24小时,这减少了OCSP服务器的负担,从一天中处理每个用户的一个请求,可能是数百万个请求,减少到每天处理来自证书主体的每个证书的一个请求。这对服务器来说是一个巨大的减负。

九、证书授权机构(Certificate authorities)

在大多数情况下,组织选择使用一个众所周知的证书颁发机构,因为世界上绝大多数的用户已经被配置为信任该CA。然而,当我们从一个CA购买证书时,你必须向他们支付一定的费用。正因为如此,组织有时会采取措施,减少他们购买的证书数量。做到这一点的一个方法是使用自签名证书(Self-Signed Certificates)。在这种方法中,一个组织建立了自己的证书授权,并使用它来生成自己的证书。这些证书不被外界所信任,但它们可以用于内部用途。

大型组织通常建立自己的CA,然后将整个组织的系统配置为信任内部CA。然后,他们可以为内部网站和其他用途发放自己的证书。组织可以更进一步,让自己的CA得到第三方CA的信任,使用一种被称为证书链(Certificate chainling)的技术。这允许该组织发布自己的证书,然后由外部用户信任。这种情况下的内部CA被称为中间CA(intermediate CA)

让我们看一下使用中间CA的数字证书。现在已经在这里加载了谷歌网站,继续查看这个网站的证书,首先点击Chrome中的锁图标,然后点击证书。
在这里插入图片描述
在证书窗口的顶部,我们看到了证书层次结构部分,它向我展示了信任链。底部一行显示,该证书属于www.google.com。该证书是由下一行的证书颁发机构,即GTSCA101颁发的。这是签发该证书的中间CA。GTS,代表谷歌信任服务,所以我可以假设这是一个实际上属于谷歌的CA,而且是他们自己签发的证书。
在这里插入图片描述
现在,如果去看浏览器所信任的证书颁发机构列表,GTSCA101并不在其中。但是,如果我们到了证书层次结构的第一行,就可以看到信任链源于GlobalSign CA。这意味着GTSCA101已被GlobalSign CA信任为中间CA。
在这里插入图片描述
我们的浏览器和世界上许多其他浏览器都预先配置为信任该GlobalSign CA。因此,我已经建立了一个信任链。GTSCA101是为www.google.com 签发证书的中间CA,我的浏览器信任它,因为GTSCA101受到GlobalSign CA的信任。这个过程又被称为证书链。当用户的浏览器去验证证书时,它会验证链中的每一个证书,以验证最终的证书是否真实。使用证书链的另一个原因是允许使用离线证书机构。一个CA的根证书(root Certificate)是一个非常敏感的对象。因此,与证书相关的私钥通常不保存在连接到网络的系统上。相反,它被保存在一个离线CA中,只用于签署属于同一组织的中间CA的证书。这些中间CA被称为在线CA,然后被用来向客户实际签发证书。这样,根的证书密钥就得到了仔细的保护,而且只是偶尔用来认证一个新的在线CA。

十、证书主体(Certificate subjects)

证书最常见的用途是保护网络服务器,但它们也可以为其他服务器、个人和电子邮件地址提供认证。证书主体是拥有证书中包含的公开密钥的实体。通过颁发数字证书,证书颁发机构证明它已经验证了证书主体的身份,并且它保证公共密钥确实属于该实体(组织)的事实。

我们可以看一下属于LinkedIn的证书。在这里,可以看到在证书的细节部分,这个证书主体是www.linkedin.com,它属于美国加利福尼亚州Sunnyvale的LinkedIn公司。
在这里插入图片描述
再看另一个项目,注意到这些数字串,看起来有点像IP地址。这些被称为对象标识符(object identifiers),它们被用来唯一地识别数字证书的每个元素。这些对象标识符可以帮助我们追溯数字证书及其组件的来源。
在这里插入图片描述
除了网Web服务器外,还有许多其他可能的数字证书主体。任何计算机或机器,不仅仅是网络服务器,都可以成为数字证书的主体。这可能包括SSH服务器、文件服务器或任何其他需要可信连接的服务器。证书也可由设备使用,如存储区域网络、路由器、交换机、VPN、无线接入点等。数字证书还可用于通过姓名或电子邮件地址来识别个人。而且,它们可以被开发人员用于代码签名,以验证软件是否来自授权的开发人员。在上述每一种情况下,数字证书的目的都是一样的,就是将公共密钥与一个实体安全地联系起来,无论是服务器、个人还是设备。

有一些针对证书的攻击,会为一个网站创建一个假的证书。还有一个安全功能,组织可以用它来保护他们的证书免受欺诈。证书锁定(Certificate pinning) 是一种技术,它告诉证书的用户,他们不应该期望证书的改变。当用户收到来自证书主体的证书时,也可能被告知要记住,或在很长一段时间内锁定住该证书,并报告该证书的任何变化。

十一、证书类型(Certificate type)

有几种不同类型的证书可用于保护我们的系统:

  1. 我们已经讨论过保护根证书(Root certificate) 的重要性。这些是处于证书授权中心的核心证书,它们被用作链式证书中的第一个证书,或信任根。
  2. 另一种特殊类型的证书是通配符证书(Wildcard Certificate)。通配符证书能够匹配许多不同的主题,正因为如此,它们必须被仔细保护。我们可以很容易地识别通配符证书,因为它们有特殊的名称,如*.linkedin.com。星号表示该证书可用于任何以linkedin.com结尾的主题名称。该证书将对www.linkedin.com、mail.linkedin.com、secure.linkedin.com或任何其他以linkedin.com结尾的主题名称有效。尽管在这些通配符证书上有一个重要的说明。通配符只深入一个层次。它取代的是一个单一的名字,而不是多层次的名字。例如,这个通配符证书不能用于www.secure.linkedin.com。通配符证书通常用于负载均衡器和其他必须匹配许多不同域名的设备。使用通配符证书允许设备冒充所有相关的子域,而不需要管理员为每个子域获取和安装单独的证书。
    在这里插入图片描述

我已经知道,数字证书是证书机构的信任声明。CA为证书主体的身份作担保,并向公众保证它已经验证了主体的身份。实际上有三种不同的验证方式,CA根据他们进行的身份验证的程度,签发不同的证书:

  1. 域名验证,即DV证书,具有最低的信任程度。CA只是检查一个域名的所有权记录,并与该域名的注册所有人进行沟通,以确保他们批准签发数字证书;
  2. 组织验证,或OV证书,更进一步。CA不仅验证证书主体是否拥有该域名,而且还验证购买证书的组织名称是否符合商业记录,如国家商业注册或有信誉的商业数据库;
  3. 扩展验证,或EV证书,是最高级别的信任。在收到证书主体的文件后,CA进行了广泛的调查,以验证该组织的实际存在和合法性。

安全专业人员应该了解这些不同类型的数字证书,并准备好解释每种证书所意味着的信任程度,以及选择适当的数字证书类型在他们的组织中使用。

十二、证书格式(Certificate formats)

数字证书有各种不同的格式。其中有些是基于二进制的,有些是基于文本的。让我们看一下一些常见的证书格式:

  1. 最常见的格式是Distinguished Encoding Rules,或DER格式。这是一种二进制的证书格式,可读性很差:
    在这里插入图片描述
    DER证书通常存储在以.DER、.CRT或.CER为扩展名的文件中。

  2. PEM 证书格式与 DER 格式密切相关。PEM代表隐私增强型邮件,是一种较早的安全电子邮件标准,现已不再使用,但我们今天仍在使用该标准的证书格式,用于其他目的。PEM证书是DER证书的ASCII文本版本,如下所示:
    在这里插入图片描述它的可读性比二进制的要强得多。我们可以使用Open SSL等工具在二进制DER证书和基于文本的PEM证书之间轻松转换。PEM证书通常存储在以.PEM或.CRT为扩展名的文件中。我们可以发现,CRT文件扩展名同时用于二进制DER文件和基于文本的PEM文件。这是非常令人困惑的。我们应该记住,如果不实际查看文件的内容,就无法判断CRT证书是二进制还是文本。

  3. 个人信息交换(The personal information exchange )或PFX格式是另一种标准的证书格式,证书以二进制形式保存,同样无法阅读。这种格式通常由windows系统使用,PFX证书通常有PFX或P12文件扩展名。

  4. 我们也可以使用P7B格式以文本格式存储PFX证书。这是一种相当于PFX证书的ASCII文本格式,就像PEM是DER证书的ASCII替代品。与PFX证书一样,我们会发现P7B证书通常在Windows系统上使用,并使用P7B文件扩展名。

现在,有很多首字母缩写词和文件格式,可能会让人很困惑。这里有一个汇总表,方便记忆:
在这里插入图片描述

参考资料来源:
https://www.linkedin.com/learning/paths/become-a-comptia-security-plus-certified-security-professional-sy0-601

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

格洛米爱学习

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值