SSLServerSocket如何关闭renegotiation
时间: 2024-03-02 11:49:51 浏览: 59
关闭ServerSocket
4星 · 用户满意度95%
要关闭 SSLServerSocket 的重新协商功能,可以在 SSLServerSocket 上调用 setEnabledCipherSuites() 方法,将其设置为不支持任何支持重新协商的密码套件。例如,可以使用以下代码禁用重新协商:
```
SSLServerSocket sslServerSocket = (SSLServerSocket) serverSocket;
String[] cipherSuites = sslServerSocket.getEnabledCipherSuites();
List<String> newCipherSuites = new ArrayList<>();
for (String cipherSuite : cipherSuites) {
if (!cipherSuite.contains("_RENEGOTIATION_")) {
newCipherSuites.add(cipherSuite);
}
}
sslServerSocket.setEnabledCipherSuites(newCipherSuites.toArray(new String[0]));
```
该代码从 SSLServerSocket 中获取所有启用的密码套件,并将其遍历以查找包含“_RENEGOTIATION_”字符串的密码套件。对于不包含该字符串的密码套件,将其添加到新的密码套件列表中。最后,将新的密码套件列表设置回 SSLServerSocket 上,以禁用支持重新协商的密码套件。
阅读全文