因为私钥文件是给Web服务器来使用的,所以私钥文件可以存放在web服务器的配置目录下。这样方便管理 。
# 首先创建一个目录用来管理生成的私钥和证书请求文件,可根据自己的实际情况而定 [root@centos6 ~]$ mkdir /etc/httpd/conf.d/ssl # 生成自己的私钥文件 [root@centos6 ~]$(umask 066; openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 1024) Generating RSA private key, 1024 bit long modulus .++++++ ...++++++ e is 65537 (0x10001) 3、生成证书请求文件生成自己的证书请求文件,这里的请求文件是要传给主机B(根CA)来申请证书的。其中的域名采用了范域名解析。
也就是说,当我们把所有的环境配置结束之后,就应该使用https://*.a.com的方式来访问网站,这样话,服务器就会自动采用加密的方式来处理我们的请求。
我们需要将证书请求文件发送给证书颁发机构。
[root@centos6 ssl]$scp /etc/httpd/conf.d/ssl/httpd.csr 172.18.2.77:/etc/pki/CA/ root@172.18.2.77's password: httpd.csr 100% 647 0.6KB/s 00:00 5、在根CA(主机B)颁发证书我们需要将证书请求文件发送给证书颁发机构。
# 根据主机A提交的证书申请内容,生成证书 [root@localhost ~]#openssl ca -in /etc/pki/CA/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 *****************中间省略了输出信息***********************将生成的证书文件颁发给申请者(主机A)
# 前面我们说过,证书文件都存放在/etc/httpd/conf.d/ssl/目录下 [root@localhost ~]#scp /etc/pki/CA/certs/httpd.crt 172.18.2.66:/etc/httpd/conf.d/ssl/ The authenticity of host '172.18.2.66 (172.18.2.66)' can't be established. RSA key fingerprint is 00:c0:e5:a6:39:e9:a7:bb:1b:f4:ab:0d:75:9b:38:b0. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.18.2.66' (RSA) to the list of known hosts. root@172.18.2.66's password: httpd.crt 100% 3714 3.6KB/s 00:00同时将根CA的证书也发送给Web服务器(主机A)。这一点很重要。
[root@localhost ~]#scp /etc/pki/CA/cacert.pem 172.18.2.66:/etc/httpd/conf.d/ssl/ root@172.18.2.66's password: cacert.pem 100% 1334 1.3KB/s 00:00 在主机A上配置Web服务器首先配置Web服务器的私钥文件和证书文件,编辑”/etc/httpd/conf.d/ssl.conf”
然后将根CA的证书路径,配置在配置文件中。
配置FQDN关于在Apache httpd 2.2 上如何配置FQDN,已经在我的另外一片文章中介绍过了,如果有疑问的话,可移步下列站点查看