首页 > 解决方案 > 如何在窗口中发布(或创建)kerberos 票证?

问题描述

微软提供了多种被称为“安全支持提供者”的Windows 凭证提供者作为 microsoft windows 的一部分,例如
・密码(*1)
・智能卡(window authentication 中的证书)(*2)
・window hello、PIN(FIDO 2) (*3)

Kerberos 是在 Windows 上验证用户以使用密码进行交互式登录和使用 Kerberos 票证进行网络登录的主要方法。 域用户登录过程

通过使用上面的 (*1) 或 (*2) 或 (*3),我真的很想知道是否有任何简单的方法来发布(创建)kerberos 票证?

我还咨询了有关此模型(域用户登录过程)的 microsoft API 集,但似乎没有用于问题(创建)票证 kerberos 的 API。

我引用的 API:SSPI:https: //docs.microsoft.com/en-us/windows/win32/api/sspi/ LsaLogonUser:https ://docs.microsoft.com/en-us/windows/win32/ api/ntsecapi/nf-ntsecapi-lsalogonuser

请告诉我。提前致谢!

标签: kerberoswindows-authenticationcredential-providers

解决方案


凭证提供者不是 SSP;他们是凭证提供者。他们将您使用的凭证从输入(键盘、生物、智能卡)传送到 SSP。他们不打算做繁重的工作。SSP 执行对您授权的任何服务进行身份验证的实际协议工作。

您引用的图像在技术上并不准确,因为那是 Vista 之前的过程。图像左侧的所有内容都已过时。右侧仍然大部分是正确的。

撇开色彩评论不谈,Samson 是正确的。AD 是票证创建者,获得它来创建票证的唯一方法是在您使用凭证进行身份验证后请求它,并将其用于特定命名服务的命名凭证。您请求票证的方式是通过 SSPI ACHISC功能。SSP 是这些功能的内部实现。

LsaLogonUser将验证凭据并将生成的票证存储在专用缓存中(与默认登录的会话缓存分开)。您经常调用CredUIPromptForWindowsCredentials来收集凭据,并将缓冲区传递给LsaLogonUserACH 函数。


推荐阅读