Nginx配置单项SSL以及双向SSL

Https安全协议的由来? 在实现 HTTPS协议前,咱们须要了解 SSL 协议,但其实咱们如今使用的更多的是 TLS 加密通信协议。 那么TLS是怎么保证实文消息被加密的呢?在OSI七层模型中,应用层是http协议,那么在应用层协议之下,咱们的表示层,也就是 SSL 协议所发挥做用的一层,它经过(握手、交换秘钥、告警、加密)等方式,使应用层 HTTP 协议没有感知的状况下作到了数据的安全加密。 php

#####Nginx配置示例(单向)html

server {
    listen 443 ssl;
    server_name www.oldxu.com;
    index index.html index.php;
    root /code;
    ssl on;
    ssl_certificate server.crt;
    ssl_certificate_key server.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL;
    ssl_prefer_server_ciphers on;
    ...
}

#####Nginx配置双向认证算法

单向认证,仅仅是客户端须要检验服务端证书是不是正确的,而服务端不会检验客户端证书是不是正确的。 双向认证,指客户端验证服务器端证书,而服务器也须要经过CA的公钥证书来验证客户端证书。windows

双向验证的过程: 1.客户端say hello 服务端 2.服务端将证书、公钥等发给客户端 3.客户端CA验证证书,成功继续、不成功弹出选择页面 4.客户端将本身的证书和公钥发送给服务端 5.服务端验证客户端证书,如不经过直接断开链接 6.客户端告知服务端所支持的加密算法 7.服务端选择最高级别加密算法使用客户端公钥加密后发送给客户端 8.客户端收到后使用私钥解密并生成随机对称密钥key,使用服务端公钥加密发送给服务端 9.服务端使用私钥解密,获取对称密钥key 10.后续客户端与服务端使用该密钥key进行加密通讯浏览器

#####服务端操做

server {
    listen 443 ssl;
    server_name www.oldxu.com;
    index index.html index.php;
    root /code;
    ssl on;
    ssl_certificate server.crt;
    ssl_certificate_key server.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL;
    ssl_prefer_server_ciphers on;
   
    ssl_client_certificate ca.crt; //这里的ca.crt是根证书公钥文件
    ssl_verify_client on;
    ...
}


#####客户端(浏览器)操做
若是不进行如下操做,浏览器会出现400错误。400 Bad Request(No required SSL certificate was sent)

# cd /etc/pki/ca_test/client
# openssl genrsa -out  client.key  //生成私钥文件
# openssl req -new  -key client.key -out client.csr  //生成请求文件,填写信息须要和ca.csr中的Organization Name保持一致

# openssl ca -in client.csr -cert /etc/pki/ca_test/root/ca.crt -keyfile /etc/pki/ca_test/root/ca.key -out client.crt -days 3650 
//签名client.csr, 生成client.crt,此步若是出现


#1.将client.key转换为pfx(p12)格式
# cd /etc/pki/ca_test/client
# openssl pkcs12 -export -inkey client.key -in client.crt -out client.pfx  //这一步须要输入一个自定义密码,一会在windows上安装的时候要用到,须要记一下。

#2.将client.pfx拷贝到windows下,双击便可安装。
相关文章
相关标签/搜索