一:https简介:
http传输协议传输数据是以明文的方式传送的,所以用户的任何数据封包都可能被监听窃取,为了提高系统的安全性,需要用到https协议,这样方式采用了ssl(安全套接字层)加密机制。ssl利用非配对的key pair(公钥和私钥)来组成密钥,然后使用公钥加密后传输,目标主机再以私钥来解密,这样在internet上传输的数据为密文,这些数据就相对安全。要使用安全协议,www服务器就必须要启动https传输协议,而浏览器必须在网址列输入https://开头的网址,两者才能够进行沟通和联机。
二:CA介绍:
CA是一个公认的公正单位,用户可以向其注册一个public key,客户端浏览器在浏览资源时,会主动的向CA单位确认该public key是否为合法注册过的,如
果是则该次联机才会建立,如果不是,浏览器就会发出警告信息。
三:web服务器类型:
www服务器的类型有www平台和网页程序语言与数据库(lamp)。而目前www服务器软件主要有apache和iis。apache是自由软件,可以在任何操作系统上
安装,iis是windows下的,仅能在windows操作系统上安装与执行。
案例一:在Linux上安装apache,建立openCA向服务器颁发证书,实现客户端使用https向web服务器的请求。
一:架构CA服务器:
1:[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm
2:[root@localhost Server]# cd /etc/pki/
[root@localhost pki]# vim tls/openssl.cnf #编辑该文家如图:
[root@localhost CA]# mkdir crl #放置证书吊销列表
[root@localhost CA]# mkdir certs #已经发行过的证书存放的位置
[root@localhost CA]# mkdir newcerts #新发行的证书存放位置
[root@localhost CA]# touch serial #颁发证书的初始值
[root@localhost CA]# echo "01">serial #将01赋予serial,作为初始值
[root@localhost CA]# touch index.txt #数据库的索引文件
[root@localhost CA]# openssl genrsa 1024 >private/cakey.pem #利用1024的非对称加密算法rsa,算出一个密钥放置在cakey.com文件中
[root@localhost CA]# chmod 600 private/cakey.pem #将cakey.com文件设置为600
[root@localhost CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem -days 3650 #利用自己的私钥为自己(CA服务器)产
生一个证书叫cacert.pem。-x509表示证书类型,证书有效时间3650天,-out表示输出 如图: