模拟服务器

时间:2015-06-11 16:32:56

标签: java ssl server impersonation handshake

这是我的问题:我有一个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));
   }
}

感谢您的帮助!

0 个答案:

没有答案