gpt4 book ai didi

windows - Windows 上特定于应用程序的 X509 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:53 26 4
gpt4 key购买 nike

我正尝试在我的公司内建立一个内部 CA。这样做的主要目的之一是向我们的客户颁发证书,他们将使用这些证书在我们的客户端和服务器应用程序(均基于 Windows 操作系统)之间建立 TLS 连接。我目前在以下限制条件下工作:

  • 服务器证书将颁发给我们的每个服务器客户,并且应该安装在客户的服务器上,以便我们的服务器应用程序可以使用它来建立 TLS session 。
  • 我们 CA 的受信任根证书将与我们的客户端应用程序打包在一起,并且应该与应用程序一起静默安装,以便客户端应用程序可以使用它来验证服务器证书。 (假定安装程序在客户端计算机上具有管理访问权限。)
  • 受信任的根证书应该可供客户端计算机上的客户端应用程序的任何用户使用,并且不需要用户提供密码即可访问。
  • 我犹豫是否将受信任的根证书放在本地机器证书存储的“受信任的根证书颁发机构”部分,因为它可以在更大的范围内使用,而不是简单地验证我们的应用程序(为 IE 验证网页,例如。)如果我们的根证书遭到破坏,我宁愿将损害限制在我们自己的应用程序中。

我应该在哪里以及如何在服务器和客户端计算机(同样,都使用 Windows 操作系统)上安装服务器证书和受信任的根证书,以便满足这些限制?

最佳答案

Common Application Data 文件夹是 CA 证书和服务器证书(但不是服务器私钥!)的合适位置!

安装的“方式”取决于打包和分发方法——对于 WiX,您可以使用如下方式:

<Directory Id="CommonAppDataFolder" Name="ComApptDt" >
<Directory Id="ProductAppData" Name="ProductName" >
<!-- add reference to the appropriate certificate here -->
</Directory>
</Directory>

确定 Common AppData 文件夹在代码中的位置取决于编程语言和框架。 .NET 有一个 the Environment.SpecialFolders枚举。对于 native C++,How do I get the application data path in Windows using C++?是一个很好的起点。

关于windows - Windows 上特定于应用程序的 X509 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com