Windows 跨所有计算机帐户导入SSL

Windows 跨所有计算机帐户导入SSL,windows,ssl-certificate,client-certificates,Windows,Ssl Certificate,Client Certificates,背景信息 开发了一个使用IIS8的web应用程序。当前正在使用IIS执行客户端身份验证。服务器对证书进行自签名,并将证书导入到特定的PC上 用户从浏览器访问站点,浏览器提示输入SSL证书(证书导入到个人文件夹) 对于具有单个帐户的PC,没有问题,因为我只是将证书导入该帐户 对于具有多个帐户的PC,如果我将证书导入本地计算机帐户,则不同的帐户将无法访问证书 查询 如何允许多个帐户访问单个证书?试图从本地计算机证书控制台向各个帐户授予个人权限,但无效。我不想单独向每个帐户颁发证书 是否有此查询的解决

背景信息

开发了一个使用IIS8的web应用程序。当前正在使用IIS执行客户端身份验证。服务器对证书进行自签名,并将证书导入到特定的PC上

用户从浏览器访问站点,浏览器提示输入SSL证书(证书导入到个人文件夹)

对于具有单个帐户的PC,没有问题,因为我只是将证书导入该帐户

对于具有多个帐户的PC,如果我将证书导入本地计算机帐户,则不同的帐户将无法访问证书

查询

如何允许多个帐户访问单个证书?试图从本地计算机证书控制台向各个帐户授予个人权限,但无效。我不想单独向每个帐户颁发证书


是否有此查询的解决方案或替代方案?

您应该尝试将身份验证(使用客户端证书)与帐户管理(即授权)分开


一个好的方法可能是只使用客户端证书来标识访问应用程序的用户(每个用户只有一个证书)。然后设置一个n:m映射以确定该用户的组,这些组在应用程序中被赋予特定的权限。这是一种将用户及其权限解耦的常用方法,以便于管理每个用户。

您是说您使用服务器证书进行客户端身份验证吗?@CryptoGuy否,服务器自行签署客户端证书进行身份验证。然后我将自签名的客户端证书导入到个人电脑上。整个设计非常糟糕。每个客户端都必须有自己的客户端证书。没有共享证书。您应该部署自己的集中式PKI,并从集中式CA向客户端颁发证书,而不是自签名证书。@CryptoGuy我们将每个客户端视为终端,而不是本地计算机帐户。即使我们部署我们自己的PKI并颁发证书,仍然无法解决是否一台PC可以为所有帐户提供一个证书的问题。每台电脑都有一个中央证书吗?不管你如何对待它们。必须以某种方式标识每个终端,并通过向每个终端颁发唯一的客户端证书来完成。否则,所有终端都被视为单个终端。用户通过用户名/密码进行身份验证。关键的一点是,他们希望确保只有经过批准的计算机才有证书,而不是识别不同的用户。这里的关键是确保连接正确的硬件。您的方法很好,但是我只想确保连接正确的硬件,因为我通过web应用程序控制用户权限。