Csharp/C#教程:从httprequest C#读取客户端证书分享


从httprequest C#读取客户端证书

我试图使用Request.ClientCertificate读取X509证书,但没有返回任何内容。 证书肯定附加到请求,因为我可以从发送请求的页面获取证书信息。

我曾尝试从几个不同的地方阅读证书,但似乎无法让它工作。

我从这篇KB文章的代码开始。 在请求的页面中,我尝试打印出有关证书的一些信息,但响应中没有返回任何内容。

这是在IIS 5.1上运行,通信是通过SSL进行的。 这必须使用.Net框架的第2版完成

为什么证书似乎消失了?

我不久前写了一个识别网页,寻找客户端证书,如果找到则会显示证书信息。 我相信这就是你要找的……这是页面:

<%@ Page Language="C#" Trace="false" %>  <%@ Import Namespace="System.Security.Cryptography.X509Certificates" %> <%@ Import Namespace="System.Security.Cryptography" %>    <% Page.Response.Write(System.Environment.MachineName); %>   <% LoadCertInfo(); %>   

我不确定您需要什么样的客户端证书,但如果您将其用于自己的自定义身份validation或授权,则可能需要考虑使用Web服务器的安全基础结构而不是实现自己的安全基础结构。 例如,您可以将IIS配置为需要客户端证书,将证书映射到用户帐户,以及使用基于Windows的身份validation。 当然,这不一定适用于您的问题域。

好吧,它还不完全清楚,但你有一个网站,要求客户使用证书进行身份validation? 因为这就是Request.ClientCertificate属性的用途。

我这样说是因为你的问题有些奇怪。

“我可以从发送请求的页面获取证书信息。”

一般来说,页面并不真正发送客户端的请求。

要获得服务器证书,您可以打开X509Store并筛选证书,找到您需要的CN。

上述就是C#学习教程:从httprequest C#读取客户端证书分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957563.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐