编程语言
首页 > 编程语言> > java-如何设置用于使用HttpsURLConnection创建的套接字的密码和协议列表?

java-如何设置用于使用HttpsURLConnection创建的套接字的密码和协议列表?

作者:互联网

获取SSLSocketFactory的通常方法是使用TrustManager,KeyManager和SecureRandom初始化新的SSLContext并使用getSocketFactory()方法.但是,这不允许我启用所需的密码套件或协议.

HttpsURLConnection允许进行此更改的唯一配置是通过设置其默认SSLSocketFactory.我可以创建一个扩展SSLSocketFactory的类,并重写getDefaultCipherSuites()方法并包装由createSocket()创建的套接字以设置所需的密码和协议.但是,此方法不允许我为连接初始化TrustManager吗?

有没有我可以同时做的方法-设置密码套件和协议并初始化信任管理器?

解决方法:

采取SSLContext.getSocketFactory()获得的SSLSocketFactory并将其包装在SSLSocketFactory的自定义子类中,该子类委托从SSLContext获得的子类,但是在createSocket()中还设置了所需的密码.

标签:ssl,httpsurlconnection,java
来源: https://codeday.me/bug/20191030/1969710.html