网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.基于ASP的站内多值搜索.
.维护ASP的会话状态 .
.关于Adodb.Stream的写数据库数据.
.ASP中怎么实现SQL数据库备份、恢.
.用RecordSet实现分页(by Daniel .
.使用组件封装数据库操作(一).
.如何正确处理数据库中的Null.
.加密QueryString数据.
.IIS6架设网站常见问题及症状举例.
.无组件图片与文本同步存入数据库.
.不能ASP图像组件来生成图像的ASP.
.将站点加入频道栏源代码.
.不用java的垂直滚动看板.
.ASP伪造REFERER.
.在config.web中保存数据库连接串.
.用ASP打开远端MDB文件的方法.
.浅谈ASP编程的思路与纠错.
.ASP.NET实现HTTP方式获取功能.
.在Asp中如何快速优化分页的技巧.
.用ASP实现网页保密的两种方法.

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

发表日期:2004-11-13


    客户端数字证书与基本身份验证(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 类,因而在程序中处理也更为方便一些。

上一篇:adodb.stream对象的方法/属性 人气:15310
下一篇:用ASP实现汉字转拼音的功能 人气:15315
浏览全部数字证书的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐