我不清楚CA密钥和证书之间的区别。CA密钥不是简单的证书吗?让我以一个例子加以澄清。
我有一个客户和一个服务器。我只是试图验证我与服务器的连接,而不是试图建立对他人的信任,所以我不关心使用真正的CA进行签名。
选项1:生成自签名CA (ssCA)并使用该CA签名证书(C)。然后,我将ssCA安装到客户端的根密钥存储库中,并设置服务器以使用证书C。
选项2:生成自签名证书(SSC).在我的客户机上将SSC安装到根密钥存储库中。设置我的服务器以使用证书SSC。
第二种选择似乎是一个简单得多的过程。那还能用吗?
发布于 2010-10-26 14:16:14
这两个选项都是有效的,备选方案2更简单。
当您需要多个证书时,选项1(设置您自己的CA)更可取。在公司中,您可以建立自己的CA,并在所有客户端的根密钥库中安装该CA的证书。然后,这些客户端将接受由您的CA签名的所有证书。
选项2(没有CA的证书自签名)更容易.如果您只需要一个证书,那么这就足够了。将其安装在客户端的密钥库中,您就完成了。但是,当您需要第二个证书时,您需要在所有客户端上再次安装该证书。
下面是与更多信息的链接:创建证书颁发机构和自签名SSL证书
发布于 2010-10-26 14:43:16
首先,关于密钥和证书的区别(关于"CA密钥“),在讨论公钥证书(通常是X.509)时,使用了3部分:公钥、私钥和证书。公钥和私钥形成一对。您可以使用私钥进行签名和解密,也可以验证(签名)并使用公钥进行加密。公钥是用来分发的,而私钥是用来保持私密的。
公钥证书是公钥与各种信息之间的组合(主要涉及密钥对所有者的身份,即控制私钥的人),该组合使用证书颁发者的私钥签名。X.509证书具有主题可分辨名称和颁发者可分辨名称。颁发者名称是颁发证书的实体的证书的主题名称。自签名证书是发行人和被签发人相同的特例.通过签署证书的内容(即颁发证书),颁发者断言证书的内容,特别是密钥、标识(主体)和各种属性之间的绑定(这些属性可能表明证书的意图或使用范围)。
在此基础上,PKIX规范定义了一个扩展(给定证书的一部分),它指示证书是否可以用作CA证书,也就是说,它是否可以用作另一个证书的颁发机构。
由此,您可以在终端实体证书(用户或服务器要验证的证书)和您信任的CA证书之间构建证书链。在服务的最终实体证书和您信任的CA证书之间可能存在中间CA证书(由其他CA证书颁发)。严格来说,您不需要顶部的根CA (自签名CA证书),但通常是这样的(如果愿意,您可以选择直接信任中间CA证书)。
对于用例,如果为特定服务生成自签名证书,则它是否具有CA标志(基本约束扩展)并不重要。您需要它是一个CA证书,以便能够颁发其他证书(如果您想构建自己的PKI)。如果您为此服务生成的证书是CA证书,则不应造成任何损害。更重要的是如何配置客户端来信任该特定服务器的证书(例如,浏览器应该允许您很容易地做出显式异常)。如果配置机制遵循PKI模型(不使用特定异常),因为不需要构建链(只有一个证书),那么您应该能够直接导入证书,作为客户端信任锚的一部分,不管它是否是CA证书(但这可能取决于客户端的配置机制)。
发布于 2017-09-12 05:38:34
您可以通过openssl x509 -noout -text -in $YOUR_CERT查看文件内容之间的差异:
在您自己签名的CA中,您可以看到:
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE, pathlen:0在你的自签证书上,它是:
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSEhttps://stackoverflow.com/questions/4024393
复制相似问题