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

asp.net|客户端

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

 

时间: 2024-08-22 14:13:29

在ASP/ASP.NET 中处理客户端数字证书的相关文章

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

客户端数字证书与基本身份验证(Basic).域服务器的摘要式身份验证.集成 Windows 身份认证或自定义的 Form 认证等方式相比,虽然部署和管理方面稍微复杂一些,但安全性也更好一些,应用上也较为灵活. 在 ASP 和 ASP.NET 中处理和识别客户端数字证书是非常容易的,代码如下: ASP (VBscript)语法: Dim subject   subject=Request.ServerVariables("CERT_SUBJECT") 或   subject=Reques

服务器如何获取客户端数字证书信息

问题描述 请问,服务器如何获取客户端数字证书信息KeyStore.getInstance("Windows-MY");用这个方法为什么把工程放tomcat下就获取不到了呢

android中查看项目数字证书的两种方法

  方法一:在Eclipse中选择winows -> preferance -> android -> build 方法二:通过在命令行中输入以下命令进行查看: keytool -list -v -alias Ada168855 -keystore D:EclipseWorkspace3GpsTestGpsTest.keystore 方法二如下图所示:

浅谈https\ssl\数字证书,互联网营销

在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 首先解释一下上面的几个名词: https:在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传输协议.http协议直接放置在TCP协议之上,而https提出在http和TCP中间加上一层加密层.从发送端看,这一层负责把http的内容加密后送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成http的内容.

使用keytool管理数字证书

keytool是Java的数字证书管理工具,用于数字证书的生成,导入,导出与撤销等操作.它与本地密钥库关联,并可以对本地密钥库进行管理,可以将私钥存放于密钥库中,而公钥使用数字证书进行输出.keytool在jdk安装目录的bin文件夹下: 构建自签名证书 在构建CSR之前,需要先在密钥库中生成本地数字证书,此时需要提供用户的身份.加密算法.有效期等一些数字证书的基本信息: ? 1 2 keytool -genkeypair -keyalg RSA -keysize 1024 -sigalg MD

数字证书应用全攻略——认识数字证书

引:今天,互联网已经成为我们工作生活中不可或缺的一部分,随着购物.理财.交费.办证.报税等很多传统业务的网上迁移,人们越来越真切地感受到互联网带来的便捷与快乐,然而我们也不得不承认,互联网也是一个诚心缺失的地方,处处布满陷阱,不经意间就可能数据丢失和信息被窃取,造成无法挽回的损失.数字证书无疑是保证网上各种业务安全的一个理想的安全措施,它已经在互联网上的各种业务和应用中得到了广泛使用,您也在自觉不自觉地使用着数字证书技术,然而您了解数字证书技术吗,您知道数字证书可以使用在哪些应用中吗,您想更好地

安全专家提醒:警惕木马病毒盗取网银数字证书

新华网福州7月22日专电前不久,一家银行 网上银行(简称"网银")用户蔡某16万余元被盗,引起广大网银用户的关注.警方侦破案件后发现,不法分子通过侵入被害人的电脑并安装木马程序,盗取其银行账号.密码和数字证书,从而转出账户内存款. 中国金融认证中心(CFCA)总经理李晓峰日前表示,在网上银行快速发展的同时,不安全事件时有发生,不法分子的作案手段也不断翻新.这种通过木马病毒盗用网银用户的"软证书"(放在浏览器中的网银数字证书)的方式,成为网上银行面临的新的安全问题,必

asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误

在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的.这个给出各个版本.net的解决方法. asp.net 2.0 通常解决办法 方案一: 将.aspx文件中的page项添加ValidateRequest="false" ,如下: <%@ Page ValidateRequest=&quo

C#/asp.net中如何将数字全角半角互转

C#/asp.net中如何将数字全角半角互转?     //用户公用静态类,包含公用静态方法     /// <summary>     /// 用户公用静态类,包含公用静态方法     /// </summary>     public static class UserPublicStaticMethod     {         //把字母,数字由半角转化为全角         /// <summary>         /// 把字母,数字由半角转化为全角