如何在Java应用程序中使用SSLSockets而不是标准套接字

时间:2011-07-16 01:07:33

标签: java sockets ssl

我正在尝试在工作的java网络程序中使用ssl套接字。

我替换了两行代码

        //Socket socket = new Socket(ipAddress, port);
        SSLSocket socket = (SSLSocket)SSLSocketFactory.getDefault().createSocket(ipAddress, port);

        //serverSocket = new ServerSocket();
        serverSocket = (SSLServerSocket)SSLServerSocketFactory.getDefault().createServerSocket();

        serverSocket.setReuseAddress(true);
        serverSocket.bind(new InetSocketAddress(port));
        while (true) {
            Socket clientSocket = serverSocket.accept();
            ......

我得到一个例外:“连接被拒绝:连接”

该程序正在使用注释代码。而现在却没有。使用SSLSockets而不是标准套接字我需要做什么?

如果相关,则服务器在localhost == windows vista上运行。

2 个答案:

答案 0 :(得分:2)

'拒绝连接'只有两种含义,无论是明文还是SSL。您尝试连接的ip:端口没有监听,或者中间防火墙通过发送RST明确阻止了连接。

您的第二行代码在任意端口上创建SSLServerSocket,因为您省略了'port'参数。这几乎肯定是问题所在。

答案 1 :(得分:1)

Bruno在评论中给了我答案:我没有配置任何密钥库。