JAVA Android studio secure socket ssl подключиться к ssl сокету сервера windows 10 - PullRequest
0 голосов
/ 02 августа 2020

В java jdk я создал сертификат SSL для сервера сокетов, используя keytool У меня есть приложение серверный сокет в позиции Прослушивание и сертификат, хранящийся на сервере приложений (P C Windows 10).

Как android клиент может подключиться с помощью сертификата к серверу windows 10?

какой метод я использую в android studio для создания сертификата и его тип с кодом, используемым в клиенте сокета. Код сокета сервера ниже (Windows 10):

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.ClassNotFoundException;
import java.net.ServerSocket;
import java.net.Socket;
import javax.net.ssl.SSLServerSocketFactory;

public class ServerSSL {
  private static ServerSocket server;
  private static int port = 1004;
  private static ObjectInputStream ois;
  private static ObjectOutputStream oos;
  private static Socket socket;
  
  public static void main(String args[]) throws IOException, ClassNotFoundException {
    ServerSocket server = ((SSLServerSocketFactory) SSLServerSocketFactory.getDefault()).createServerSocket(port);
    Thread th = new Thread(new Runnable() {
      @Override
      public void run() {
        Socket socket;
        while (true) {
          try {
            socket = server.accept();
            ois = new ObjectInputStream(socket.getInputStream());
            oos = new ObjectOutputStream(socket.getOutputStream());
            String message = "";
            String recMsg = "";
            try {
              message = (String) ois.readObject();
              switch (message) {
                case "clientSend":
                  recMsg = (String) ois.readObject();
                  System.out.println(recMsg);
                  break;
              }
            } catch (ClassNotFoundException e) {
              e.printStackTrace();
            }
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      }
    });
    th.start();
    try {
      ois.close();
      oos.close();
      socket.close();
      server.close();
    } catch (NullPointerException z) {
    }
  }
}
...