Apache的https协议配置
一、http协议和https协议的传输格式
http:文本格式的协议
https:二进制格式的协议
二、x509.3证书格式:
证书格式的版本号
证书序列号
证书签名算法
证书颁发者
有效期
持有者的名称
持有的公钥
CA的ID
持有者的ID
其它扩展信息
基本约束
证书策略
密钥的使用限制
CA签名
三、PKI:Public Key Infrastructure
端实体(申请者)
注册机构(RC)
签证机构(CA)-->签证机构(CA)
证书撤销列表(CRL)发布机构
证书存取库
四、SSL握手要完成的工作
交换协议的版本号
选择一个双方都知道的密码
对两端实现身份验证
SSL会话基于IP地址进行,不支持在基于FQDN的虚拟主机上实现
五、客户端验证服务器证书时
日期检测:证书是否在有效期内
证书颁发者的可信度
证书的签名检测
持有者的身份检测
六、基于mod_ssl模块实现对ssl的支持
准备好服务器的私钥和证书
# vim /etc/pki/tls/openssl.cnf
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = CN
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = BeiJing
localityName = Locality Name (eg, city)
localityName_default = MiYun
0.organizationName = Organization Name (eg, company)
0.organizationName_default = fansik
# cd /etc/pki/CA/
# (umask 077; openssl genrsa 2048 > private/cakey.pem)
# openssl req -new -x509 -key private/cakey.pem -days 3655 -out cacert.pem
# touch index.txt serial crlnumber
# echo 01 > serial
# cd /etc/httpd/conf/ssl/
# (umask 077; openssl genrsa 1024 > httpd.key)
# openssl req -new -key httpd.key -out httpd.csr
安装mod_ssl模块
# yum -y install mod_ssl
配置/etc/httpd/conf.d/ssl.conf
配置使用ssl的虚拟主机
ServerName
DocumentRoot
配置证书和私钥
SSLCertificatFile 证书文件
SSLCerttifatKeyFile 密钥文件
重启httpd服务
测试:# openssl s_client -connect www.fansik.com:443 -CAfile /etc/pki/CA/cacert.pem