Java 与epp服务器的ssl套接字通信
我正在用java实现一个客户端,它通过TCP和SSL与EPP服务器通信 我需要通过SSL向服务器发送一些xml-s,并读取一些xml响应。我没有客户证书,也不需要。我只是想能够向那个服务器发送请求并读取响应。我对这个话题很陌生 我的代码是:Java 与epp服务器的ssl套接字通信,java,xml,sockets,ssl,epp,Java,Xml,Sockets,Ssl,Epp,我正在用java实现一个客户端,它通过TCP和SSL与EPP服务器通信 我需要通过SSL向服务器发送一些xml-s,并读取一些xml响应。我没有客户证书,也不需要。我只是想能够向那个服务器发送请求并读取响应。我对这个话题很陌生 我的代码是: SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); SSLSocket sslsocket = (SSLSocket) sslsocket
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("server.epp.si", 65000);
DataOutputStream outToServerSSL = new DataOutputStream(sslsocket.getOutputStream());
BufferedReader inFromServerSSL = new BufferedReader(new InputStreamReader(sslsocket.getInputStream()));
outToServerSSL.write(somXML.getBytes());
inFromServerSSL.readLine();
它不依赖于我在xml中输入的字符串,我总是得到相同的变灰xml响应
现在我想知道,即使是SSL hanshake也没问题。如何检查连接是否成功建立以及接收器是否准备好接收数据。所以我排除了连接问题本身 您可以在使用运行项目时调试通信
java-Djavax.net.debug=all
你可以看到整个握手过程,应该以
***已完成
验证\u数据:。。。
****
然后是一些普通和加密的数据。标准EPP定义为总是在连接时将问候语发送到服务器,因此在上面的代码中,您正在向服务器写入命令,但输入缓冲区已经打开了问候语,因此这是您在读取响应时得到的结果 正确的流程如下所示