我有一个 ASP.NET 应用程序,它应该读取客户端 CAC 上的证书。
我的环境:Visual Studio 2012 IIS Express
在 IIS Express 中,我为客户端和服务器运行两个单独的站点。身份验证在服务器上进行。
我的服务器和客户端项目在 VS 中具有以下属性:
- 匿名身份验证 = 已启用
- SSL 启用 = 真
- Windows 身份验证 = 已禁用
- 托管管道模式 = 集成
在两个站点的 Web.config 文件中,另一个站点是通过
https://localhost:<port>
服务端代码中有一行:
string mycert = HttpContext.Request.ClientCertificate.Subject;
假设向CAC卡请求客户端的证书。这是我遇到麻烦的地方,因为我认为与客户端证书相关的所有字段都没有值(空或零)。
Q_1:如何读取客户端的 CAC 证书以便在服务器上进行身份验证?
Q_2:web.config 文件中有什么我需要更改的吗?
Q_2B:我看到了一些关于 oneToOneMapping 的内容,这可能是问题所在吗?
Q_3:我离这个还远吗?如果是这样,请告知。
谢谢!