https 双向认证开发实践

本文介绍了Java中SSL双向认证的概念,重点讲解了KeyManager的角色,即选择用于远程主机认证的凭证。通常,一个KeyManager支持基于X.509公钥证书的认证。此外,还对比了KeyManager和TrustManager的区别,前者决定发送给服务器的证书,后者负责验证服务器证书的信任度。文章以实际应用为背景,深入探讨SSL安全连接的实现。
摘要由CSDN通过智能技术生成
https双向认证 证书如何使用
一.概念介绍

1.https协议介绍 与http协议的区别
https协议简单来说就是http协议的基础上增加了SSL协议 ,从而来保证数据传输的安全性。
SSL协议:
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
区别:
一、https协议需要到ca申请证书。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

2.SSL证书
SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
证书中一般包含公钥拥有者的信息,公钥,颁发机构的信息等。
使用keytool生成证书的过程,看到比较多的文件类型。cer crt key jks keystore,如果之前没有接触过,真是一头雾水,下面简单介绍一下这几个文件的意义
keystore是Java保存密钥对的秘钥仓库,文件后缀为keystore,后缀类似.jks .truststore都是保存秘钥和证书的仓库
.cer:存储公钥证书的文件格式。
.crt:客户端认证的证书、私钥。
双向认证需要服务端和客户端都提供cer格式的证书,然后导入到彼此的keystore中

3.双向认证的过程
1-客户端请求服务端,
2-服务器向客户端传送SSL协议的版本号,加密算法的种类等信息,将证书发给客户端
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值