【问题标题】:Using a self-sign certificate for intranet applications为 Intranet 应用程序使用自签名证书
【发布时间】:2017-07-26 09:38:51
【问题描述】:

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

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

【问题讨论】:

  • 您有 Active Directory 吗?然后,您可以简单地与 GPO 共享证书。
  • letsencrypt.org 获取开箱即用的免费可信证书。

标签: c# asp.net-web-api2 ssl-certificate self-signed


【解决方案1】:

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

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

更新

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

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

对于 PowerShell,您也可以使用 Import-Certificate 命令行开关。请参阅这篇文章以供参考: https://technet.microsoft.com/en-us/itpro/powershell/windows/pkiclient/import-certificate

另见此贴:Import Certificate to Trusted Root but not to Personal [Command Line]

【讨论】:

  • 感谢您的回答。我确实有私钥 .pfk 文件。所以我从你的回答中了解到我可以自动导入证书 - 但我也想知道我应该使用什么方法来做到这一点。
  • 有几种方法可以导出证书文件。我将在答案中添加详细信息。
  • 再次感谢您,但我认为我不够清楚......我的主要目标是以编程方式在客户端导入证书 - 不使用像 MMC 等的 Windows GUI......所以我有我的 .pfk 文件,我想在客户端安装我的程序,并在安装过程中运行一些代码/命令行工具以自动将包含的证书导入用户个人证书存储。
猜你喜欢
  • 2021-10-29
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多