实验环境:2台CentOS 7以上
IP分布:
CA:192.168.1.10
Client:192.168.1.2
在Client端配置httpd此处略过
CA端
[iyunv@localhost ~]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
##生成私钥(默认放在/etc/pki/CA/private/cakey.pem 4096个字节)
[iyunv@localhost ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
##生成自签证书 默认放在/etc/pki/CA/cacert.pem
##-new: 生成新证书签署请求 ##-509: 生成自签格式正式,专用于创建私有CA ##-key: 生成请求时用到的私有文件路径 ##-out: 生成的请求文件路径,如果自签操作将直接生成签署过的证书 ##-days: 证书的有效时长(默认为365天)
为CA创建所需要的目录及文件,(如果有就不用创建)
[iyunv@localhost ~]# mkdir -pv /etc/pki/CA{certs,crl,newcerts}
[iyunv@localhost ~]# touch /etc/pki/CA/{serial,index.txt}
[iyunv@localhost ~]# echo 01 > /etc/pki/CA/serial
Client端
[iyunv@localhost ~]# mkdir /etc/httpd/ssl
[iyunv@localhost ~]# cd /etc/httpd/ssl/
##创建ssl目录并cd到目录下
[iyunv@localhost ssl]# (umask 077;openssl genrsa -out httdp.key 4096)
##用到证书的主机生成证书签署请求
[iyunv@localhost ssl]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr
##生成新的证书签署请求
(最好与CA端的信息保持一致)
##将请求通过可靠的方式发送给CA主机
CA端 root@localhost ~]#openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt ## 在CA主机上签署证书,/tmp/httpd.csr是收到的文件的保持路径
[iyunv@localhost ~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
## 查看证书中的信息
[iyunv@localhost ~]# scp /etc/pki/CA/certs/httpd.crt root@192.168.1.2:/etc/httpd/ssl/ ##将签署的证书发送给Client,保持在/etc/httpd/ssl/目录下
Client端 [iyunv@localhost ~]# yum install -y mod_ssl ##在客户端安装mod_ssl安装包
[iyunv@localhost ~]# vim /etc/httpd/conf.d/ssl.conf ##修改匹配文件SSLCertificateFile( 证书文件路径)和SSLCertificateKeyFile(私钥文件路径) 保存并退出!
测试
找一台windows客户端进行https访问192.168.1.2
|