无处不在,它说Java RMI可以应用SSL / TLS。我有一个客户端/服务器应用程序的工作示例,它正是这样做的。但是我如何强制使用的协议到TLS 1.2?我需要确保永远不会使用任何SSL版本或TLS 1.0。
答案 0 :(得分:0)
我找到了答案,最后我自己写了一个RMIServerSocketFactory的实现:
public class TlsServerSocketFactory implements RMIServerSocketFactory {
public ServerSocket createServerSocket(int port) throws IOException
{
SSLServerSocketFactory sf = ((SSLServerSocketFactory) SSLServerSocketFactory.getDefault());
SSLServerSocket s = (SSLServerSocket) (sf.createServerSocket(port));
s.setUseClientMode(false);
s.setEnabledProtocols(new String[]{"TLSv1.1", "TLSv1.2"}); // NO POODLES HERE!
s.setEnabledCipherSuites(s.getSupportedCipherSuites());
return s;
}
}
它与ClientFactory几乎完全相同,但这不是我需要的必要条件。 哦,我必须得到JDK 1.8,因为TLS1最高为1.6。