阅读模式:

centos7中颁发CA证书并开启web https

查看:12706  :0  类型:  来源:php自学网  标签 https

        HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。由于CA证书是国家认可的,具有权威性、可信性和公正性的认证进行颁发,所以是收费的,而且很贵。但也能自己生成CA证书,免费使用,只是在网页浏览时会提示证书不收信任,和进入12306那样,提示保存证书到本地即可。

        生成步骤:

一、检查安装openssl

rpm -qa openssl

check install openssl.png

二、进入CA目录,自签证书成为CA发证机构,生成CA私钥对cakey.pem文件

cd /etc/pki/CA
ls
umask 077; openssl genrsa -out private/cakey.pem 2048

cd-etc-pki-ca.png

touch cakey.pem.png

三、生成CA证书,并自签发,依次填写证书相关信息

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem

check myself ca cakey.pem.png

四、创建CA相关文件

touch index.txt serial
echo "01">serial

touch index.txt .png

五、创建web服务器客户端nginx的私钥

    我这里的nginx安装在/usr/local/nginx/目录,并创建ssl目录

cd /usr/local/nginx
mkdir ssl
cd ssl
umask 077;openssl genrsa -out web.key 2048

umask 077;openssl genrsa -out web.key 2048.png

六、web服务器客户端请求获取证书,获取证书要先创建一个申请证书,传递给本机中的CA

openssl req -new -key /usr/local/nginx/ssl/web.key -days 3650 -out /usr/local/nginx/ssl/web.csr

web.csr.png

七、给web服务器CA客户端颁发证书

ca -in /usr/local/nginx/ssl/web.csr -out /usr/local/nginx/ssl/web.crt -days 3650

web.crt.png

    证书文件web.crt:

web.crt 证书.png

    查看证书信息:

cat web.crt

七、开启nginx的ssl,使nginx支持https访问

    在server{  } 中增加代码,并引入证书和key文件,重启nginx,并在浏览器访问时添加例外,并解除保护,即可正常访问。

listen 443 ssl;
ssl_certificate /usr/local/nginx/ssl/web.crt;
ssl_certificate_key /usr/local/nginx/ssl/web.key;
ssl_session_timeout  5m;
ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers   on;

    https 例外和解除保护.png

分享到:
1 1

我的看法:

IN: