不幸的是,我对SSL完全是个新手。目前,我正在尝试用Java在客户机和服务器应用程序之间建立一个安全连接,下面的代码对我有效(传输的数据是加密的),但我不知道这是不是一个正确和安全的解决方案。
客户端:
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());发布于 2016-09-10 19:22:09
不建议启用所有密码/协议。最好只启用所需的密码和协议。如果服务器和服务器都是由您编写的,请选择您想要的内容并仅对其进行配置。
socket.setEnabledCipherSuites(...);
socket.setEnabledProtocols(...);支持的密码和协议可在JSSE documentation中查看
或者你可以使用"jdk.tls.disabledAlgorithm“来控制你想要使用的algs。
https://stackoverflow.com/questions/39424036
复制相似问题