java ssl socket流程

三、SSL通信模式:

 

1.服务端:

 

SSL服务端需要通过SSL服务套接字来提供服务接口,而SSL服务套接字需要通过SSL上下文实例来创建。以下是对SSL服务端的启用过程的描述。

 

(1)通过指定协议(一般是TLS)获取SSL上下文(SSLContext)实例。

 

(2)通过指定算法(X.509相关)获取密钥管理器工厂(KeyManagerFactory)实例。

 

(3)通过指定类型和提供者获取密钥库(KeyStore)实例。

 

(4)密钥库实例使用约定的密码加载(Load)密钥库文件(.keystore)。

 

(5)密钥管理器工厂实例使用约定的密码和(4)中密钥库进行初始化(Initialize)。

 

(6)SSL上下文实例通过密钥管理器工厂实例提供的密钥管理器来初始化(Initialize)。

 

(7)当SSL上下文实力初始化成功后,就可以获取该上下文势力所关联的服务套接字工厂(ServerSocketFactory)实例

 

(8)服务套接字工厂实例依据指定的服务端口来创建(Create)服务套接字(ServerSocket)。

 

(9)当SSL服务套接字创建成功,就可以等待客户端的连接,与客户端进行通信。

 

(10)通信完毕可以关闭服务套接字。

 

2.客户端

 

(1)通过指定协议(一般是TLS)获取SSL上下文(SSLContext)实例。

 

(2)通过指定算法(X.509相关)获取密钥管理器工厂(KeyManagerFactory)实例。

 

(3)通过指定算法(X.509相关)获取信任管理器工厂(TrustManagerFactory)实例。

 

(4)通过指定类型和提供者获取密钥库(KeyStore)实例。

 

(5)通过指定类型和提供者获取信任密钥库(KeyStore)实例。

 

(6)(4)中密钥库实例使用约定的密码加载(Load)密钥库文件(.keystore)。

 

(7)(5)中信任密钥库实例使用约定的密码加载(Load)密钥库文件(.keystore)。

 

(8)密钥管理器工厂实例使用约定的密码和(4)中密钥库进行初始化(Initialize)。

 

(9)信任密钥管理器工厂实例使用约定的密码和(5)中密钥库进行初始化(Initialize)。

 

(10)当SSL上下文实力初始化成功后,就可以获取该上下文实例所关联的套接字工厂(SocketFactory)实例

 

(11)套接字工厂实例依据指定的主机和端口来创建(Create)客户端套接字(Socket)。

 

(12)当SSL服务套接字创建成功,就可以向服务端发送请求,与服务端进行通信。

 

(13)通信完毕可以关闭服务套接字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值