在ASP编程/ASP编程.NET 中处理客户端数字证书

ASP 21NN 2年前 (2018-05-24) 14次浏览 已收录 0个评论 扫描二维码
客户端数字证书与基本身份验证(Basic)、域服务器的摘要式身份验证、集成 Windows 身份认证或自定义的 Form 认证等方式相比,虽然部署和管理方面稍微复杂一些,但安全性也更好一些,应用上也较为灵活。

在 ASP编程 和 ASP编程.NET 中处理和识别客户端数字证书是非常容易的,代码如下:

ASP编程 (VBScript)语法:

Dim subject
subject=Request.ServerVariables(“CERT_SUBJECT”)

subject=Request.ClientCertifate(“Subject”) ‘–适用于 Subject 没有中文的证书

ASP编程.NET(C#) 语法:

string subject ;
HttpClientCertificate hcc = Request.ClientCertificate;
if(hcc.IsValid) = hcc.Subject;

得到的 subject 字符串是以逗号分隔的子字段列表。例如,C=CN,O=BOC,CN=moslem ,然后将字符串分隔处理,取最后的 CN 值(可能不止一个 CN),这个值是用户的 Common Name ,即“常规名称”,一般就是用户的姓名或 ID。

拿到数字证书中的 CN 后,就可以做进一步的处理了,如对用户进行授权等。我认为比较有效的一种做法是在客户端同时启用数字证书和 Form 认证,可以通过比较 CN 和 Form 中输入的用户名的值是否匹配来做到多因子身份认证。

相对来说,ASP编程.NET 中提供了专门的处理客户端数字证书的 HttpClientCertificate 类,因而在程序中处理也更为方便一些。


本文:在ASP编程/ASP编程.NET 中处理客户端数字证书 本文链接:https://www.21nn.cn/biancheng/asp/4161.html 本站所以图片、文章仅限用于学习和研究目的; 不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关。 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如有侵权请邮件与我们联系处理。i@ki4.cn
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址