【问题标题】:Client Certificate and HttpWebRequest客户端证书和 HttpWebRequest
【发布时间】:2014-09-02 17:08:27
【问题描述】:

我有两把钥匙

一个 .PEM 文件和一个 .KEY 文件。 pem 密钥为 X509 格式。

我从提供商处获得了 pem 文件(我已将 .csr 发送给提供商)。

我将使用 Microsoft Visual C# .NET 中的 HttpWebRequest 和 HttpWebResponse 类发送客户端证书。

为此,我使用 windows 中的 mmc 工具在 2003-windows-server 上注册了 pem 文件:

1) 单击开始,单击运行,键入 mmc,然后单击确定。 2) 在文件菜单上,单击添加/删除管理单元。 3) 在“添加/删除管理单元”对话框中,单击“添加”。 4) 在添加独立管理单元对话框中,单击证书,然后单击添加。 5) 在“证书管理单元”对话框中,单击“计算机帐户”,然后单击“下一步” 6) 在选择计算机对话框中,单击完成。 7) 在添加独立管理单元对话框中,单击关闭,然后单击确定。 8) 展开证书(本地计算机),展开个人,然后单击证书。

然后我已经导入了 pem 文件(也使用 mmc)。

问题是: 如何授予证书权限?

我试过这个(WinHttpCertCfg.exe 工具):

winhttpcertcfg -l -c LOCAL_MACHINE\Root -s NON-Production.pem

那么 .key 文件呢?

【问题讨论】:

    标签: asp.net certificate windows-server-2003


    【解决方案1】:

    下载XCA。它是一个构建在 openssl 之上的应用程序,可以帮助您从 .key-file 和 .pem-file 创建一个 p12 文件。很简单。在 Private Keys 选项卡上导入 .key 文件。在 证书 选项卡上导入 .pem 文件。然后在 Certificates 选项卡上将证书导出为 PKCS#12(组合框 Export Format)。如果您愿意,请设置密码或留空。然后你可以按照你写的那样使用 mmc 导入这个 .p12 文件。

    现在您可以使用 winhttpcertcfg 设置私钥的权限。 This 文档将为您提供帮助。 (参数 -s 表示主题。在 mmc 中打开导入的证书并在主题字段中查找 CN=something。然后使用 -s 参数添加此 something)。

    【讨论】:

    • 看起来很有趣。我会试试的。也许你可以进一步帮助我。我基本上有一家公司的这种卷曲,必须转换为.NET。 curl -k -v -X GET "FIRMA.com/api/Status?q=AAA&userId=BBB" --cert recieved_key.pem --key myselfgenerated.key 在我完成了你所描述的之后,下一步是使用这个命令发送一个携带新的 https-request .p12 文件? X509Certificate cert = X509Certificate.CreateFromCertFile("d:\\cert\\abc.p12");像这样:codeproject.com/Articles/28395/…
    • 应该这样使用X509Certificate2 cert = new X509Certificate2("d:\\cert\\abc.p12", "Password");。如果您的密码为空,则使用空字符串作为密码。
    • 现在一切正常。我很感激。非常感谢。
    猜你喜欢
    • 2018-09-05
    • 1970-01-01
    • 2012-11-10
    • 2011-07-01
    • 2010-10-16
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多