2

ssl certfile 和 ssl cacertfile 有什么区别?

我读到第一个是用户的证书,而第二个是用于验证对等证书的受信任证书,如果我不验证对等,可以省略。

鉴于我生成第一个

openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem

如何生成第二个?

4

1 回答 1

6

“常规”证书和 CA 证书都是证书 - 存在细微差别,但从您的角度来看,它们之间并没有本质上的不同。

首先 - 什么是证书?证书是签名的文件。它就像一个信封。当您从邮政服务处收到一封未打开的邮件时,您相信写在信封上的发件人就是将所有内容放入其中的人 - 它是密封的。假设有人在信封里给你发了一个号码 15728,然后说“好的,这是我的号码。每当有人给你东西并出示这个号码时,都要知道是我”。

这是对签名的简化 - 例如在 X.509 案例中,您通过有效加密并给它一个“数字”来签署类似“我的名字是 ABC,我的组织被称为 DEF,它位于 GHI 国家”之类的东西世界上任何其他人都不可能产生。除非您拥有私钥,否则很难获得相同的文档,因此该证书在出示时可用于确定任何其他文档是否由拥有该私钥的人提供。与您的朋友发送给您的号码类似——任何人都可以发送给您 15728,但他们不太可能从所有其他可能性中猜出该号码。

我将尝试解释 CA / 端点证书的情况。首先,基本前提是信任。假设你有很多人(我会用字母 A、B、C 等来标记他们)。假设他们像这样认识并相互信任:

  • A <-> B
  • B <-> C
  • D <-> E

假设 A 需要买一辆车。假设 C 和 E 都有车。通常,B 更有可能告诉 A:“嘿,我的朋友 C 有一辆您正在寻找的车”,而 A 会基于信任(相信这是一辆好车)购买那辆车。在这种情况下,它不太可能从 E 购买汽车,因为 E 不受信任。然而,D 可能更渴望从 E 处购买汽车,因为他们彼此了解并信任对方。

CA 类似于上例中的 B。CA 基本上是一个受信任的权威,地球上很多人都盲目地信任它。他们将自己的声誉投入到业务中来赢得信任。您基本上信任不同的 CA 供应商,他们将验证人员和组织,并仅在完成这些检查后向他们颁发证书。

CA 拥有所谓的“根证书”或“中间证书”。根证书安装在例如您的操作系统或浏览器证书存储中,并且本质上是受信任的。其他证书通过链接的方式得到信任。也就是说,如果 CA A 向 CA B 颁发了证书,则 CA B 拥有该“中间证书”,它可以用来签署更多(中间或端点)证书。例如,它可以是这样的:

  • CA A 有根证书 R
  • CA A 向 CA B 颁发中间证书 X
  • CA B 向 CA C 颁发中间证书 Y
  • CA C 向您颁发证书 Z

现在你可以通过链接的方式,基本上对世界上任何信任 CA A(即它的根证书 R)的人说:

  • 好的,我有这个证书 Z。这表明 CA C 信任我。
  • 反过来,CA C 拥有表明 CA B 信任它的证书 Y。
  • CA B 又拥有证明 CA A 信任它的证书 X
  • 你信任 CA A,所以没有理由不信任我

您可以在此处阅读有关此内容的更多信息:

以下是您可以使用以下方法创建它们的方法openssl

于 2012-04-13T02:18:49.017 回答