为了执行授权,Web   服务经常需要能够对它们的调用方(其它应用程序)进行身份验证。客户端证书为   Web   服务提供了一种非常好的身份验证机制。如果您使用客户端证书,您的应用程序也会得益于客户端应用程序和   Web   服务之间的安全通道创建(使用安全套接字层   [SSL])。这样您就可以安全地在   Web   服务之间传送保密信息。SSL   确保消息的完整性和机密性。  
   
  本“如何做”包括调用配置为需要客户端证书的   Web   服务的分步指导。  
   
     
   
  注意:本“如何做”中的信息也适用于由   IIS   承载的远程组件。  
   
     
   
  要求  
   
  以下各项介绍了推荐的硬件、软件、网络基础结构、技巧和知识以及您需要的服务包。  
   
  ●       带   Service   Pack   2   的   Microsoft?   Windows?   2000   Server   操作系统  
   
  ●       Microsoft   Visual   Studio?   .NET   开发系统  
   
  ●       访问证书颁发机构   (CA)   以生成新的证书  
   
  ●       一个已安装了服务器证书的   Web   服务器  
   
  有关安装   Web   服务器证书的更多信息,请参见本指南“参考”部分的“如何做:在   Web   服务器上设置   SSL”。  
   
           
   
  本“如何做”中的过程还要求您具有使用   Microsoft   Visual   C#?   开发工具进行   ASP.NET   Web   开发的知识。  
   
  总结  
   
  本“如何做”包括如下过程:  
   
  1.       创建简单的   Web   应用程序  
   
  2.       将   Web   应用程序配置为需要客户端证书  
   
  3.       需要并安装客户端证书  
   
  4.       验证客户端证书操作  
   
       
   
  1.   创建简单的   Web   应用程序  
   
  u   创建简单的   Web   应用程序  
   
  1.       启动   Visual   Studio   .NET,创建一个名为   SecureApp   的新   C#   ASP.NET   Web   应用程序。  
   
  2.       从工具箱中将一个标签控件拖放到   WebForm1.aspx   Web   窗体上,然后将其   ID   属性设置为   message。  
   
  3.       再拖放一个标签至   WebForm1.aspx   窗体上,然后将其   ID   属性设置为   certData。  
   
       
   
  4.       将下面的代码添加到   Page_Load   事件过程中。  
   
     
   
  string   username;  
   
  username   =   User.Identity.Name;  
   
  message.Text   =   "Welcome   "   +   username;  
   
  HttpClientCertificate   cert   =   Request.ClientCertificate;  
   
  if   (cert.IsPresent)  
   
  {  
   
      certData.Text   =   "Client   certificate   retrieved";  
   
  }  
   
  else  
   
  {  
   
      certData.Text   =   "No   client   certificate";  
   
  }  
   
     
   
    5.       在“构建”菜单中,单击“构建解决方案”  
   
    6.       启动   Internet   Explorer   并导航至   http://localhost/SecureApp/WebForm1.aspx。    
   
  页面应该显示“欢迎”消息(不显示用户名,因为用户尚未经过身份验证)和“没有客户端证书”。  
   
  7.       关闭   Internet   Explorer。  
   
       
   
  2.   将   Web   应用程序配置为需要客户端证书  
   
  此过程使用   Internet   信息服务   (IIS)   将   Web   应用程序的虚拟目录配置为需要证书。  
   
  此过程假设您在   Web   服务器上安装了有效的证书。有关安装   Web   服务器证书的详细信息,请参见“如何做:在   Web   服务器上设置   SSL”。  
   
  u   将   Web   应用程序的虚拟目录配置为需要证书  
   
  1.       在   Web   服务主机上启动   IIS。  
   
  2.       导航到   SecureApp   虚拟目录。  
   
  3.       右击   SecureApp,然后单击“属性”。  
   
  4.       单击“目录安全性”选项卡。  
   
  5.       单击“安全通信”下的“编辑”。  
   
  如果无法使用“编辑”,则可能没有安装   Web   服务器证书。  
   
  6.       选择“要求安全通道   (SSL)”复选框。  
   
  7.       选择“要求客户端证书”选项。  
   
  8.       单击“确定”,然后再单击“确定”。  
   
  9.       在“继承覆盖”对话框中,单击“全选”,然后单击“确定”关闭“SecureApp   属性”对话框。  
   
  这会将新的安全设置应用于虚拟根目录下的所有子目录。  
   
  10.       要确认   Web   站点已正确配置,启动   Internet   Explorer   并(使用   HTTPS)浏览到   https://localhost/secureapp/webform1.aspx。  
   
  11.       Internet   Explorer   显示“客户身份验证”对话框,要求您选择一个客户端证书。因为您尚未安装客户端证书,所以单击“确定”,确认显示通知您页面需要客户端证书的错误页面。  
   
  12.       关闭   Internet   Explorer。  
   
       
   
  3.   需要并安装客户端证书  
   
  此过程安装客户端证书。您可以使用来自任何证书颁发机构的证书,也可以使用如后面几节所述的   Microsoft   证书服务来生成自己的证书。  
   
  此过程假设   Microsoft   证书服务是为待定申请配置的,这要求管理员专门颁发证书。它也可以配置为应证书申请自动颁发证书。    
   
  u   检查证书申请状态设置  
   
  1.       在   Microsoft   证书服务计算机上,从“管理工具”程序组中选择“证书颁发机构”。  
   
  2.       展开“证书颁发机构(本地)”,右击证书颁发机构并单击“属性”。  
   
  3.       单击“策略模块”选项卡,然后单击“配置”。  
   
  4.       检查默认操作。    
   
  以下过程假设“将证书申请状态设成待定”。选择“管理员必须专门颁发证书”。  
   
       
   
  u   申请客户端证书  
   
  1.       启动   Internet   Explorer   并导航至   http://hostname/certsrv,其中   hostname   是安装   Microsoft   证书服务的计算机的名称。  
   
  2.       单击“申请证书”,然后单击“下一步”。  
   
  3.       在“选择申请类型”页上,单击“用户证书”,然后单击“下一步”。  
   
  4.       单击“提交”完成申请。    
   
  5.       关闭   Internet   Explorer。  
   
       
   
  u   颁发客户端证书  
   
  1.       从“管理工具”程序组中启动“证书颁发机构”工具。  
   
  2.       展开您的证书颁发机构,然后选择“待定申请”文件夹。  
   
  3.       选择刚提交的证书申请,指向“操作”菜单上的“所有任务”,然后单击“颁发”。  
   
  4.       确认证书显示在“颁发证书”文件夹中,然后双击它进行查看。  
   
  5.       在“详细信息”选项卡上,单击“复制到文件”将证书保存为   Base-64   编码的   X.509   证书。  
   
  6.       关闭证书的属性窗口。  
   
  7.       关闭证书颁发机构工具。  
   
       
   
  u   安装客户端证书  
   
  1.       要查看证书,启动   Windows   资源管理器,导航至在前一过程中保存的   .cer   文件,然后双击它。  
   
  2.       单击“安装证书”,然后在“证书导入向导”的首页单击“下一步”。  
   
  3.       选择“根据证书类型,自动选择证书存储区”,然后单击“下一步”。  
   
  4.       单击“完成”完成向导。关闭确认消息框,然后单击“确定”关闭证书。  
   
       
   
  4.   验证客户端证书操作  
   
  此过程验证您是否可以使用客户端证书访问   SecureApp   应用程序。  
   
  u   验证客户端证书操作  
   
  1.       启动   Internet   Explorer   并导航至   https://localhost/secureapp/webform1.aspx。  
   
  2.       确认   Web   页成功显示。

转载于:https://www.cnblogs.com/ywqu/archive/2008/12/19/1358004.html

asp.net中实现登陆的时候用SSL相关推荐

  1. asp.net中退出登陆的相关问题(解决后退或直接粘贴地址进入网页的问题)

    今天在做退出登陆的时候遇到了问题,即使按了退出转到登录页面,但Session还是存在的,当直接粘贴地址进入(不登录)时Session仍然有效,不能做到只有登录了才能进入的效果.在网上搜了一下找到了答案 ...

  2. Asp.net中实现同一用户名同时登陆,注销先前用户(转)

    Web 项目中经常遇到的问题就是同一用户名多次登陆的问题,相应的解决办法也很多,总结起来不外乎这几种解决办法:将登陆后的用户名放到数据库表中:登陆后的用 户名放到Session中:登陆后的用户名放到A ...

  3. Asp.net中的web.config配置

    Asp.net中的web.config配置 Asp.net中的web.config配置... 1 一. 配置文件保存位置... 2 二. 配置文件加载顺序... 2 三. 配置文件节点介绍... 3 ...

  4. 利用JavaScript在ASP.NET中动态生成系统菜单

      用户在登陆一个系统后通常会因为权限的不同而使用不同的系统功能,我们在实现用户使用的菜单项时有两种选择,一是列出全部系统菜单项,根据用户的权限禁用一部分菜单,二是根据权限动态加载菜单,这样只要列出的 ...

  5. Asp.net中执行.EXE程序的方法

    在无意中看到了网页中执行.exe应用程序的方法: 1.用.NET Framework中的Process类 添加引用using System.Diagnostics; 在按钮的单击事件处理程序中填入以下 ...

  6. ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie

    一.使用QueryString 使用QueryString在页面间传递值是一种非常常见的方法,我们在ASP中就常常用到. (1)优点和缺点     优点:     1.使用简单,对于安全性要求不高时传 ...

  7. asp.net 中 SESSION和COOKIE的使用

    在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSION和COOKIE.在ASP.NET中使用COOKIE比ASP中稍微麻烦一点,因为我们要申明变量. 首先看一下SESSION的使用,基本和 ...

  8. ASP.Net中页面传值的几种方式

    大致概括一下,ASP.NET 页面之间传递值得方式大致可以分为如下几种:Request.QueryString["name"],Request.Form("name&qu ...

  9. ASP.NET -- WebForm -- Cookie的使用 应用程序权限设计 权限设计文章汇总 asp.net后台管理系统-登陆模块-是否自动登陆 C# 读写文件摘要...

    ASP.NET -- WebForm -- Cookie的使用 ASP.NET -- WebForm --  Cookie的使用 Cookie是存在浏览器内存或磁盘上. 1. Test3.aspx文件 ...

  10. 理解ASP.NET中的三层结构

    理解ASP.NET中的三层结构 我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级. 三层结构包含:表示层(USL),业务逻辑层(BLL),数据访问层(DAL) 1:数据访问层: ...

最新文章

  1. 【radar】毫米波雷达相关资料(文献综述列表、顶会研讨会资料列表、顶会workshops资料列表、工具书、使用手册)(2)
  2. android4.0浏览器在eclipse中编译的步骤
  3. python资源百度网盘-bypy-百度网盘Python客户端 linux
  4. python两个list合并成字典_Python将两个list合并为一个字典
  5. javascript +new Date()
  6. Linux学习笔记--文件夹结构
  7. python优雅代码大全_代码这样写更优雅(Python版)
  8. 在什么的控制下 计算机系统能及时处理,操作系统练习题(1)
  9. python解压打开文件过多_让Python在后台自动解压各种压缩文件!
  10. hbase linux 命令,在linux下操作hbase
  11. python提高文件读取速度_Python提高了HDF5文件的读取速度
  12. 吧唧下工作的事情 - 记用canvas封装的小小控件
  13. 【2030】排队打水问题
  14. 密码系列-Base16
  15. 计算机用户原始密码是多少,administrator初始密码是多少
  16. 计算机职高会考知识,高职考试语文基础知识
  17. 计数排序:时间复杂度仅为 O(n) 的排序算法
  18. [渝粤教育] 西南科技大学 材料力学 在线考试复习资料(1)
  19. 【洛谷】P1008 [NOIP1998 普及组] 三连击
  20. Google File System中文版

热门文章

  1. Linux进程管理---task_struct
  2. windows server 2008 远程桌面(授权、普通用户登录)
  3. android mp3文件图片,android 完美获取音乐文件中的专辑图片并显示
  4. BZOJ1079[SCOI2008] 着色方案
  5. Express框架学习笔记-基础
  6. php 页面字体大小,CSS_做网页字体大小参考 网页中同字号字体的不同单位对比列表,对于WEB前端页面开发,字体大 - phpStudy...
  7. java fail fast_Java集合中的fail-fast(快速失败)机制详解
  8. 天体运行轨迹_都说运动是天体的基本特性,那么银河系是绕着什么运动的呢?...
  9. python最新版安装图集_[python] plist图集拆分小图
  10. 微博中微服务缓存_微服务实践分享(5)缓存中心