c# - .NET/C# 客户端证书身份验证和模拟
问题描述
我正在尝试在我的客户端/服务器 http 应用程序中使用基于客户端证书的身份验证。我还需要在身份验证后模拟用户。
这是我到目前为止所做的:
- 客户端和服务器有证书,包括私钥,由 Let´s Encrypt 颁发并支持服务器和客户端身份验证扩展密钥使用
- 我使用客户端证书的主题和颁发者为活动目录用户(实际上是计算机)分配了一个映射
- 我将 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,以防万一。
解决方案
推荐阅读
- javascript - csv-parse 模块 (npm) 引用的回调函数中更新的全局变量未更新
- python - 无法将大型 csv 文件从 s3 存储桶读取到 python
- python - 如何卷积两个 fft 的 wav 文件
- excel - 使用变量引用工作簿
- java - 如何在不将数据加载到应用程序内存中的情况下执行 SQL 查询并将结果放入结果表中?
- node.js - Google Home 如何组织“多功能”设备?
- c++ - 为什么不将路径除以默认构造路径只需在 Visual Studio 中添加尾随分隔符?
- node.js - 在全局(单例)服务中使用特定于请求的上下文
- android - Android VideoView 控件未显示
- c - 如何为哈希表 int C 分配内存?