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