这是我的问题:我有一个Android应用程序,它通过HTTP消息和使用SSL与特定服务器上的API通信,该服务器具有IP地址IP_Server。我想冒充API并从我的计算机上的应用程序(从我的智能手机之一)接收消息,并根据我的需要回应它们(根据API协议)。为此,在我的路由器中,我将IP_Server的路由重定向到我的本地网络,并将IP_Server IP地址分配给我的计算机。然后,我运行一个使用SSLSocket侦听端口443的Java Server。在此阶段,我在应用程序想要通信时收到连接请求。但是,握手失败了。我认为这是一个证书问题,但我不确定,我不知道如何解决这个问题。
public static void startServer() throws Exception
{
SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket sslserversocket = (SSLServerSocket) sslserversocketfactory.createServerSocket(443);
while (running)
{
// Listen.
SSLSocket clientSocket = (SSLSocket)sslserversocket.accept();
System.out.println("Connection accepted from:" +
clientSocket.toString());
clientSocket.startHandshake(); // This line causes a timeout.
// Handle the request.
threadPool.execute(new ServerThread(clientSocket));
}
}
感谢您的帮助!