我正在开发一个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向服务器发送两个字符串?
我希望你能帮助我。
非常感谢
答案 0 :(得分:1)
你可以从做研究开始。阅读keytool和jarsigner的工作原理以及如何使用它们。阅读网络加密标准。如果您不知道,请研究证书和CSR是什么。研究如何使用存储加密数据的后端数据库正确设置身份验证系统。
完成所有这些后,获取白板或图表工具并确定代码范围。说明每个模块如何与其他模块进行交互。
然后开始编码。当你的代码不起作用时,你就回到我们这里,问问为什么。