【发布时间】:2012-02-02 20:54:20
【问题描述】:
我正在开发一个 ASP.NET WebForms 应用程序,我被要求从 Windows 窗体身份验证切换到 PKI 证书身份验证;我对此知之甚少。
在查看了各种网络帖子及其代码 sn-ps 之后,我认为我知道的足够多,至少可以开始嗅探 PKI 证书(或任何客户端证书)。具体来说,我正在使用:
X509Certificate2 cert = new X509Certificate2(Page.Request.ClientCertificate.Certificate);
X500DistinguishedName dn = cert.SubjectName;
所以我在第 2 行设置了一个断点,在 Visual Studio 中按 F5。调试开始,但 'cert' 始终为空。然后我意识到我的计算机上没有个人证书,所以我下载了 Firefox 插件密钥管理器,创建了一个虚拟证书,然后再次尝试相同的结果,“证书”始终为空。
然后,我开始使用命令行工具 makecert,但仍然 'cert' 始终为空。
我使用 IIS Express 7.5 进行调试,尝试了 http 和 https。
我需要做什么才能将个人证书附加到任何 Web 请求,并让我的 ASP.NET 应用程序获取它们?
【问题讨论】: