有没有什么方法可以将我们自己生成的密钥对与已链接到根 CA(例如:verisign)的现有证书链接起来?基本上我的问题如下图所示
Verisign Root CA
|
--> Company XYZ certificate
|
---> Server foo certificate
一旦我为服务器 foo 生成了密钥对,如何将其与公司 XYZ 证书链接起来?
如果 XYZ 公司有中级证书颁发机构 http://en.wikipedia.org/wiki/Intermediate_certificate_authorities证书就可以了。此类证书由根 CA 授权颁发新证书,这一事实在创建时由特定属性(基本约束、密钥用法、增强密钥用法)确定。
但如果 XYZ 公司拥有常规证书,例如用于识别网站、电子邮件用户或软件开发人员,则这是不可能的。即使在实践中没有什么可以阻止您创建一个新证书并用另一个证书对其进行签名(如果您有它的私钥),我认为您不会获得有效的证书。
因此,如果您拥有正确类型的证书,则必须用它来签署 foo。您可以使用makecert http://msdn.microsoft.com/en-us/library/bfsktky3%28VS.80%29.aspx or open ssl http://www.openssl.org/docs/apps/x509.html用于创建一个新的X509证书 http://en.wikipedia.org/wiki/X.509。例如:
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
您需要将公司 XYZ 的证书安装在 Windows 证书存储中的本地计算机/个人位置。生成的证书将添加到同一位置,您将能够以各种格式(.pfx、.cer、.p7b)从那里导出它。这还会为新证书创建密钥对。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)