SSL协议是什么
SSL协议(Secure Socket Layer,安全套接层)是由网景(Netscape)公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。
SSL协议原理
SSL协议的主要用途是在两个通信应用程序之间提供私密性和可靠性,这个过程通过3个元素来完成:
(1)握手协议:这个协议负责被子用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法和认证方式,并使用公钥技术来生成共享密钥。
(2)记录协议:这个协议用于交换应用数据。应用程序消息被分割成可管理的数据块,还可以压缩,并产生一个MAC(消息认证代码),然后结果被加密并传输。接受方接受数据并对它解密,校验MAC,解压并重新组合,把结果提供给应用程序协议。
(3)警告协议:这个协议用于每时示在什么时候发生了错误或两个主机之间的会话在什么时候终止。
SSL协议怎么开启(以Apache服务器为例)
1、首先请确认Apache服务器已经安装有加密模块,可以是OpenSSL,或是OpenSSL+ModSSL。
如果您的Apache web服务器安装在Unix或linux平台上,可以通过以下网址获得OpenSSL:
http://www.openSSL.org/source/
如果您的Apache web服务器运行在Windows平台上,可以通过以下网址获得OpenSSL + ModSSL:
http://www.modSSL.org/contrib/
2、通过OpenSSL给Apache服务器产生一个密钥对(key pair)
# openSSL req -new -nodes -keyout private.key -out public.csr
在这里,需要根据Apache服务器的实际信息回答一些问题,主要有:国家名(Country Name)、省或洲际名(State or Province Name)、地方名(Locality Name)、组织名(Organization Name)、组织单位名(Organization Unit Name)、通用名(Common Name)、email地址(Email Name)、私钥保护密码(a challenge password)、可选公司名(An opentional company name)。
这里有必要注意的是,国家名一定要是标准的缩写,中国是CN;通用名一定是FQDN。
3、然后,在当前目录下会产生两个文件:private.key和public.csr。
private.key是私钥,public.csr是证书请求文件。
4、访问http://trustauth.cn/testca/TCert1/tcert.asp,申请WEB站点证书。把刚才的public.csr请求文件内容贴进申请页面,完成证书的申请工作。
5、申请完证书之后,将证书文件复制到刚才保存私钥和请求文件的目录下。
6、现在配置Apache服务器的http.conf文件,打开https服务。
请用编辑器(unix或linux可以用vi,windows用notpad。请不要用word之类的字处理软件,因为它会包括一些不可见控制符)
增加如下内容:
SSLCertificateFile /etc/SSL/crt/public.der
SSLCertificateKeyFile /etc/SSL/crt/private.key
请根据证书和私钥的实际地址,修改上述内容。
7、重新启动Apache 服务器。您可以通过启动脚本来实现。
# apachectl stop
# apachectl startSSL
这样,Apache 服务器的80和443端口同时提供服务了。