2011-09-25 168 views
2

我正在尝试制作X.509证书。我正在使用makecert.exe来做到这一点。我用这个命令让我的X.509证书
如何制作X.509证书?

makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyServerCert -sky exchange –pe 

但我不`吨知道有X.509证书storeing。
我需要在我的c#代码中使用此X.509证书。代码是:

host.Credentials.ServiceCertificate.Certificate = new X509Certificate2("MyServerCert.p12", "password"); 

但我不知道密码是什么,它引发此异常“系统找不到指定的文件”。

回答

8

我总是使用PluralSight的SelfCert工具。您可以下载here。相同的页面也提供了用法和代码示例。

伟大的免费工具,离不开它。

+1

非常感谢我的兄弟 – Vero009

+0

链接已损坏。 https://www.pluralsight.com/blog/software-development/selfcert-create-a-self-signed-certificate-interactively-gui-or-programmatically-in-net可能是它的新位置。 – Theophilus

+0

@Theophilus,thx,固定链接 – kroonwijk

5

我很高兴,你必须找到makecert命令,但或许,如果你也将检查makecert documentation你发现那里的证书存储,因为它是在你的命令的PARAMATERS定义:

  • SR说,证书将用于LocalMachine存储位置产生
  • SS说证书将被存储在PersonalMy)商店

的certific吃了被存储在证书存储,以便使用MMC.EXE找到它:

  • 打开开始菜单
  • 在搜索/运行键入mmc和运行它
  • 在文件菜单中选择添加/删除管理单元
  • 选择证书管理单元与本地计算机的范围和确认选择

现在在个人存储称为MyServerCert您LOCALMACHINE选择证书,并从上下文菜单中选择所有任务>导出。在导出过程中,检查是否需要导出私钥,但不检查扩展安全性或私钥删除。您还必须选择存储导出证书的路径以及访问私钥的密码。

从VS命令提示符下,您还可以运行此命令,将执行导出你还有:

certutil.exe -privatekey -p password -exportpfx "MyServerCert" C:\Temp\MyServerCert.pfx 

应该用私钥对Temp目录和密码,证书将是password导出证书。

+0

非常感谢我的兄弟。 – Vero009