27.2.2 ASP/ASP.NET页面获取客户端证书的方法

本文介绍了在ASP/ASP.NET环境中如何获取客户端数字证书,包括使用Request.ClientCertificate和Request.ServerVariables方法。通过示例代码展示了如何读取证书的详细信息,如持有者和发行者信息,并强调了中文信息可能出现的乱码问题。
摘要由CSDN通过智能技术生成

ASP/ASP.NET页面上读取客户端数字证书有两中方法,分别是读取Request.ClientCertificatekey[SubField])和读取Request.ServerVariblesServer Environment Variable)。

1.读取Request.ClientCertificate(key[SubField])

ClientCertificate集合是X509标准规定的从Web浏览器发布请求中获取证书验证字段。如果Web服务器没有要求客户端证书验证,ClientCertificate集合将返回EMPTY。它的语法如下所示。

Request.ClientCertificate(key[SubField])

参数:Key指定要获取证书字段的名称。对于Key,该集合具的关键字如下表所示:

.ClientCertificate(key[SubField])支持的key关键字和意义

意义

Certificate

ASN.1 格式的二进制流字符串,即完整的证书内容。

Flags

一组标志,提供其他客户端证书信息。可以设置下面的标志:ceCertPresent(当前的客户端证书)和ceUnrecognizedIssuer(该链接上来自未知的发行者的最后一个证书)。

Issuer

包含子字段值的列表的字符串,此列表包含证书颁发者的信息。若该值在无SubField项的情况下指定,则ClientCertificate集合返回一个以逗号分隔的子字段列表。例如:C=US, O=Verisign等。

SerialNumber

包含证书的序列号的字符串,序列号以连字符(-)分隔的16进制ASCII码表示,如04-67-F3-02

Subject

包含子字段值的列表的字符串,此列表包含有关证书的主题信息。若该值在无SubField项的情况下指定,则 ClientCertificate 集合返回一个以逗号分隔的子字段列表。例如,C=US, O=Verisign 等。

ValidFrom

指定证书何时有效。此日期遵循VBScript格式并随国家(地区)设置而变化。例如,在美国可表示为9/26/96 11:59:59 PM

ValidUntil

指定证书何时到期

SubField为可选参数,用于按SubjectIssuer关键字检索单独的字段。此参数作为一个后缀添加到Key参数中,如IssuerOSubjectCN。下表列出了一些通用的SubField值。

SubField支持的参数和意义

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值