`

HTTPS + SSL 开发

阅读更多

步骤:

一、设置网站(页面)要求验证;

有两个方面工作要做 :

1.调入需要SSL页面时要用https://url而不是http://url;如用户点击[我的账号]时,调用[我的账号]页面应用:https://MyAccount.aspx而不是http://MyAccount.aspx;

2。网站部署时,应将此网站设置为需要SSL验证:操作如下:

  笔者以Windows Server 2003(简称Windows 2003)系统为例,介绍如何在IIS6服务器中应用SSL安全加密机制功能。

  生成证书请求文件

  要想为某个IIS网站创建数字证书,首先必须使用“Web服务器证书向导” 功能为该网站生成一个证书请求文件。进入“控制面板→管理工具→Internet 信息服务(IIS)管理器”,在IIS管理器窗口中展开“网站”目录,右键点击要使用SSL安全加密机制功能的网站,在弹出菜单中选择“属性”,然后切换到“目录安全性”标签页(如图),接着点击“服务器证书”按钮。在“IIS证书向导”窗口中选择“新建证书”选项,点击“下一步”,选中“现在准备证书请求,但稍后发送”,接着在“名称”栏中为该证书起个名字,在“位长”下拉列表中选择“密钥的位长”,这里要注意,位长不能设置的过大,否则会影响通信质量;接着设置证书的单位、部门、和地理信息,在站点“公用名称栏”中输入该网站的域名,然后指定证书请求文件的保存位置,这里笔者将该证书请求文本文件保存在“d:/certreq.txt”。这样就完成了证书请求文件的生成。


IIS站点目录的安全性属性页

申请IIS网站证书

 

  完成了证书请求文件的生成后,就可以开始申请IIS网站证书了。但这个过程需要证书服务(Certificate Services)的支持。Windows 2003系统默认状态没安装此服务,需要手工添加。

  安装证书服务

  在“控制面板”中运行“添加或删除程序”,切换到“添加/删除Windows组件”页,在“Windows组件向导”对话框中,选中“证书服务”选项,接下来选择CA类型,这里笔者选择“独立根CA”,然后为该CA服务器起个名字,设置证书的有效期限,建议使用默认值“5年”即可,最后指定证书数据库和证书数据库日志的位置后,就完成了证书服务的安装。


安装证书服务

  完成了证书服务的安装后,就能开始申请IIS网站证书了。运行 Internet Explorer浏览器,在地址栏中输入“http://localhost/CertSrv/default.asp”。接着在“Microsoft 证书服务”欢迎窗口中点击“申请一个证书”链接,然后在证书申请类型中点击“高级证书申请”链接,在高级证书申请窗口中点击“使用BASE64编码的 CMC或PKCS#10文件提交….”链接,接着将证书请求文件的内容复制到“保存的申请”输入框中,这里笔者的证书请求文件内容保存在“d:/ certreq.txt”,最后点击“提交”按钮。

点击放大此图片
申请证书页面

点击放大此图片
提交申请页面

  颁发IIS网站证书

  虽然完成了IIS网站证书的申请后,但这时它还处于挂起状态,需要颁发后才能生效。在“控制面板→管理工具”中,运行“证书颁发机构”程序。在“证书颁发机构”左侧窗口中展开目录,选中“挂起的申请”目录,在右侧窗口找到刚才申请的证书,鼠标右键点击该证书,选择“所有任务→颁发”。

点击放大此图片
颁发证书

  接着点击 “颁发的证书”目录,打开刚刚颁发成功的证书,在 “证书”对话框中切换到“详细信息”标签页。点击“复制到文件”按钮,弹出证书导出对话框,一路下一步,在“要导出的文件”栏中指定文件名,这里笔者保存证书路径为“d:/cce.cer”,最后点击“完成”。

导入IIS网站证书

  在IIS管理器的“目录安全性”标签页中,点击“服务器证书”按钮,这时弹出“挂起的证书请求”对话框,选择“处理挂起的请求并安装证书”选项,点击“下一步”后,指定好刚才导出的IIS 网站证书文件的位置,接着指定SSL使用的端口,建议使用默认的“443”,最后点击“完成”按钮.

  配置IIS服务器

  完成了证书的导入后,IIS网站这时还没有启用SSL安全加密功能,需要对IIS服务器进行配置。

  选择需要加密访问的站点目录(如果希望全站加密,可以选择整个站点),右键单击打开属性页,在“目录安全性”标签页,点击安全通信栏的“编辑”按钮,选中“要求安全通道(SSL)”和“要求128位加密”选项,最后点击“确定”按钮即可。如果需要用户证书认证等高级功能,也可以选择要示客户证书选择,还可以把特定证书映射为windows用户帐户。


设置目录的加密属性

  关于SSL安全加密机制

  SSL(Security Socket Layer)的中文全称是“加密套接字协议层”,是由Netscape公司推出的一种安全通信协议,它位于HTTP协议层和TCP协议层之间,能够对信用卡和个人信息提供较强的保护。SSL在客户和服务器之间建立一条加密通道,确保所传输的数据不被非法窃取,SSL安全加密机制功能是依靠使用数字证书来实现的。

  应用了SSL加密机制后,IIS服务器的数据通信过程如下:首先客户端与IIS服务器建立通信连接,接着IIS把数字证书与公用密钥发给客户端。然后使用这个公共密钥对客户端的会话密钥进行加密后,传递给IIS服务器,服务器端接收后用私人密钥进行解密,这时就在客户端和 IIS服务器间创建了一条安全数据通道,只有被IIS服务器允许的客户才能与它进行通信

8
4
分享到:
评论
1 楼 long_yu2 2012-05-21  

相关推荐

    STM32F4x7+freertos+lwip+ssl+MQTT(MDK5)源码

    MDK5是Keil公司开发的一种针对ARM架构的嵌入式软件开发工具,包含了编译器、调试器、IDE等多种功能,便于STM32F4x7应用的开发和调试。 综上所述,这个项目包含的关键技术点有: 1. 使用STM32F4x7作为硬件平台,...

    https+ssl.rar

    在IT行业中,HTTPS和SSL是两个非常重要的概念,它们与网络安全和数据传输息息相关。HTTPS(HyperText Transfer Protocol Secure)是一种安全的超文本传输协议,它通过结合使用HTTP协议与SSL/TLS(Secure Sockets ...

    Java中的SSL及HTTPS协议实例源码

    总的来说,理解Java中的SSL和HTTPS协议是开发安全网络应用的基础。通过源码学习,可以更直观地掌握这些概念,同时确保应用程序能够正确地处理网络安全问题。在实际工作中,务必注意更新SSL/TLS库,避免使用已知漏洞...

    tomcat+SSL

    3. **SSL简介**:SSL(Secure Socket Layer)由Netscape开发,用于保证互联网上的数据传输安全。它采用非对称加密和对称加密相结合的方式,通过握手协议进行身份验证和密钥交换,确保数据的机密性和完整性。 **SSL...

    Windows +tomcat +SSL

    本文档旨在详细介绍如何在Windows环境下,利用Tomcat服务器和Eclipse集成开发环境(IDE)搭建支持SSL的HTTPS服务,并实现基于数字证书的安全通信。 #### 一、基础知识简介 在深入了解具体的配置步骤之前,我们首先...

    基于C++QT+SSL协议的FTP文件传输系统设计与开发毕业设计源码+全部资料+使用文档(高分优秀项目).zip

    基于C++QT+SSL协议的FTP文件传输系统设计与开发毕业设计源码+全部资料+使用文档(高分优秀项目).zip基于C++QT+SSL协议的FTP文件传输系统设计与开发毕业设计源码+全部资料+使用文档(高分优秀项目).zip 【备注】 1...

    Ubuntu+svn+ssl+ldap

    **Subversion (SVN)** 是一个集中式的版本控制系统,用于跟踪文件和目录的变更,以便团队协作开发项目。在Ubuntu上安装SVN服务器,可以使用以下命令: ``` sudo apt-get install subversion apache2 libapache2-svn ...

    Mercurial+IIS+Active Directory+SSL

    ### Mercurial+IIS+Active Directory+SSL:构建安全的分布式版本管理系统 #### 一、Mercurial介绍与特点 Mercurial是一款分布式的版本控制系统,最初版本发布于2005年4月,虽然相比其他分布式版本控制系统如Git来...

    编译好的libcurl+ssl+zlib

    在软件开发过程中,有时我们需要在MFC(Microsoft Foundation Classes)环境中利用网络功能,这时libcurl库便成为一个理想的选择。libcurl是一个开源的库,它支持多种协议(如HTTP、FTP、SMTP等),使得开发者可以...

    毕业设计,基于C++和QT+SSL协议+QTCreater开发的FTP文件传输系统,内含C++完整源代码

    毕业设计,基于C++和QT+SSL协议+QTCreater开发的FTP文件传输系统,内含C++完整源代码 基于SSL协议的FTP文件传输系统设计与开发 开发工具:Qt Creator 开发技术:QT,C++ 本文的功能需求主要体现在两个方面,一个...

    MQTT+SSL资料整理.rar

    MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备之间的通信,因为它的低带宽、低功耗和简单性。...理解并熟练运用这些知识对于开发和维护物联网应用至关重要。

    mysql+ssl配置文档

    ### MySQL + SSL 配置...这不仅提高了数据传输的安全性,也为后续的开发和运维提供了坚实的基础。需要注意的是,在实际应用中,还需根据具体情况调整SSL证书的有效期和密钥长度等参数,以确保最佳的安全性和性能表现。

    WebServices+SSL+Oracle XE+AXIS

    在本文中,我们将专注于如何使用AXIS这一开源Web服务框架来快速开发Web Services,并结合Oracle XE数据库以及SSL(Secure Sockets Layer)进行安全的通信。 首先,让我们详细了解一下SSL。SSL是一种网络安全协议,...

    ubuntu linux 配置svn+apache+ssl

    在Ubuntu环境下搭建SVN(Subversion)服务器,结合Apache HTTP服务器和SSL(Secure Sockets Layer)加密,能够实现安全的版本控制系统,并通过HTTPS协议进行访问。Apache的用户认证管理确保了权限控制,而authz配置...

    android MQTT 带SSL加密连接例子demo

    在Android平台上实现MQTT(Message Queuing Telemetry Transport)协议,常常用于物联网设备的数据传输,因为它的轻量级和低功耗特性。...掌握这一技术对于开发涉及物联网、移动设备通讯的应用至关重要。

    Apache+MySQL+PHP+SSL服务器之完全安装攻略.doc

    6. **PHP**:一种开源的服务器端脚本语言,特别适合Web开发,可以与MySQL紧密集成,动态生成网页内容。 在这个教程中,你将学到如何: - **安装和配置MySQL**:包括检查服务器状态、使用命令行客户端操作数据库、...

    Apache+MySQL+SVN+SSL(最终文档)

    通过在Apache中启用SSL模块,可以为Web服务提供HTTPS加密,保护数据传输安全。此外,ssl.ca-0.1.tar.gz可能包含用于生成和管理SSL证书的工具或证书权威机构(CA)的根证书。 ### 综合搭建流程概览 文档中提到了一...

    openjdk遇到的https的ssl异常解决方案

    sun jdk 是 Oracle 公司提供的 Java 开发工具包,它提供了更稳定和可靠的 SSL/TLS 实现。 在卸载 openjdk 之前,需要停止所有使用 openjdk 的应用程序,避免出现不必要的错误。然后,下载和安装 sun jdk,按照安装...

    HTTPS(SSL)工作原理

    SSL最初是由网景公司(Netscape)在上世纪九十年代中期开发的,但后来随着网景公司的衰落,SSL的后续版本被IETF(Internet Engineering Task Force,互联网工程任务组)接手,并改名为TLS。TLS的第一个版本TLS 1.0在...

Global site tag (gtag.js) - Google Analytics