• https 双向证书


      一:服务器端

    1、首先需要配置站点的SSl证书

    打开Nginx安装目录下conf目录中的nginx.conf文件 找到 
       # HTTPS server 
        # 
        #server { 
        #    listen       443; 
        #    server_name  localhost; 
        #    ssl                  on; 
        #    ssl_certificate    cert.pem; 
        #    ssl_certificate_key  cert.key; 
        #    ssl_session_timeout  5m; 
        #    ssl_protocols  SSLv2 SSLv3 TLSv1; 
        #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; 
        #    ssl_prefer_server_ciphers   on; 
        #    location / { 
        #        root   html; 
        #        index  index.html index.htm; 
        #    } 
        #} 
    将其修改为 :
        server { 
            listen       443; 
            server_name  localhost; 
            ssl                  on; 
            ssl_certificate      sslkey/public.cer;      (证书公钥)
            ssl_certificate_key      sslkey/private.key;      (证书私钥)
            ssl_session_timeout  5m; 
            ssl_protocols  TLSv1 TLSv1.1 TLSv1.2; 
            ssl_ciphers AES128-SHA:AES256-SHA:DES-CBC3-SHA:AES256-SHA256:AES128-SHA256;
            ssl_prefer_server_ciphers   on; 
            location / { 
                root   html; 
                index  index.html index.htm; 
            } 
        } 
    保存退出,并重启Nginx。 
    通过https方式访问您的站点,测试站点证书的安装配置。

    3、配置强身份认证
    1、  修改nginx.conf文件
    如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数:
    server {
            ......
            ......
            ......
           ssl_verify_client            on            要求SSL客户证书认证。
           ssl_client_certificate      trust.cer     签发客户证书的CA证书,用来验证客户证书。
            ssl_verify_depth           4              SSL客户证书认证链长度。
    }
     
    4、重启站点使用您的客户端证书进行登陆测试
         具体可以参考如下链接: 
     
     
    二:客户端配置
    将沃通或者其他机构下发的.pfx转成.p12 将之前服务器端证书,转成.cer给到客户端即可
     
    client.p12 (为沃通下发的客户端证书,利用火狐浏览器转成的) 为IOS客户端证书,server.cer(nginx上vfcgy.com.crt 转成.cer)为服务端证书
     

    需要准备的自签名证书

    1.服务器私钥 2.由CA签发的含有服务器公钥的数字证书 3.CA的数字证书。在双向认证的实践中,通常服务器可以自己作为证书机构,并且由服务器CA签发服务器证书和客户端证书。

    1.客户端私钥 2. 由CA签发的含有客户端公钥的数字证书。为了避免中间人攻击,客户端还需要内置服务器证书,用来验证所连接的服务器是否是指定的服务器。

    • 服务端 .cer
    • 客户端 .p12
    详见https://github.com/cuiwe000/HttpsDemo
  • 相关阅读:
    网络爬虫概述
    Redis常见问题汇总
    分布式锁和Redis事务
    Redis主从复制
    数据持久化
    位图操作bitmap
    数据类型:Hash散列数据类型
    进程池
    事件Event实现消费者模型
    事件Event
  • 原文地址:https://www.cnblogs.com/xkcp008/p/5969044.html
Copyright © 2020-2023  润新知