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

标签 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) 导入到受信任的证书列表中。

但是,当我尝试执行此操作时,出现以下错误消息:

This is not a certificate authority certificate, so it can't be imported into the certificate authority list.

我在fiddler的授权证书上做了类似的事情,没问题,说明我创建授权证书的过程有问题。

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

最佳答案

也许您可以尝试在创建根证书时添加 -cy authority 参数,如下所示:

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

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

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

希望对您有所帮助!

关于c# - 如何使用 makecert 创建证书颁发机构证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13332569/

相关文章:

c# - 使用 asp.net c# 从 ListView 中的选定项目中获取值

c# - 在 Visual Studio 2013 中安装 Nsight

c# - 使用 C# 更改 Excel 文件中列的位置

.htaccess - 在 htaccess 中使用 https 协议(protocol)时删除 www

java - 如何获得可能只给出叶证书的证书链?

java - 主题中带有电子邮件地址的 x509 证书在 java .vs net 中不同

c# - 捕获最小化远程桌面的屏幕截图

facebook - 如何在没有 SSL 证书的情况下制作 Facebook Canvas 应用程序?

java - 如何在 Java 中为 https 配置 SSL 密码套件

java - 如何让机器信任自签名的 Java 应用程序