双向认证

作者: IT流浪者听雨 | 来源:发表于2018-07-16 22:04 被阅读53次

1、设置容器

docker run -it --name nginx-test2 -v /home/nginx:/apps  -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80  -p 7443:443    -d nginx:stable

2、修改nginx配置文件

    启用ssl证书

    ssl                  on;

    ssl_certificate      /apps/ssl/server.crt;

    ssl_certificate_key  /apps/ssl/server.key;

    ssl_client_certificate /apps/ssl/ca.crt;    #CA证书用于验证客户端证书的合法性

    ssl_verify_client      on;                      #开启对客户端的验证 

3、生成服务端证书

自制CA,已经存在

生成server端证书

1. 进入key文件夹

cd key/

2. 生成server私钥

openssl genrsa -out server.key 2048

--去掉格式

openssl  genrsa  -out  server.key  2048

3. 使用server私钥生成server端证书请求文件

openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Teamsun/OU=guoxu/CN=guoxu"

(没有-x509选项则生成证书请求文件。)

4. 使用server证书请求文件通过CA生成自签名证书

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

注意如果是IP,需要用这个

  openssl ca -in server.csr -out server.crt -cert cloud_ca.crt -keyfile cloud_ca.key -extensions v3_req -notext -config openssl.cnf

5. 验证server证书

gouxu@gouxu-pc:~/gx/key$ openssl  verify  -Cafile  ca.crt    server.crt 

server.crt: OK

gouxu@gouxu-pc:~/gx/key$

验证服务端证书

openssl s_server -accept 10001 -key server.key -cert server.crt

nginx具体的配置项具体请参考

http://nginx.org/en/docs/http/ngx_http_ssl_module.html#example

6、生成客户端证书

生成客户端私钥

openssl  genrsa  -out  client.key  2048

生成证书请求文件

openssl  req  -new  -key  client.key  -out  client.csr  -subj  "/C=CN/ST=fj/L=fz/O=landicorp/OU=landicorp/CN=apos"

生成签名证书

openssl ca -in client.csr -out client.crt -cert CA/ca.crt -keyfile CA/ca.key -extensions v3_req -notext -config openssl.cnf

转成p12格式的证书

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

相关文章

  • iOS-HTTPS双向认证以及证书操作

    待完善 双向认证 双向认证代理处理简单的请求 NSURLSessionTaskDelegate或 NSURLSes...

  • 数据加密

    1、数据单向认证 2、数据双向认证

  • iOS HTTPS 双向认证

    iOS HTTPS 双向认证 @(iOS)[网络,HTTPS] 搞了半天,记录一下,坑很多。双向认证,就是在访问网...

  • 双向认证

    1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/...

  • Qt嵌入浏览器(三)——QWebEngine与Https

    本篇简介: 本篇的小目标: 挑战通过Qt WebEngine实现与服务端的Https双向认证 双向认证,Qt We...

  • 网络

    认证 ssl/tls 1.客户端证书认证 (TLS双向认证) CA #证书认证2.bearerToken3.Se...

  • [运维] nginx 配置

    https 双向认证 部分 location 单向认证 ssl_verify_client optional; i...

  • iOS中的安全与加密

    iOS中的安全与加密 一。HTTPS双向认证 Charles是大家所熟悉的抓包工具,如果网络请求未经过双向认证,那...

  • Android SSL单双向认证逻辑学习笔记

    头一次听说要做双向认证的时候一脸懵逼,不清楚啥玩意是双向认证,破APP干嘛要认证,有啥重要信息吗,单向行不行,好吧...

  • HTTPS认证

    目录:1、https认证原理简介2、单向认证、双向认证 1、https认证原理简介 (转自lanp74的博客) H...

网友评论

    本文标题:双向认证

    本文链接:https://www.haomeiwen.com/subject/dvjipftx.html