0

我在服务器端禁用了 sslv3,如下所示:

            char certPass[] = "***";
            char certAliaMainPass[] = "***";;
            KeyStore keyStore = KeyStore.getInstance("JKS");
            keyStore.load(new FileInputStream(certPath), certPass);
            KeyManagerFactory keyManagerFactory =         KeyManagerFactory.getInstance("SunX509");
            keyManagerFactory.init(keyStore, certAliaMainPass);
            SSLContext sslContext = SSLContext.getInstance("TLS");
            sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
            SSLServerSocketFactory sslServerSocketFactory = sslContext.getServerSocketFactory();
            sslServerSocket = (SSLServerSocket) sslServerSocketFactory.createServerSocket(iPort);

            String[] protocols = sslServerSocket.getEnabledProtocols();
            Set<String> set = new HashSet<String>();
            for (String s : protocols) {
                if (s.equals("SSLv3")) {
                    continue;
                }
                set.add(s);
            }
            sslServerSocket.setEnabledProtocols(set.toArray(new String[0]));

但是使用“SSLv3”的客户端仍然可以连接到服务器,我该如何解决这个问题?

4

1 回答 1

0
  1. 转到 Java 安装文件夹。
  2. {JRE_HOME}\lib\security\java.security -file在文本编辑器中打开。
  3. 转到最后一行。
  4. 删除或注释掉以下行jdk.tls.disabledAlgorithms=SSLv3
于 2016-05-26T05:52:47.173 回答