asp.net如何用ssl加密进行login.aspx登陆?具体实现代码如何写?

解决方案 »

  1.   

    那要设置https吧。等数据都传到服务端了,还有什么用。当然要在传输过程中加密罗。
      

  2.   

    1. 生成证书申请此过程创建一个新的证书申请,此申请可发送到证书颁发机构 (CA) 进行处理。如果成功,CA 将给您发回一个包含生效证书的文件。u 生成证书申请1.   启动 IIS Microsoft 管理控制台 (MMC) 管理单元。2.   展开 Web 服务器名,选择要安装证书的 Web 站点。3.   右击该 Web 站点,然后单击“属性”。4.   单击“目录安全性”选项卡。5.   单击“安全通信”中的“服务器证书”按钮,启动 Web 服务器证书向导。 注意:如果“服务器证书”不可用,可能是因为您选择了虚拟目录、目录或文件。返回第 2 步,选择 Web 站点。 5.   单击“下一步”跳过欢迎对话框。6.   单击“创建一个新证书”,然后单击“下一步”。7.   该对话框有以下两个选项:● “现在准备申请,但稍后发送”该选项总是可用的。● “立即将申请发送到在线证书颁发机构”仅当 Web 服务器可以在配置为颁发 Web 服务器证书的 Windows 2000 域中访问一个或多个 Microsoft 证书服务器时,该选项才可用。在后面的申请过程中,您有机会从列表中选择将申请发送到的颁发机构。  单击“现在准备申请,但稍后发送”,然后单击“下一步”。8.   在“名称”字段中键入证书的描述性名称,在“位长”字段中键入密钥的位长,然后单击“下一步”。 向导使用当前 Web 站点名称作为默认名称。它不在证书中使用,但作为友好名称以帮助管理员。9.   在“组织”字段中键入组织名称(例如 Contoso),在“组织单位”字段中键入组织单位(例如“销售部”),然后单击“下一步”。  注意:这些信息将放在证书申请中,因此应确保它的正确性。CA 将验证这些信息并将其放在证书中。浏览您的 Web 站点的用户需要查看这些信息,以便决定他们是否接受证书。 10.   在“公用名”字段中,键入您的站点的公用名,然后单击“下一步”。 重要说明:公用名是证书最后的最重要信息之一。它是 Web 站点的 DNS 名称(即用户在浏览您的站点时键入的名称)。如果证书名称与站点名称不匹配,当用户浏览到您的站点时,将报告证书问题。如果您的站点在 Web 上并且被命名为 www.contoso.com,这就是您应当指定的公用名。如果您的站点是内部站点,并且用户是通过计算机名称浏览的,请输入计算机的 NetBIOS 或 DNS 名称。 11.   在“国家/地区、州/省和城市/县市”字段中输入适当的信息,然后单击“下一步”。12.   输入证书申请的文件名。该文件包含类似下面这样的信息。 -----开始新的证书申请-----MIIDZjCCAs8CAQAwgYoxNjA0BgNVBAMTLW1penJvY2tsYXB0b3Aubm9ydGhhbWVy…-----结束新的证书申请----- 这是您的证书申请的 Base 64 编码表示形式。申请中包含输入到向导中的信息,还包括您的公钥和用您的私钥签名的信息。 将此申请文件发送到 CA。然后 CA 会使用证书申请中的公钥信息验证用您的私钥签名的信息。CA 也验证申请中提供的信息。当您将申请提交到 CA 后,CA 将在一个文件中发回证书。然后您应当重新启动 Web 服务器证书向导。13.   单击“下一步”。该向导显示证书申请中包含的信息概要。14.   单击“下一步”,然后单击“完成”完成申请过程。证书申请现在可以发送到 CA 进行验证和处理。当您从 CA 收到证书响应以后,可以再次使用 IIS 证书向导,在 Web 服务器上继续安装证书。  2. 提交证书申请此过程使用 Microsoft 证书服务提交在前面的过程中生成的证书申请。u 提交证书申请1.   使用“记事本”打开在前面的过程中生成的证书文件,将它的整个内容复制到剪贴板。2.   启动 Internet Explorer,导航到 http://hostname/CertSrv,其中 hostname 是运行 Microsoft 证书服务的计算机的名称。3.   单击“申请证书”,然后单击“下一步”。4.   在“选择申请类型”页中,单击“高级申请”,然后单击“下一步”。5.   在“高级证书申请”页中,单击“使用 base64 编码的 PKCS#10 文件提交证书申请”,然后单击“下一步”。6.   在“提交一个保存的申请”页中,单击“Base64 编码的证书申请(PKCS #10 或 #7)”文本框,按住 CTRL+V,粘贴先前复制到剪贴板上的证书申请。 7.   在“证书模板”组合框中,单击“Web 服务器”。8.   单击“提交”。9.   关闭 Internet Explorer。  3. 颁发证书u 颁发证书1.   从“管理工具”程序组中启动“证书颁发机构”工具。2.   展开您的证书颁发机构,然后选择“待定申请”文件夹。3.   选择刚才提交的证书申请。 4.   在“操作”菜单中,指向“所有任务”,然后单击“颁发”。5.   确认证书显示在“颁发的证书”文件夹中,然后双击查看它。6.   在“详细信息”选项卡中,单击“复制到文件”,将证书保存为 Base-64 编码的 X.509 证书。7.   关闭证书的属性窗口。8.   关闭“证书颁发机构”工具。  4. 在 Web 服务器上安装证书此过程在 Web 服务器上安装在前面的过程中颁发的证书。 u 在 Web 服务器上安装证书1.   如果 Internet 信息服务尚未运行,则启动它。2.   展开您的服务器名称,选择要安装证书的 Web 站点。3.   右击该 Web 站点,然后单击“属性”。4.   单击“目录安全性”选项卡。5.   单击“服务器证书”启动 Web 服务器证书向导。6.   单击“处理待定申请和安装证书”,然后单击“下一步”。7.   输入包含 CA 响应的文件的路径和文件名,然后单击“下一步”。8.   检查证书概述,单击“下一步”,然后单击“完成”。证书现在安装在 Web 服务器上。  5. 将资源配置为要求 SSL 访问此过程使用 Internet 服务管理器,将虚拟目录配置为要求 SSL 访问。您可以为特定的文件、目录或虚拟目录要求使用 SSL。客户端必须使用 HTTPS 协议访问所有这类资源。u 将资源配置为要求 SSL 访问1.   如果 Internet 信息服务尚未运行,则启动它。2.   展开您的服务器名称和 Web 站点。(这必须是具有已安装证书的 Web 站点)。3.   右击某个虚拟目录,然后单击“属性”。4.   单击“目录安全性”选项卡。5.   单击“安全通信”下的“编辑”。6.   单击“需要安全通道 (SSL)”。现在客户端必须使用 HTTPS 浏览到此虚拟目录。7.   单击“确定”,然后再次单击“确定”关闭“属性”对话框。8.   关闭 Internet 信息服务。
      

  3.   

    关于SSL配置的报告 
    一,服务器上装有CA(Certificate Server) 
    1,服务器上安装CA 
    Win2000中带有CA的安装程序。单击Start,Control Pannel Add/Remove Programs兵单击Add/Remove Windows Compenents。当Windows Component Wizard出现时,选择证书服务(Certificate Services)。下一步中,安装需要指出服务器授权的类型,一般作为一个独立的Web服务器,选择Stand-alone root CA。然后,需要指定共享文件夹,这作为证书服务的配置数据存储位置,单击Next,安装完毕。 
    注意:自己建立CA 机构时,所给CA机构起的名是自己定义的,在客户端的IE中,在一开始并不属于客户端信任的根证书颁发机构,如果,客户端没有把该CA机构加为自己所信任的根证书颁发机构,那么在客户端访问该服务器上的网站时,会出现安全警告信息。 
    2,建立并安装一个站点证书 
    步骤如下: 
    A, 打开IIS,选定要安装证书的站点,单击右键,选择弹出菜单中的properties,在弹出的对话框中,单击directory security属性页,单击Server Certificate按钮,出现IIS Certificate Wizard对话框,这一步的操作,所完成的功能是生成一个向CA申请数字证书的密钥文件,文件以.txt的格式存于本机目录下。 
    B, 通过Certificate Server Enrollment的页面访问注册控件和它的表格: 
    在安装了Certificate Service的机器上可以从位于http://localhost/certsrv 的Certificate Server Administration Tools Web页面可以访问该注册控件。选择request a certificate 选项,在下一页面中选择advance request,这里需要注意的是,如果是给网站申请数字证书时必须选择该项,因为赋予网站的数字证书需要使用a步骤中所产生的特定的密钥文件,这样才能生成属于该网站的唯一的数字证书。而一般User certificate request 是针对需要访问该网站的客户设计的,分别有web browser certificate 和E-Mail Protection certificate 两种方式。客户采用web browser certificate方式申请对有SSL保护的网站的访问,而E-Mail Protection certificate是保护客户收发email时的信息传送。接下去页面的Advanced Certificate Requests 中我们选择Submit a certificate request using a base64 encoded PKCS #10 file or a renewal request using a base64 encoded PKCS #7 file。因为这种格式和在a步骤中所产生的密钥文件的加密格式一致。然后,可以通过browse把存在本机上的.txt密钥文件上载至网页上,递出申请。在最后的界面中,会被告知请求已经被接到并正在等待证书授权机构的批准。 
    C, 微软的Certificate Service可以使用MMC来管理: 
    服务器提出的要求数字验证的请求传递到CA机构中,打开Start/Program/Administrative tools/Certification Authority后,可以看到pending request文件夹,这个文件夹包含了所有等待root授权机构批准的证书请求。如果CA认证机构觉得该网站的申请可行,则单击右键选择issue,这样,该文件就被移到了issued Certificates,表示申请成功,这个节点包含了所有被证书服务的管理员批准并被发布的证书。反之如果CA机构觉得该申请不可行,则选择Deny,该文件被转移到Failed request,表示申请失败,这个节点包含了所有被拒绝的证书请求。对申请成功并发布的数字证书而言,如果CA机构想取消该证书,可以单击右键选择revoke,则已申请成功的数字证书被移到revoke certificates文件夹内,这个节点包含了所有被发布但是又被撤销的证书。 
    D, 提交数字验证的网站在等待一定时间后,依然可以通过http://localhost/certsrv来查看自己所申请的数字验证的进行情况。选择Check On A Pending Certificate选项并单击Next 按钮继续。从选项框中选择候选的请求,单击Next按钮继续。为下载该文件选择Base64 encoding并单击Download CA Certificate链接以开始下载过程。这样就从证书授权机构接到了服务器证书文件。打开IIS,选定已经得到数字验证的网站,单击右键后选择properties,在属性页directory security中,单击Server Certificate 按钮以启动Web服务证书向导,选择Process A Pending Request and Install Certificate选项。选择上一步骤中download下来的数字证书(即.cer文件)的存放路径,开始安装。安装成功后,directory security属性页中的view certificate和edit按钮由disable变为enable。整个网站的数字验证过程完毕。 
    3,关于certificate的属性设置 
    点击directory security属性页的edit按钮,可以进行网站数字验证属性的设置。首先,如果选择了require secure channel(SSL)复选框,则http的形式将无法访问该站点,只有采用https的方式进行访问。如果不选择该项的话,则http和https两种方式并存,都可以进行对此网站的访问。如果选择了该项,则又有三种方式可供选择,分别是ignore client certificate,accept client certificate 以及require client certificate。Ignore client certificate表示不接受客户证书(默认):如果客户浏览器安装了客户证书,会返回一个Access Denied消息。Accept client certificate表示接受证书:不管客户是否安装了客户证书对服务器没有区别,访问在两种情况下都是允许的。Ignore client certificate表示需要客户证书:除非客户有一个被root CA(这里是证书服务器)授予的合法证书,否则访问被拒绝。客户要访问网站,必须得先从服务器得到数字验证,也即,客户端必须首先向要访问的网站提出要求数字验证的申请,在得到服务器端发回的用于两者间信息交互的数字证书后,才可以对该网站进行访问,否则,网站将拒绝该客户的访问。 
    不同的网站可以针对这三个属性进行不同的设置。 
    4,客户端SSL的配置 
    在浏览器和Web站点之间开始SSL通信之前,客户端必须能够认出服务器的证书是合法的。要做到这一点,客户端必须和服务器的证书授权机构取得联系,在这种情况下是本地的证书服务器。如果没能实现前面的步骤,直接连到SSL站点,会首先接到安全警告信息。客户浏览器需要在浏览器的Trusted Root Store中安装证书。要安装证书,在安全警告对话框出现时,单击View Certificate按钮,就会出现一个对话框,该对话框中包含了证书的信息。单击Install Certificate 按钮以启动证书导入向导。 
    对客户而言,SSL的配置就相对比较简单,客户可以选择申请数字证书,也可以不用,只是,如果客户所访问的某个网站设定了require client certificate属性,则客户必须在得到了该网站的数字验证后,才能对此进行访问,换言之,客户想得到访问权,就必须先向网站提出申请。 
    客户通过访问http://servername/certsrv来申请数字验证,它的操作过程和网站申请数字验证基本雷同,只是它不是选择Advance request这一项,而是使用User certificate request 下的web browser certificate选项,只要填写客户的一些相应信息后,就能递出申请,而当CA机构认证后,也是从网上直接下载相对应的数字证书至本机。这样,每当访问该网站,当弹出要求客户端数字验证的消息框后,客户选择已经下载过的数字证书,就可以进行对网站的访问了。 注意事项:如果网站的端口号不是默认的80,而是自己定义的话,则相应的也要给SSL Port 设定一个端口号,以示区别,而访问http和https时,所输入的端口号是不一致的。如果网站使用默认的80端口,则SSL也不需要配置特定的端口号,它的默认端口号为443。 二,服务器和装有CA(Certificate Server)的计算机独立 
    网站申请数字证书的过程和前面部分一样。只是,上一部分的操作因为CA和服务器设在同一台机器上,所以,访问本机的http://localhost/certsrv就可以了,而这一部分,因为CA和服务器的计算机独立,所以,申请的时候也和客户端一样,远程访问http://CAname/certsrv ,其中的具体操作和上一部分一样。只是,在这种情况下,该网站如果设置了require client certificate,则客户就很难访问该网站了,因为客户端无法向该网站发出要求数字验证的申请。一般而言,最好采用accept client certificate。 
      

  4.   

    http://www.yesky.com/ServerIndex/77131904641400832/20040510/1795500.shtml
    这里面说的很清楚了!
      

  5.   

    asp.net如何用ssl加密进行login.aspx登陆?具体实现代码如何写?
    -----------------------------------------------------------------------------
    应用SSL是不需要写代码的了!http://www.yesky.com/ServerIndex/77125243130347520/20040513/1797009.shtml