我的问题:是否有更好的方法来启用2域之间的身份validation比我在下面做的,是名称映射正确的事情使用?
有2个领域; 一个是主要的企业领域,另一个是较小的子领域。
公司域拥有公司中每个用户的帐户,并生成一个电子邮件证书(支持客户端authentication)。 子域名与企业域名之间没有信任关系; 而子域中的用户有2个login名:一个用于公司域,另一个用于子域。
小的子域名托pipe一个网站,需要一个用户名和密码。 我们希望使用带有电子邮件证书的智能卡,因此login到任何一个域对用户都是透明的。
我开始手动为子域创build名称映射到由公司域颁发的电子邮件证书,但我知道如何获得这些证书的唯一方法是让用户向我发送签名的电子邮件,然后将证书导出到文件。
该过程如下所示:
因此,现在用户可以对站点进行身份validation,该站点使用由主域颁发的证书在子域的域控制器上查找他们的凭据。
注意事项:
证书信任可以(并且通常)独立于AD工作。
要迂腐,如果子域是另一个AD域的子域,则信任关系已经build立,但是我怀疑你已经将“子”域configuration为新林中的新域。 虽然尴尬,这应该工作。
无论如何,除了AD外,为了使用客户端证书对用户进行身份validation,服务器需要信任客户端证书进行身份validation,并且需要某种方式将证书的主体映射到安全主体(例如a用户)。 你目前的解决scheme是这样做的,所以这是正确的。
如果您愿意,可以强制用户(或其IT部门)以某种格式(例如PEM)向您发送导出的证书,以及关于哪些证书与哪些帐户相对应的信息。 这可能会也可能不会更容易,并且将分发与S / MIME签名的电子邮件分发的完全相同的信息。