一:服务器端

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

https 双向证书的更多相关文章

  1. apache https 双向证书生成

    Https分单向认证和双向认证 单向认证表现形式:网站URL链接为https://xxx.com格式 双向认证表现心事:网站URL链接为https://xxx.com格式,并且需要客户端浏览器安装一个 ...

  2. linux:Nginx+https双向验证(数字安全证书)

    本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...

  3. nginx配置https双向验证(ca机构证书+自签证书)

    nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...

  4. Tomcat服务器配置https双向认证(使用keytool生成证书)

    一,HTTPS原理   1,HTTP.HTTPS.SSL.TLS介绍与相互关系 (1)HTTP:平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私 ...

  5. https双向认证訪问管理后台,採用USBKEY进行系统訪问的身份鉴别,KEY的证书长度大于128位,使用USBKEY登录

    近期项目需求,须要实现用USBKEY识别用户登录,採用https双向认证訪问管理后台管理界面,期间碰到过一些小问题,写出来给大家參考下. 1:前期准备工作 USBKEY 硬件:我买的是飞天诚信 epa ...

  6. SpringBoot服务间使用自签名证书实现https双向认证

    SpringBoot服务间使用自签名证书实现https双向认证 以服务server-one和server-two之间使用RestTemplate以https调用为例 一.生成密钥 需要生成server ...

  7. HTTPS 双向认证构建移动设备安全体系

    HTTPS 双向认证构建移动设备安全体系 对于一些高安全性要求的企业内项目,我们有时希望能够对客户端进行验证.这个时候我们可以使用Https的双向认证机制来实现这个功能. 单向认证:保证server是 ...

  8. Tomcat 配置 HTTPS双向认证

    Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...

  9. httpd设置HTTPS双向认证

    去年用tomcat.jboss配置过HTTPS双向认证,那时候主要用的是JDK自带的keytool工具.这次是用httpd + openssl,区别比较大 在网上搜索了很多文章,发现全面介绍的不多,或 ...

随机推荐

  1. Win8 安装 Scrapy

    安装Python2.7.11 32位(自带pip) 使用如下命令更新pip python -m pip install -U pip 下载lxml,建议32位,直接安装 https://pypi.py ...

  2. ArrayList添加新元素的覆盖问题

    首先,看一个代码段: 1. ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String&g ...

  3. HDU 5441 离线处理 + 并查集

    题意:给n个节点m条带权值边的无向图.然后q个问题,每次询问点对的数目,点对需要满足的条件是:1)连通:2)其路径的最大权值不能超过询问值. 分析:如果没次询问一次,dfs一次,很可能超时,因此可以用 ...

  4. rtpMIDI Tutorial

    Tobias Erichsen private stuff & software for audio, midi and more Search Main menu Skip to prima ...

  5. iredmail安装脚本分析(二)---get_all.sh 文件所在目录为PKGS

    经过上面的一系列分析后,进入到获取安装包的步骤,作者在此处单独写了一个脚本,get_all.sh,我们继续分析这个脚本 _ROOTDIR="$(pwd)" CONF_DIR=&qu ...

  6. 【JS】FOR循环通关只循环一次length提高性能

    问题来源于jqueryAPI 原文: Iteration An array has a length property that is useful for iteration: for ( var ...

  7. java问题排查可能用到的一些命令

    1. jmap查询jvm内存使用情况 -heap :打印jvm heap的情况 -histo: 打印jvm heap的直方图.其输出信息包括类名,对象数量,对象占用大小. -histo:live : ...

  8. 【转】oracle内存分配和调优总结

    转自 http://blog.itpub.net/12272958/viewspace-696834/ 一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且 ...

  9. java编程经验积累

    1.java批量删除checkbox中选中的对象-CSDN论坛-CSDN.NET-中国最大的IT技术社区  http://bbs.csdn.net/topics/360223125 2.重定向与转发路 ...

  10. 2015.10.15class

    #include<stdio.h> main() { int a; printf("你的智商是多少?\n"); scanf("%d",&a) ...