-1

我正在开发一个 Java 应用程序,我需要通过安全套接字向服务器发送几个字符串,我必须使用由受信任的 CA 生成的我自己的证书

文件证书是 myOwnCRT.crt

客户

        InputStream is = new FileInputStream("app.config.properties");       
        Properties objProperties = new Properties();
        objProperties.load(is);        
        String ipServer = objProperties.getProperty("ip");             
        String portServer = objProperties.getProperty("port");

        SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
        SSLSocket socketSsl = (SSLSocket)factory.createSocket(idServer, Integer.parseInt(portServer));

        BufferedReader in = new BufferedReader(new InputStreamReader());
        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socketSsl.getOutputStream()));

服务器

//        System.setProperty("javax.net.ssl.trustStore", "myOwnCRT.crt");
//        System.setProperty("javax.net.ssl.keyStorePassword", "pass");
        SSLServerSocketFactory fact = (SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
        SSLServerSocket socketServidorSsl = (SSLServerSocket)fact.createServerSocket(Integer.parseInt(1099));
        SSLSocket socketSsl = (SSLSocket)socketServidorSsl.accept();

        BufferedReader entrada = new BufferedReader(new InputStreamReader(socketSsl.getInputStream()));

        String line= null;
        System.out.println( "Waiting..." );

        while( (linea = entrada.readLine()) != null ) 
        {
            System.out.println(line);
            System.out.flush();
        }

我如何通过 SSLSockets 向服务器发送两个字符串?

我希望你能帮助我。

非常感谢

4

1 回答 1

1

你可以从做研究开始。阅读 keytool 和 jarsigner 如何工作,以及如何使用它们。阅读网络加密标准。如果您不知道,请研究什么是证书和 CSR。研究如何使用存储加密数据的后端数据库正确设置身份验证系统。

完成所有这些后,请获取白板或图表工具并确定您的代码范围。画出每个模块如何与其他模块交互。

  • 在此处插入其他步骤

然后开始编码。当您的代码不起作用时,您会在 SO 回到我们这里并询问原因。

于 2013-06-21T15:30:52.897 回答