如何临时添加/信任我的程序的证书颁发机构?

时间:2014-08-07 18:04:42

标签: c# x509certificate certificate-authority

我们的计划需要使用合作伙伴提供的第三方证书。此证书要求我们安装在连接到客户端服务器之前也提供给我们的证书颁发机构。基本上我们必须使用自签名证书。

应用程序是用C#编写的。我可以在运行我们的应用程序之前指示最终用户如何安装证书颁发机构,但理想情况下我只是暂时添加/信任证书颁发机构.pfx文件并将该文件作为资源嵌入.exe。

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

我的第一个想法(如评论中所述)将在#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 filename   NTAuthCA

Process.Start()文档:

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx

您也可以编写一个bacth文件进行安装和卸载,并将其包含在源代码管理或带有自述文件的项目中。