SSL双向认证的认证模式设置问题
今天介绍一下SSL双向认证服务器端认证模式的设置,很关键。
初始化ssl时,要使用SSL_CTX_set_verify函数设置验证模式,下面介绍下集中模式:
OpenSSL 验证证书模式
OpenSSL
有四种验证证书的模式,这样可以自己根据验证结构来决定应用程序的行为。四种验证模式分别是:
SSL_VERIFY_NONE
:完全忽略验证证书的结果。当握手必须完成的话,就选中这个选项。其实真正有证书的人很少,尤其是在中国,那么如果SSL
运用于一些免费的服务,比如EMAIL
的时候,SERVER
端最好采用这个模式。SSL_VERIFY_PEER
:希望验证对方的证书。这个是最一般的模式。对CLIENT
来说,如果设置了这样的模式,验证SERVER
的证书出了任何错误,SSL
握手都告吹。对SERVER
来说,如果设置了这样的模式,CLIENT
倒不一定要把自己的证书交出去。如果CLIENT
没有交出证书,SERVER
自己决定下一步怎么做。SSL_VERIFY_FAIL_IF_NO_PEER_CERT
:这是SERVER
使用的一种模式,在这种模式下,SERVER
会向CLIENT
要证书。如果CLIENT
不给,SSL
握手告吹。SSL_VERIFY_CLIENT_ONCE
: 这是仅能使用在SSL SESSION RENEGOTIATION
阶段的一种方式。如果不是用这个模式的话,那么在RENEGOTIATION
的时候,CLIENT
都要把自己的证书送给SERVER
,然后做一番分析。这个过程很消耗CPU
时间的,而这个模式则不需要CLIENT
在RENEGOTIATION
的时候重复送自己的证书了。
SSL双向认证的认证模式设置问题相关推荐
- SSL双向认证和SSL单向认证的流程和区别
refs: SSL双向认证和SSL单向认证的区别 https://www.jianshu.com/p/fb5fe0165ef2 图解 https 单向认证和双向认证! https://cloud.te ...
- 超详细的Asp.net使用SSL双向认证,一篇就够了
传统:项目和项目之间https仅通过SSL单向认证后进行数据传输: 本文:项目和项目之间做到SSL双向认证,防止攻击者恶意破坏: 关于单向认证和双向认证的区别:https://cloud.tencen ...
- SSL双向认证的证书详解
最近公司在上SSL双向强认证.国外叫Mutual Authentication. 也就是除了服务端的的SSL证书, 客户端也必须有自己的P12 证书, 实现双向认证. 这里是服务端的设置: Syste ...
- 【ssl认证、证书】SSL双向认证java实战、keytool创建证书
文章目录 概述 keytool示例 参考 相关文章: //-----------Java SSL begin---------------------- [ssl认证.证书]SSL双向认证和SSL单向 ...
- JAVA实现发送HTTPS请求(SSL双向认证)
一.项目背景 Java项目需要作为客户端发起HTTPS请求访问服务端,并且需要携带证书进行SSL双向认证,当前提供的证书相关文件有:ca.crt.ca.key.client.crt.client.ke ...
- php使用curl库进行ssl双向认证
官方文档: http://www.php.net/manual/zh/function.curl-setopt.php#10692 官方举例: <?php curl_setopt($ch, CU ...
- java实现 SSL双向认证
http://avery-leo.iteye.com/blog/276096 实现技术: JSSE(Java Security Socket Extension) 是Sun为了解决在Internet上 ...
- 服务器双向认证 原理,什么叫SSL双向认证 SSL双向认证过程是怎样的
我们都知道SSL认证能够分成SSL双向认证和SSL单向认证.那么,什么是SSL双向认证?SSL双向认证过程又是怎样的?小编就在接下来的内容为各位详细讲述. 什么叫SSL双向认证 SSL双向认证则是需要 ...
- SSL双向认证和SSL单向认证的区别
双向认证 SSL 协议要求服务器和用户双方都有证书.单向认证 SSL 协议不需要客户拥有CA证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥 ...
最新文章
- redis中的事务、lua脚本和管道的使用场景
- C# 操作Word书签(二)——插入图片、表格到书签;读取、替换书签
- 诗与远方:无题(六十三)- 杂诗,然,矣
- Android 应用开发(第四章)---APP数据埋点
- php删除二维数组的某一行某一列_php中怎么去除二维数组的某个字段?
- mac ipmessage
- 大数据学习总结(4)参考splunk架构
- 天勤2022数据结构(二)栈和队列
- JavaWeb之HttpSession
- 包含了6种不同格式的10种不同的Code 39条形码字体样式的工具包Code 39 Font Advantage Package
- 各种坐标之间的转换方法汇总
- 安装win7系统时出现蓝屏0000007e解决方案
- mantis apache mysql_Nginx、Apache、PHP、Mantis上传文件和附件大小设置
- HBuilder连接不上逍遥Android模拟器
- 【猿说VUE】事件处理,Vue奠基之石
- cmd介绍及常用命令
- 网络安全学习笔记(2)
- (转)在路上—Tinyfool的程序员生涯(职业生涯篇一)
- centos7限制cpu使用_CentOS7中CPU频率调整问题
- 如何修改MTK 6592 手机(如果华为荣耀3X系列)IMEI码