【问题标题】:How to make X.509 certificate?如何制作 X.509 证书?
【发布时间】:2011-09-25 18:31:25
【问题描述】:

我正在尝试制作 X.509 证书。我正在使用 makecert.exe 来制作它。我使用这个命令来制作我的 X.509 证书

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

但我不知道 X.509 证书正在存储。
我需要在我的 c# 代码中使用这个 X.509 证书。代码是:

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

但我不知道密码是什么,它抛出这个异常“系统找不到指定的文件。”

【问题讨论】:

    标签: wcf c#-4.0 wcf-security x509certificate x509


    【解决方案1】:

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

    很棒的免费工具,离不开它。

    【讨论】:

    【解决方案2】:

    很高兴您找到了 makecert 命令,但如果您还要检查makecert documentation,您可能会发现证书的存储位置,因为它是在命令的参数中定义的:

    • sr 表示将为LocalMachine 存储位置生成证书
    • ss 表示证书将存储在Personal (My) 存储中

    证书存储在证书存储中,因此请使用 MMC.exe 找到它:

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

    现在在 LocalMachine 的 Personal store 中选择名为 MyServerCert 的证书,然后从上下文菜单中选择 All Tasks > Export。在导出期间检查您是否要导出私钥,但不要检查扩展安全性或私钥删除。您还必须选择存储导出证书的路径和访问私钥的密码。

    您也可以在 VS 命令提示符下运行此命令,该命令也将为您执行导出操作:

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

    它应该将带有私钥的证书导出到临时目录,证书的密码将是password

    【讨论】:

      猜你喜欢
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多