生成ssl cacert文件

问题描述 投票:2回答:1

ssl certfile和ssl cacertfile的区别是什么?

我看了一下,第一个是用户的证书,而第二个是用于验证对等证书的可信证书,如果我不验证对等,可以省略。

鉴于我在生成第一个

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

如何生成第二个?

ssl openssl
1个回答
5
投票

"普通 "证书和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有证书Y,说明CA B信任它。
  • 反过来,CA B有证书X,说明CA A信任它。
  • 你相信CA A,所以没有理由不相信我。

你可以在这里阅读更多的信息。

以下是你如何使用以下方法创建它们 openssl:

© www.soinside.com 2019 - 2024. All rights reserved.