使用makecert进行开发SSL
这是我的情况:
我试图创build一个SSL证书,将安装在所有开发人员的机器,以及两个内部服务器(一切都是非生产)。
我需要做什么来创build一个可以在所有这些地方安装的证书?
现在我已经有了一些东西,使用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访问一个页面时,都会得到安全提示(即使在我已经安装了证书)。 有没有人做过这个?
这是我做这个脚本:
创build证书颁发机构
使用SHA1(-r)创build一个带有可导出私钥(-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
(^ =允许批处理命令行换行)
创build服务器证书
使用SHA1(-a)创build带有可导出私钥(-pe)的服务器证书以进行密钥交换(-sky交换)。 它可以用作SSL服务器证书(-eku 1.3.6.1.5.5.7.3.1)。 颁发证书的文件(-ic)和密钥(-iv)一样。 使用特定的encryption提供程序(-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组策略在全球范围内执行此操作。 如果没有,则可以使用certmgr.msc MMCpipe理单元或certutil命令行实用程序:
certutil -user -addstore Root CA.cer
要以编程方式在IIS 6.0中安装证书,请查看此Microsoft知识库文章 。 对于IIS 7.0,我不知道。
创build证书颁发机构时,您应该向交换机添加-cy authority
,否则某些证书存储将不会将其视为适当的CA.
- 如何在事件日志中查找应用程序池回收
- 源未find,但部分或全部事件日志无法search。 无法访问的日志:安全
- 如何为网站find相应的日志文件文件夹?
- caching特定的Javascript和CSS文件
- HTTP错误403.14 – 禁止 – Web服务器configuration为不列出此目录的内容
- 在Windows 10预览版中,无法在Microsoft Edge(Project Spartan)中打开本地主机
- 浏览器取消请求时出现ASP.NET Web API OperationCanceledException
- IIS 7.5 +为RESTFul服务启用PUT和DELETE,不扩展
- IIS劫持CORS预检选项请求