如何正确使用Java中的SSL?

时间:2016-09-10 08:11:12

标签: java ssl

不幸的是,我对SSL完全不熟悉。目前我正在尝试在Java中建立客户端和服务器应用程序之间的安全连接,以下代码对我有用(传输的数据已加密),但我不知道这是否是一个正确且安全的解决方案。 / p>

客户方:

socket = (SSLSocket) SSLSocketFactory.getDefault().createSocket(host, port);

socket.setUseClientMode(true);
socket.setEnabledCipherSuites(socket.getSupportedCipherSuites());
socket.startHandshake();

服务器端:

sslServerSocket = (SSLServerSocket) serverSocketFactory.createServerSocket(requestPort());

sslServerSocket.setUseClientMode(false);
sslServerSocket.setEnabledCipherSuites(sslServerSocket.getSupportedCipherSuites());

1 个答案:

答案 0 :(得分:2)

不建议启用所有密码/协议。更好的是,您只启用了所需的密码和协议。如果服务器和服务器都由您编写,请选择您想要的内容并仅配置它。

REGEXP

JSSE documentation

中可以看到支持的密码和协议

或者您可以使用" jdk.tls.disabledAlgorithm"控制你想要使用的algs。