如何使用makecert创建证书颁发机构证书?

时间:2012-11-11 15:29:10

标签: c# https certificate makecert

我正在尝试创建一个使用SSL并带有自签名证书的网站。

这就是我的所作所为:

创建授权证书:

makecert -n "CN=root signing authority" -r -sv root.pvk root.cer

创建目标证书

makecert -r -pe -n "CN=localhost" -b 01/01/2012 -e 01/01/2020 -sky exchange localhost.cer -sv localhost.pvk

签署创建的证书

makecert -ic root.cer -iv root.pvk -n "CN=localhost" -sv localhost.pvk -pe -sky exchange localhost.cer

使用

中的私钥创建证书
pvk2pfx.exe -pvk localhost.pvk -spc localhost.cer -pfx localhost.pfx

现在,我想使用firefox来调试网站。为此,我需要将权限根证书(root.cer)导入可信证书列表。

但是,当我尝试这样做时,我收到以下错误消息:

  

这不是证书颁发机构证书,因此无法导入证书颁发机构列表。

我已经用fiddler的权威证书做了类似的事情,并且一切顺利,这意味着我的创建权威证书的过程存在问题。

如何正确创建证书颁发机构证书?

2 个答案:

答案 0 :(得分:13)

也许您可以尝试在根证书创建中添加 -cy authority 参数,例如:

makecert -n "CN=root signing authority" -cy authority -r -sv root.pvk root.cer

因此,您声明您正在创建一个权威证书并且应该完成这项工作..或者至少让您走上正轨=)

我尝试使用此命令行创建根证书并将其导入Firefox:我可以确认,如果您不添加“-cy”参数,Firefox将不会将其视为有效的根证书。

希望有所帮助!

答案 1 :(得分:0)

两个最佳和简单的帮助页面:

https://blogs.msdn.microsoft.com/benjaminperkins/2014/05/05/make-your-own-ssl-certificate-for-testing-and-learning/

https://blog.jayway.com/2014/09/03/creating-self-signed-certificates-with-makecert-exe-for-development/

一些例子:

certmgr.exe -add -all -c "benperkmeCA.cer" -s -r localMachine Root

makecert -pe -iv benperkmeCA.pvk -n "CN=benjamin-perkins.me" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -ic BenperkmeCA.cer IIS-ServerCert-Benperk.cer


makecert -pe -iv benperkmeCA.pvk -n "CN=benjamin-perkins.me" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -ic BenperkmeCA.cer IIS-ServerCert-Benperk.cer

makecert -pe -iv benperkmeCA.pvk -n "CN=benjamin-perkins.me" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -ic BenperkmeCA.cer IIS-ServerCert-Benperk.cer

makecert -pe -iv benperkmeCA.pvk -n "CN=benjamin-perkins.me" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -ic BenperkmeCA.cer IIS-ServerCert-Benperk.cer