这是我的情况:
我正在尝试创建一个 SSL 证书,该证书将安装在所有开发人员的计算机上,以及两个内部服务器(一切都是非生产的)。
我需要做什么来创建一个可以安装在所有这些地方的证书?
现在,我使用 Microsoft Visual Studio 8\SDK\v2.0\Bin 中的 makecert 应用程序得到了一些类似的东西:
makecert -r -pe -n "CN=MySite.com Dev" -b 01/01/2000 -e 01/01/2033 -eku 1.3.6.1.5.5.7.3.1 -ss Root -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 mycert.cer
但是,我不确定如何将此 .cer 文件放在其他计算机上,当我将其安装在本地计算机 IIS 上时,每次通过 https: 访问页面时,我都会收到安全提示(即使在我已安装证书)。以前有人这样做过吗?
这是我执行此操作的脚本:
创建证书颁发机构
使用 SHA1 (-r) 创建带有可导出私钥 (-pe) 的自签名证书 (-r),用于签名(-sky 签名)。
私钥写入文件 (-sv)。
makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
-a sha1 -sky signature -cy authority -sv CA.pvk CA.cer
(^=允许批处理命令行换行)
创建服务器证书
创建具有可导出私钥 (-pe) 的服务器证书,使用 SHA1 (-a) 进行密钥交换 (-sky Exchange)。
它可以用作 SSL 服务器证书 (-eku 1.3.6.1.5.5.7.3.1)。
颁发证书位于文件 (-ic) 中,密钥 (-iv) 也是如此。
使用特定的加密提供程序(-sp、-sy)。
makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^
-eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^
-sp "Microsoft RSA SChannel Cryptographic Provider" ^
-sy 12 -sv server.pvk server.cer
pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx
然后,您可以在服务器应用程序中使用 .PFX 文件(或将其安装在 IIS 中)。请注意,默认情况下,pvk2pfx
不对输出 PFX 文件应用密码。您需要使用-po
为此切换。
要使所有客户端计算机都信任它,请安装CA.cer在他们的证书存储中(在受信任的根颁发机构存储中)。如果您位于域中,则可以使用 Windows 组策略在全局范围内执行此操作。如果没有,您可以使用证书管理器MSCMMC 管理单元或certutil命令行实用程序:
certutil -user -addstore Root CA.cer
要以编程方式在 IIS 6.0 中安装证书,请查看这篇 Microsoft 知识库文章。对于 IIS 7.0,我不知道。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)