ssl certfile 和 ssl cacertfile 有什么区别?
我读到第一个是用户的证书,而第二个是用于验证对等证书的受信任证书,如果我不验证对等证书,则可以省略。
鉴于我生成第一个
openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem
Run Code Online (Sandbox Code Playgroud)
我怎样才能生成第二个?
“常规”证书和 CA 证书都是证书 - 存在细微差别,但从您的角度来看,它们之间没有本质上的不同。
首先 - 什么是证书?证书是经过签名的文件。它就像一个信封。当您从邮政服务处收到一封未拆封的邮件时,您相信信封上写的发件人是将任何内容放入其中的人 - 信封是密封的。假设有人在信封里寄给你一个号码 15728 并说“好的,这是我的号码。每当有人给你东西并出示这个号码时,要知道是我”。
这是对签名的简化 - 例如在 X.509 的情况下,您可以通过有效地对其进行加密并为其提供一个“数字”来签署类似“我的名字是 ABC,我的组织称为 DEF,它位于 GHI 国家/地区”之类的内容不太可能由世界上其他任何人生成。除非您有私钥,否则很难获得相同的文档,因此该证书在提供时可用于确定任何其他文档是由拥有该私钥的任何人提供的。与您的朋友发送给您的号码类似 - 任何人都可以向您发送 15728,但他们不太可能从所有其他可能性中猜出该号码。
我将尝试解释 CA/端点证书的情况。首先,基本前提是信任。假设你有很多人(我会用字母 A、B、C、...标记他们)。说他们像这样认识并信任对方:
假设 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)的人说:
您可以在此处阅读有关此内容的更多信息:
以下是您可以使用openssl以下方法创建它们的方法:
| 归档时间: |
|
| 查看次数: |
1820 次 |
| 最近记录: |