首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用makecert进行开发SSL

使用makecert进行开发SSL
EN

Stack Overflow用户
提问于 2009-01-30 18:40:05
回答 2查看 78.4K关注 0票数 55

这是我的情况:

我正在尝试创建一个SSL证书,该证书将安装在所有开发人员的计算机上,以及两个内部服务器(一切都是非生产的)。

我需要做什么才能创建一个可以安装在所有这些地方的证书?

现在,使用Microsoft Visual Studio 8\SDK\v2.0\Bin中的makecert应用程序,我得到了一些类似的东西:

代码语言:javascript
复制
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:访问页面时,我都会得到安全提示(即使在我安装了证书之后)。以前有人这么做过吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-01-30 18:58:49

以下是我用来完成此操作的脚本:

创建证书颁发机构

使用SHA1 (-r)创建具有可导出私钥(-pe)的自签名证书(-r),用于签名(-sky签名)。将私钥写入文件(-sv)。

代码语言:javascript
复制
makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
         -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer

(^=允许批处理命令行换行)

创建服务器证书

使用SHA1 (-a)创建具有可导出私钥(-pe)的服务器证书,以进行密钥交换(-sky交换)。它可以用作SSL服务器证书(-eku 1.3.6.1.5.5.7.3.1)。颁发证书和密钥(-iv)都在一个文件(-ic)中。使用特定的加密提供程序(-sp、-sy)。

代码语言:javascript
复制
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 MMC管理单元或certutil命令行工具:

代码语言:javascript
复制
certutil -user -addstore Root CA.cer

要在IIS6.0中以编程方式安装证书,请查看this Microsoft KB article。对于IIS 7.0,我不知道。

票数 140
EN

Stack Overflow用户

发布于 2010-03-25 04:49:50

您应该在创建证书颁发机构时将-cy authority添加到开关中,否则某些证书存储不会将其视为正确的CA。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/496658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档