TL;DR:当被要求使用 AltSecurityIdentities 证书字段进行票证请求时,自制的 Kerberos 客户端会创建什么样的 KRB5 AS-REQ 票证请求?
但是为什么?
我有一组自定义 Java 类,它们知道如何从证书中的 SAN 提取 UPN 并使用该证书材料从 KDC 请求票证。
从历史上看,这会产生一些代表“login.name”和领域的简单字符串的 cname/principal。有了这两条信息,Windows Server KDC 的 AS-REQ 开始获取票证,并使用与 AD 树中正确用户关联的帐户和密钥详细信息处理预授权。
随着一些站点远离 UPN 主体并采用 AltSecurityIdentities,我正在考虑增强我们如何为不推荐使用 UPN 的站点执行此操作。
我遇到的问题是有很多关于在服务器上配置 AltSecurityIdentities 或为部分或所有用户启用(比如说)主题和发行者映射的信息。但我不清楚如何向 KDC 提供此信息,以便它可以在 AD 树中找到用户并沿着预授权等路径前进。关于 KRB5 客户端如何使用的信息不多当从 Windows KDC 请求票证时,将明确使用他们从证书构建的任何 AltSecurityIdentities 字符串。
简而言之,“X509:IssuerNameSubjectName”字符串是否预期被使用,以便它现在显示(例如,在 Wireshark 捕获中)作为“cname-string”?
如果我要嗅探 KRB5 客户端和 KDC 之间的网络流量,AS-REQ 请求体会是什么样子?