kerberos - 如何在窗口中发布(或创建)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
请告诉我。提前致谢!
解决方案
凭证提供者不是 SSP;他们是凭证提供者。他们将您使用的凭证从输入(键盘、生物、智能卡)传送到 SSP。他们不打算做繁重的工作。SSP 执行对您授权的任何服务进行身份验证的实际协议工作。
您引用的图像在技术上并不准确,因为那是 Vista 之前的过程。图像左侧的所有内容都已过时。右侧仍然大部分是正确的。
撇开色彩评论不谈,Samson 是正确的。AD 是票证创建者,获得它来创建票证的唯一方法是在您使用凭证进行身份验证后请求它,并将其用于特定命名服务的命名凭证。您请求票证的方式是通过 SSPI ACH和ISC功能。SSP 是这些功能的内部实现。
LsaLogonUser
将验证凭据并将生成的票证存储在专用缓存中(与默认登录的会话缓存分开)。您经常调用CredUIPromptForWindowsCredentials来收集凭据,并将缓冲区传递给LsaLogonUser
ACH 函数。
推荐阅读
- ios - .documentDirectory 中存储的文件在哪里?
- swift - Core Data 中什么样的查询可以从 R-Tree 属性索引中获益?
- python - 无法在 Windows 10 和 Python 3 上创建长文件名
- javascript - 尝试将数据输入数据库时,使用无效数据调用 DocumentReference.set()
- javascript - 如何在交易视图库上设置价格比例?
- google-cloud-platform - Google iot MQTT - ESP32 第一次连接,仅在 30m 后重新连接
- swift - 上传个人资料图片。无法将从库中挑选的照片分配给用户节点中的 profilepic
- java - 如何使用 DatePickerSkin 在 Java 中缩放 datePicker
- python - discord.py - 没有 DM 发送给用户
- github-graphql - 如何使用 Github GraphQL.NET 获取 repo 的问题列表