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

时间: 2024-11-04 13:39:27

https 双向证书的相关文章

keytool+tomcat配置HTTPS双向证书认证

系统需求: 1.  Windows系统或Linux系统 2.  安装并配置JDK 1.6.0_13 3.  安装并配置Tomcat 6.0 一.服务器证书 创建证书存储目录"D:\home","运行"控制台,进入%JAVA_HOME%/bin目录,使用keytool为Tomcat生成证书,假定目标机器的域名是"localhost",keystore文件存放在"D:\home\tomcat.keystore",口令为"

rails+apache2+passenger+ssl实现https双向认证通信

rails+apache2+passenger+ssl实现https双向认证通信 环境: 系统:Centos7 服务器:apache(httpd) 2.4.6 制作工具:openssl 1.0.1 Rails版本 :4.1.6 准备工作: 安装apache和openssl #yum install  httpd  httpd-devel httpd-tools #yum install openssl 安张mod_ssl #yum install mod_ssl 一.创建根证书 1创建CA私钥

利用tomcat服务器配置https双向认证

首先请保证已经安装好jdk,并且环境变量以及配置好了 第一步.为服务器生成证书: 使用toolkey为tomcat生成证书,假定目标机器的域名为localhost,使用如下命令生成:keytool –genkey –v –aliaslocalhost_server RSA –keystore localhost_server.store  –validity 36500 第二步.为客户端生成证书: 为浏览器生成证书,以便让服务器来验证它.为了能保证证书顺利导入至IE和Firefox,证书格式应该

tomcat构建HTTPS双向认证

第一步:为服务器生成证书 # keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/ac/web/tomcat.keystore -validity 36500 (参数简要说明:"/etc/tomcat.keystore"含义是将证书文件保存在路径/usr/local/ac/web/下,证书文件名称是tomcat.keystore :"-validity 36500"含义是证书有效期,36500

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

HTTPS 双向认证构建移动设备安全体系 对于一些高安全性要求的企业内项目,我们有时希望能够对客户端进行验证.这个时候我们可以使用Https的双向认证机制来实现这个功能. 单向认证:保证server是真的,通道是安全的(对称密钥):双向认证:保证client和server是真的,通道是安全的(对称密钥): 要实现这么一个完整的安全体系,需要一个CA或者openssl自建CA来管理签发客户端证书.作为项目要求的场景可能是这样的,一个前端网站专门用于签发证书,通过电子邮件发送下载客户端证书邮件到移动

nginx与ios实现https双向认证

服务端配置 nginx关键配置如下: listen 443; server_name localhost; ssl on; ssl_certificate /usr/local/opt/nginx/certificates/server.cer; ssl_certificate_key /usr/local/opt/nginx/certificates/server.key.pem; ssl_client_certificate /usr/local/opt/nginx/certificates

tomcat https双向认证

没啥可写的,直接看这些博文吧... 注:server.xml 双向认证 注意得配:truststoreFile,单向不用 浏览器客户端p12证书,需要添加到服务器的jks文件中. http://www.blogjava.net/stevenjohn/archive/2012/08/22/385989.html http://www.360doc.com/content/10/0401/23/633992_21237818.shtml http://www.blogjava.net/stevenj

Android Https双向认证 + GRPC

keywords:android https 双向认证android GRPC https 双向认证 ManagedChannel channel = OkHttpChannelBuilder.forAddress("xxx",yyy) .overrideAuthority("zzz") .sslSocketFactory(sslFactory) .build(); 1.千万不要像官网案例那样设置setPlaintext(true),这个是设置明文,我们用的是密文

nginx搭建https单向证书

一)默认情况下ssl模块并未被安装,如果使用该模块则需要在编译nginx的时指定--with-http_ssl_module参数. wget http://nginx.org/download/nginx-1.3.16.tar.gz tar -xf nginx-1.3.16.tar.gz -C /usr/local/ cd /usr/local/nginx-1.3.16/ ./configure --prefix=/usr/local/nginx --user=nginx --group=ngi