最近公司在上SSL双向强认证。国外叫Mutual Authentication. 也就是除了服务端的的SSL证书, 客户端也必须有自己的P12 证书, 实现双向认证。

这里是服务端的设置:

System.setProperty("javax.net.ssl.keyStore", "ssl/server_keystore");
System.setProperty("javax.net.ssl.keyStorePassword", "server_keystore");
System.setProperty("javax.net.ssl.trustStore", "ssl/server_truststore");
System.setProperty("javax.net.ssl.trustStorePassword", "server_truststore");

这里分别需要2个文件, 都是Keystore, 下面来看看trust 里信任的证书如何:

好吧, 这里有Client 端所有的证书, 如steve, obama 等, 都是CA 发的。

下面来看看客户端的证书文件,

System.setProperty("javax.net.ssl.keyStore", "ssl/" + username);
System.setProperty("javax.net.ssl.keyStorePassword", password);
System.setProperty("javax.net.ssl.trustStore", "ssl/client_truststore");
System.setProperty("javax.net.ssl.trustStorePassword", "client_truststore");

除了每个用户自身的P12文件, 那么再看看Client 端的Trust证书:

这样, Server 和 Client 互相在对方的受信列表里。 运行起来结果如下:

Username: Obama
Password: ThankYou
Welcome Obama, you are authenticated!

注意这个密码是Keystore的密码, 并不是用户密码, 采用的非对称技术。

不知道什么是密码学里的非对称技术? 参考九州云腾的网站, https://ci.idsmanager.com:8888/EDES/  上面可以实时生成证书, 真心不错, 实践比大学里的课本重要多了!

专家作者相关信息:

阿里云安全资深产品专家。20年大企业服务经验。 身份认证即服务 IDaaS 国内最早的推动者和实践者。 2015年创办九州云腾, 带领公司从0到1, 设计技术架构,推动解决方案,业绩连续4年翻倍增长到数千万收入。2019年并购进入阿里云, 主推基于IDaaS 的零信任解决方案, 用业务风控的能力来解决办公安全,实现从1-10的增长目标。

CSDN在线峰会系列—阿里云核心技术竞争力第二期 2020年5月13日

尚红林:《从各大数据泄露事件看身份识别技术演变》 报名地址:https://t.csdnimg.cn/Bc2d

"传统的身份识别与访问管理主要是围绕HR体系,通过管好自己的员工账户,并把这些账户的使用范围控制在办公室内,来防止数据泄露事件发生。但是类似酒旅、快递、零售等行业中的企业或者大型集团性企业中人员构成复杂,导致账号体系也异常复杂,再加上越来越多的个人终端设备接入内网、远程办公的火热,传统身份管理方式就显得力不从心。

目前越来越多由账号管理问题导致的安全事件频繁发生。上次万豪数据泄露被GDPR处以9,900万英镑的罚款,是迄今为止最高的数据泄露罚款之一。

以UEBA为核心的统一身份认证服务成为必然趋势,对所有企业账号权限做一站式全生命周期管理,并通过用户行为分析实时检测和发现账号的异常行为,不仅保障使用该账号的人是真正拥有该账号的人,而且保障该账号所做的操作在其正常职责范围内,一旦发现异常及时告警并阻断危险行为,助力企业基于云原生安全优势构建零信任架构基础。"

SSL双向认证的证书详解相关推荐

  1. SSL双向认证以及证书的制作和使用

    客户端认证服务器: 正规的做法是:到国际知名的证书颁发机构,如VeriSign申请一本服务器证书,比如支付宝的首页,点击小锁的图标,可以看到支付宝是通过VeriSign认证颁发的服务器证书: 我们用的 ...

  2. java代码实现证书生成客户端证书 实现ssl双向认证

    目的:实现web项目的ssl双向认证客户端证书代码生成. 使用openssl生成ca证书和服务端证书,当然也可以通过代码实现 1)创建CA私钥,创建目录ca openssl genrsa -out c ...

  3. 【ssl认证、证书】SSL双向认证java实战、keytool创建证书

    文章目录 概述 keytool示例 参考 相关文章: //-----------Java SSL begin---------------------- [ssl认证.证书]SSL双向认证和SSL单向 ...

  4. SSL证书详解和CFSSL工具使用

    SSL证书详解和CFSSL工具使用 1.公钥基础设施PKI基础概念 CA(Certification Authority)证书,指的是权威机构给我们颁发的证书. 密钥就是用来加解密用的文件或者字符串. ...

  5. 什么是SSL双向认证,与单向认证证书有什么区别?

    SSL/TLS 证书是用于用户浏览器和网站服务器之间的数据传输加密,实现互联网传输安全保护,大多数情况下指的是服务器证书.服务器证书是用于向浏览器客户端验证服务器,这种是属于单向认证的SSL证书.但是 ...

  6. https ssl单项认证和双向认证以及证书生成

    HTTP(HyperText Transfer Protocol,超文本传输协议)被用于在Web浏览器和网站服务器之间传递信息,在TCP/IP中处于应用层.这里提一下TCP/IP的分层共分为四层:应用 ...

  7. java客户端带证书访问服务端_客户端与服务器SSL双向认证(客户端:java-服务端:java)...

    客户端与服务器SSL双向认证(java-java):含源码 (一)实现技术: JSSE(Java Security Socket Extension) 是Sun为了解决在Internet上的实现安全信 ...

  8. TLS/SSL双向认证

    相关文章: openssl genrsa 命令详解 一.PKI.CA.TLS/SSL.OpenSSL等概念及原理 CA 证书签发机构,自己持有私钥,创建根证书,并把根证书发送给操作系统厂商,内置于操作 ...

  9. SSL / TLS 协议运行机制详解

    转载自  SSL / TLS 协议运行机制详解 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和运行过程,不涉及具体的实现细节.如果想 ...

最新文章

  1. 在C#代码中应用Log4Net(一)简单使用Log4Net
  2. mysql互为主从利弊_MySQL互为主从复制常见问题
  3. dedecms 文章回收站 记得及时清理
  4. Leetcode题库217.存在重复元素(python实现)
  5. Redis实现消息队列的4种方案
  6. 安卓-04-实例01-XML布局UI界面
  7. redis 删除操作
  8. 《scikit-learn》SVM(一)
  9. sas程序matlab,MATLAB/SAS学习笔记
  10. 如何用DETR(detection transformer)训练自己的数据集
  11. php-fpm 讲解
  12. jquery 的税收计算器(仅限参考)
  13. 国标GB/T28181协议下EasyGBS互联网无插件视频播放器起播慢或延迟高问题解决方案
  14. 最快接收计算机sci,投稿到接收仅用四天,这大概是发表最快的sci了!?
  15. win7为什么打开桌面上的计算机很卡很慢,Win7电脑开机速度慢解决方法
  16. Krpano 热点箭头动画
  17. 什么是Linux 的xxd
  18. webapp开发调试环境--weinre配置
  19. 天蓝-skyblue迁移到博客园
  20. IIS 站点配置文件

热门文章

  1. 【houdini vex】方形拼图
  2. USB3.1HUB驱动芯片VL822
  3. python 科大讯飞XFS5152CE语音合成芯片串口协议测试,机器人说话so easy
  4. 本科毕业设计(论文)外文翻译基本规范
  5. 快速入门GORM,使用GORM进行CURD
  6. android应用推广高招齐分享!力荐六大安卓应用推广方式
  7. reportlab教程1--第一个pdf生成
  8. RationalDMIS 7.1 矢量点自动“获得IJK“功能。
  9. 关闭 Win10 右下角天气资讯等图标
  10. (1146, Table 'django.django_session' doesn't exist)