我有以下使用 SSL 的客户端和服务器:
客户端代码(桌面):
SSLSocket socket= (SSLSocket)sslsf.createSocket(ip,Constants.CHAT_SERVER_PORT);
final String[] enabledCipherSuites = socket.getSupportedCipherSuites();
socket.setEnabledCipherSuites(enabledCipherSuites);
服务器代码(Android):
SSLServerSocket ss=(SSLServerSocket)sslssf.createServerSocket(Constants.CHAT_SERVER_PORT);
final String[] enabledCipherSuites = ss.getSupportedCipherSuites();
ss.setEnabledCipherSuites(enabledCipherSuites);
while(true){
Socket s=ss.accept();
}
我在没有信任库和 keystore 的情况下使用它们。它们是强制性的吗?
最佳答案
仅当系统要求您提供证书时(即,如果您是服务器或服务器需要客户端身份验证),您才需要 keystore 。
默认信任库随 Java 一起提供。如果您不指定另一个,则使用它。
不要启用已禁用的密码套件。他们没有安全感。你只是在逃避问题。解决它。
关于java - keystore 和信任库对于 ssl 是强制性的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508005/