我们的程序需要使用合作伙伴提供的第三方证书。该证书要求我们安装一个在连接到客户端服务器之前也提供给我们的证书颁发机构。本质上,我们必须使用自签名证书。
该应用程序是用 C# 编写的。我可以在运行我们的应用程序之前指导最终用户如何安装证书颁发机构,但理想情况下,我只想暂时添加/信任证书颁发机构 .pfx 文件并将该文件作为资源嵌入到 .exe 中。
有人有想法吗?
我们的程序需要使用合作伙伴提供的第三方证书。该证书要求我们安装一个在连接到客户端服务器之前也提供给我们的证书颁发机构。本质上,我们必须使用自签名证书。
该应用程序是用 C# 编写的。我可以在运行我们的应用程序之前指导最终用户如何安装证书颁发机构,但理想情况下,我只想暂时添加/信任证书颁发机构 .pfx 文件并将该文件作为资源嵌入到 .exe 中。
有人有想法吗?
我的第一个想法(如评论中所述)是在#if DEBUG 条件编译(或使用您自己的自定义变量)中使用 Process.Start() 来运行 certutil。请参阅本文了解如何使用 certutil 安装第三方 CA:http: //support.microsoft.com/kb/295663
要将 CA 证书导入 Enterprise NTAuth 存储,请执行以下步骤: 将 CA 证书导出到 .cer 文件。支持以下文件格式: DER 编码的二进制 X.509 (.cer) Base-64 编码的 X.509 (.cer) 在命令提示符处,键入以下命令,然后按 ENTER: certutil -dspublish -f 文件名 NTAuthCA
Process.Start() 文档:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx
您也可以只编写一个 bacth 文件来安装和卸载,并将其包含在您的源代码控制或项目中,并带有自述文件。