为 Intranet 应用程序使用自签名证书
Using a self-sign certificate for intranet applications
我正在设计一个使用 WebApi 通过 Intranet 通信的 C# 服务器-客户端应用程序,并且我一直在寻找一种加密我的通信的方法。我发现我可以使用自签名证书来满足我的需要。我的问题是 - 是否可以在程序安装过程中在客户端导入证书?我想围绕它创建某种自动化,这样我就不需要在每次安装新客户端时都手动执行此操作。
P.S - 这是我在堆栈溢出中的第一个问题,所以如果您认为我应该提供更多信息,我会很乐意这样做
你的问题的答案是 yes 或 no 取决于 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]
我正在设计一个使用 WebApi 通过 Intranet 通信的 C# 服务器-客户端应用程序,并且我一直在寻找一种加密我的通信的方法。我发现我可以使用自签名证书来满足我的需要。我的问题是 - 是否可以在程序安装过程中在客户端导入证书?我想围绕它创建某种自动化,这样我就不需要在每次安装新客户端时都手动执行此操作。
P.S - 这是我在堆栈溢出中的第一个问题,所以如果您认为我应该提供更多信息,我会很乐意这样做
你的问题的答案是 yes 或 no 取决于 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]