如何链接SSL证书

时间:2010-10-22 14:04:44

标签: ssl certificate chaining keytool

有没有什么办法可以将我们自己生成的密钥对与已连接到根CA的现有证书链接起来(例如:verisign)?基本上我的问题在下面的图表中描述

Verisign Root CA
     |
     --> Company XYZ certificate
                     |
                     ---> Server foo certificate

我为服务器foo生成密钥对后,如何将其与公司XYZ证书链接?

2 个答案:

答案 0 :(得分:4)

如果公司XYZ拥有Intermediate Certificate Authority证书,那么您可以。这种证书由根CA授权发布新证书,并且这一事实在创建时由特定属性(基本约束,密钥用法,增强密钥用法)确定。

但是,如果公司XYZ拥有常规证书,例如用于识别网站,电子邮件用户或软件开发人员,则无法进行。即使在实践中认为没有什么能阻止你创建一个新证书并用另一个证书签名(如果你有它的私钥),我认为你不会获得有效的证书。

因此,如果您拥有正确的证书,则必须使用它签署foo。您可以使用makecertopen ssl来创建新的X509 Certificate。例如:

makecert -pe -n "CN=foo" -a sha1 -sky exchange -eku 1.3.6.1.5.5.7.3.1 -in "Company XYZ" -is my -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -ss my -sr LocalMachine

您需要在Windows证书存储区的本地计算机/个人位置安装公司XYZ的证书。生成的证书将添加到同一个地方,您可以从那里以各种格式(.pfx,.cer,.p7b)导出它。这也创建了新证书的密钥对。

答案 1 :(得分:1)

如果您有两个证书,请尝试连接证书文件。如果没有,请修改您的问题,以便我们知道您在这个过程中的位置。

如果您在Apache服务器上进行设置,请查看mod_ssl的SSLCertificateChainFile指令。