为 Intranet 应用程序使用自签名证书

Using a self-sign certificate for intranet applications

我正在设计一个使用 WebApi 通过 Intranet 通信的 C# 服务器-客户端应用程序,并且我一直在寻找一种加密我的通信的方法。我发现我可以使用自签名证书来满足我的需要。我的问题是 - 是否可以在程序安装过程中在客户端导入证书?我想围绕它创建某种自动化,这样我就不需要在每次安装新客户端时都手动执行此操作。

P.S - 这是我在堆栈溢出中的第一个问题,所以如果您认为我应该提供更多信息,我会很乐意这样做

你的问题的答案是 yesno 取决于 Private Key 属性 在创建期间被标记为可导出。由于它是自签名证书,因此大多数用于创建证书的工具始终启用此 属性。因此,您应该能够从 .pfx 扩展名中的源计算机中导出证书和私钥,然后在目标计算机上导入此证书文件。

我假设您不担心证书信任问题,因为您使用的是自签名证书。

更新

要通过 MMC 导入证书,请参阅此处提供的说明:Export a certificate with private key

您可以使用certmgr.exe or certutil.exe通过命令行导入证书。看到这个:

PowerShell 类似,您可以使用 Import-Certificate commandlet。参考这篇文章: https://technet.microsoft.com/en-us/itpro/powershell/windows/pkiclient/import-certificate

另请参阅此主题:Import Certificate to Trusted Root but not to Personal [Command Line]