最近的项目中需要安全性控制,而我又懒得改动后台的程序代码,故而想在反向代理层加入SSL证书验证。
一直在用Nginx做反向代理,但是其SSL的配置只用过普通的服务端单向证书。在Google,百度狂搜一通之后,一无所获,依旧是那老三样,只有单向认证的示例。浏览器端双向认证的配置好像从没人写过。
无奈之下,只好从OpenSSL的客户端证书开始学起,一点一点
一、实现http的双向认证 ①使用OpenSSL生成CA证书# cd /etc/pki/CA# openssl genrsa -out private/my-ca.key# openssl req -new -key private/my-ca.key -out private/my-ca.csr:生成证书请求文件# openssl req -new
原创
2018-01-15 17:21:30
1777阅读
点赞
HTTPS 中双向认证SSL 协议 这里总结为详细的步骤: ① 浏览器发送一个连接请求给安全服务器。 ② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。 ③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是, 就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可
以信赖的,询问客户是否需要继续。 ④ 接着客户浏览器比较证书里的
转载
2023-10-07 20:42:54
92阅读
目录前言一、单向认证和双向认证二、创建keyStore和trustStore三、服务端配置四、客户端配置 总结参考链接前言本篇博客讲的主要是双向认证,通过一些简单案例来展示双向认证的配置过程。有关单向认证和一些https配置,可以看看我的这篇博客,只有了解清楚单向认证之后,那么双向认证理解更加简单,因为双向认证基于单向认证配置,所以建议在做https双向认证之前,先把https单向认证搞
转载
2024-02-24 11:35:59
283阅读
证书:就是为了证明自己身份的东西,所以证书要提供给需要校验我们身份的人;一般情况下,客户端需要校验服务端有没有被人伪造,所以客户端需要安装对应的服务端的证书;证书的实质内容就是一把公钥 这里面主要有三部分:证书签发中心CA证书申请方Server证书使用方Client 正常情况下,客户端和服务端直接交互就可以了,但是这里有个问题,如果有第三方伪造成服务端的话就存在风险,因此客户端
转载
2024-01-12 17:40:36
99阅读
对于双向认证,做一个简单的描述。 服务器端下发证书,客户端接受证书。证书带有公钥信息,用于验证服务器端、对数据加密/解密,起到OSI五类服务的认证(鉴别)服务和保密性服务。 这只是单向认证,为什么?因为客户端可以验证服务器端,但服务器端不能验证客户端! 如果客户端也有这样一个证书,服务器端也就能够验
转载
2016-12-29 14:46:00
10000+阅读
2评论
① 浏览器发送一个连接请求给安全服务器。 ② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。 ③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。 ④ 接着客户浏览器比较证书里的消息,例如域名和 公钥,与服务器刚刚发送的相关消息是否一
转载
2023-09-19 12:51:12
138阅读
参考文章:https://blog.51cto.com/11883699/2160032https://www.songma.com/news/txtlist_i39807v.html众所周知,WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输目前主流的网站基本上开始默认采用HTTPS作为
转载
2024-05-21 18:31:21
22阅读
Https分单向认证和双向认证单向认证表现形式:网站URL链接为https://xxx.com格式双向认证表现心事:网站URL链接为https://xxx.com格式,并且需要客户端浏览器安装一个client.pfx格式的证书文件才能打开网址 需求说明:假设需要实现本地环境newdefend.com域名双向认证。单向认证,直接忽略本文中黄色底的操作步骤即可。也不需要生成和安装客户端证书:
转载
2023-12-13 12:57:53
60阅读
前言双重认证(英语:Two-factor authentication,缩写为2FA),又译为双重验证、双因素认证、二元认证,又称两步骤验证(2-Step Verification,又译两步验证),是一种认证方法。原理 动态密码的产生方式,主要是以时间差做为服务器与密代码生成器的同步条件。在需要登录的时候,就利用密代码生成器产生动态密码,OTP一般分为计次使用以及计时使用两种,计次使用的OTP产出
转载
2023-12-02 23:51:56
18阅读
本文档所阐述的原理及实现过程均在服务器端与盒端已经实现单向认证的功能的基础上. 基本概念: Https : Hyper Text Transfer Protocol over Secure Socket Layer,安全的超文本传输协议,网景公式设计了SSL(Secure So
转载
2023-07-20 13:30:18
128阅读
N年前搞过https双向ssl认证,记得很简单(还是winxp + IE得年代)。最近又遇到https双向认证的需求,测试了一下,竟然问题一大堆。听说是这几年相关业内发生了一些事,https双向认证策略变得比以前严格了。严格可以理解,不过各个浏览器厂商使用不同的规范就显得有点乱了。比如谷歌浏览器和火狐对https相关的要求和界面表现就不太一样。乱猜可能是大厂为争夺规范制定的话语权导致。
转载
2024-05-29 11:25:37
350阅读
openssl制作双向认证经过验证可行http://www.360doc.com/content/12/0524/15/2150778_213390447.shtml 履历馆创建一个证书的步骤: (1)生成系统私钥 (2)生成待签名证书(3)生成x509证书, 用CA私钥进行签名(4)导成浏览器支持的p12格式证书 备注:创建过程中如遇到unable to
转载
2023-07-02 14:17:07
275阅读
1.背景现在公司系统较多,多系统间需要进行通讯,已经实现了https单项认证,现在为了保证通讯的安全,需要实现https双向认证,让系统间通讯更安全。2.问题当时拿到这个问题,第一时间去网上百度https双向认证的案例,试了好多种,有单项认证的实现,还有双向认证基于浏览器端的访问,对于两个系统之间的https双向认证很少,自己也浪费了好多时间没有成功,于是,下定决心,先把https双向认证的原理搞
转载
2024-01-11 07:01:33
187阅读
10. PKI - HTTPS单向认证和双向认证1. 单项认证2. 双向认证参考 所谓的HTTPS单项认证和双向认证,其实是SSL/TLS的单项认证和双向认证。在8. PKI - SSL/TLS Handshake Protocol(TLS握手详解)已经对TLS协议有了一个比较详细的介绍。那单向认证和双向认证是怎么回事呢?其实可以简单的理解为:单项认证是客户端要对服务器进行认证;双向认证是客户端
转载
2024-05-27 08:48:32
213阅读
1.生成双向证书(server服务端,ca客户端)1.1.openss生成所需证书::==================生成服务器私钥================== openssl genrsa -out server.key -passout pass:Abc123 2048 ::生成服务器证书请求文件: openssl req -new -key server.key -passin
原创
2021-04-30 18:21:44
3132阅读
keytool、Tomcat服务器、IE浏览器配置https双向认证首先简述https原理1,HTTP、HTTPS、SSL、TLS介绍与相互关系 (1) HTTP:平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私信息非常不安全。 (2) HTTPS:为了保证隐私数据能加密传输,采用SSL/TLS协议用于对HTTP协议传输的数据进行加密,也就是
转载
2023-11-28 18:26:42
0阅读
SSL Socket双向认证的实现
一、 SSL概述
SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据的传输提供了一种安全保障手段。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保
转载
2024-01-26 23:18:14
36阅读
原理要想弄明白SSL认证原理,首先要对CA有有所了解,它在SSL认证过程中有非常重要的作用。说白了,CA就是一个组织,专门为网络服务器颁发证书的,国际知名的CA机构有VeriSign、Symantec,国内的有GlobalSign。每一家CA都有自己的根证书,用来对它所签发过的服务器端证书进行验证。如果服务器提供方想为自己的服务器申请证书,它就需要向CA机构提出申请。服务器提供方向CA提供自己的身
转载
2024-06-27 18:55:32
93阅读
php实现https(tls/ssl)双向认证通常情况下,在部署https的时候,是基于ssl单向认证的,也就是说只要客户端认证服务器,而服务器不需要认证客户端。但在一些安全性较高的场景,如银行,金融等领域,通常会要求进行客户端认证。从而实现ssl的双向认证。由于nginx的ssl_client_certificate参数只能指定一个客户端公钥,如果增加一个客户端进行通信就要重新配一个server
转载
2023-10-09 15:41:12
284阅读