IIS7.5 – 多个用户的个人SSL证书

我想要实现一个安全模型,但我不确定用什么术语IIS / SSL来做到这一点。 我也不知道如何使它在IIS7.5中发生

我想要的过程

  • 网站的pipe理员用户(多个)创build个人证书(.p12 / .pfx / something)
  • 服务器操作员将此证书的一面安装到IIS(对于每个pipe理员)
  • pipe理员将证书的另一面导入浏览器
  • 然后,pipe理员向其网站的pipe理区域进行身份validation,使用SSL作为护照,以便能够到达pipe理员login区域附近的任何地方

我将如何去实现上面的模型? 我几乎需要一步一步的证书生成和IISconfiguration。 我不确定在网站身份validation之前是否需要某种基于Windows的身份validation,以及将某些证书映射回Windows用户。

我猜我需要每个pipe理员专用的Windows用户,同步证书。 请注意,这是Win2k8的R2 + IIS 7.5,不交换或域驱动的东西,只是一个普通的服务器没有所有的AD废话。

你有两个单独的问题。

  1. devise一种生成和维护证书的方法。 通常,这意味着安装一个CA并使用它来签署用户生成的证书。 这是一个相当复杂的话题,但您可能需要先安装并理解Windows中的“证书颁发机构”angular色。 尽pipe如此,不要将它安装在与Web服务器相同的机器上。
  2. 在IIS 7.5中实现客户端证书身份validation规则 这其实并不太复杂。

以下是有关如何在IIS 7.5中设置客户端证书身份validation的详细信息:

  • 在angular色pipe理器中,安装名为“IIS客户端证书映射authentication”的IISangular色服务
  • 打开IISpipe理器,然后select要保护的站点或文件夹。
  • 打开“configuration编辑器”并浏览到“system.webServer / security / authentication / iisClientCertificateMappingAuthentication”部分。
  • 将“enabled”设置为“true”。

现在,您可以select不同的选项(可以同时启用):多对一和一对一的映射。 请参阅此文档以了解如何设置,但基本上,您要创build要接受的每个证书的base-64编码版本,在文本编辑器中打开它,删除“开始证书”和“结束证书”行,删除它的所有换行符,然后在configuration编辑器中创build一个映射条目,使用用于该证书login的Windows用户名和密码,并使用刚在“证书”字段中创build的string。

使用人对地映射有点复杂,因为您必须指定客户端证书的哪个字段用于validation客户端证书(而不是使用整个证书),但是如果您拥有多个证书,则可以更容易维护用户(因为您不需要在Web服务器上安装每个单独的证书)。

另外,要知道所有使用NEED的证书在服务器上都是有效的:您需要将它们安装在服务器系统的证书存储区(而不是您的用户,系统的),在“可信人员”部分(用于自签名和“用户证书”中的“受信任的根CA”(对于证书根)或“中间证书颁发机构”(对于ICA)。

您需要映射Windows身份validation的客户端证书(如果需要的话)。 您可能会发现从microsoft以下两篇文章有帮助。 他们有一个一步一步的过程。 一个是MSDN文章。 另一个是Microsoft支持知识库文章。

http://msdn.microsoft.com/en-us/library/ff649203.aspx

http://support.microsoft.com/?id=907274

希望它有帮助。

我最初的想法是,你想要SSL来做一些没有devise的东西,但是当然有客户端证书。

看看这篇关于iisadmin.co.uk的文章

http://www.iisadmin.co.uk/?p=11

-Lewis