问题描述
我正在尝试在我的客户端/服务器 http 应用程序中使用基于客户端证书的身份验证。我还需要在身份验证后模拟用户。
这是我目前所做的:
- 客户端和服务器有证书,包括私钥,由 Let´s Encrypt 颁发,支持服务器和客户端身份验证扩展密钥使用
- 我使用客户端证书的主题和颁发者为 Active Directory 用户(实际上是一台计算机)分配了一个映射
- 我将 Let´s Encrypt 的根证书导入到我的活动目录配置中(请参阅 https://www.sysadmins.lv/blog-en/understanding-active-directory-certificate-services-containers-in-active-directory.aspx)(不确定是否需要)
- 我使用 netsh add sslcert .. clientcertnegotiation=enable dsmapperusage=enable 配置了服务器证书
- 我启用了客户端代码以发送客户端证书。该证书在我的服务器代码中可见 HttpListener.GetContext().Request.GetCertificate()
不过
- HttpListener.GetContext().User 为空
我错过了什么步骤?是否需要添加任何其他代码才能获得经过身份验证的用户?
我正在使用 Samba AD DC,以防万一。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)