Я пытался использовать s_client (openssl) и пакет javax.net.ssl ​​для подключения к зашифрованному сокету - PullRequest
0 голосов
/ 18 октября 2019

Я пытался использовать s_client (openssl) и пакет javax.net.ssl ​​для подключения к зашифрованному сокету.

s_client работает, но, вероятно, не на некорневом андроиде, поэтому я попробовал javax.net.ssl, но я получаю следующую ошибку:

java.net.SocketException: сокет был закрыт или сломан

Кроме того, что такое «NaiveTrustManager ()»? (https://github.com/maruohon/JavaIRC)

package SSLSocketClient;
import java.io.*;
import java.net.*;
import javax.net.ssl.*;
public class SSLSocketClient{
public static void main(String[] args) {
SSLSocketFactory f = 
(SSLSocketFactory)SSLSocketFactory.getDefault();
  try {
     SSLSocket s =
       (SSLSocket) f.createSocket("localhost", 6697);

     s.startHandshake();

BufferedReader reader = new BufferedReader (new 
InputStreamReader(s.getInputStream()));

BufferedWriter writer = new BufferedWriter(new 
OutputStreamWriter(s.getOutputStream()));

BufferedReader in = new BufferedReader(
new InputStreamReader(
s.getInputStream()));

String line;

while ((line = in.readLine()) != null) {
System.out.println(line);
}

s.close();


  } catch (IOException e) {
     System.err.println(e.toString());
  }
  }

1 Ответ

0 голосов
/ 18 октября 2019

Я решил это, приняв самоподписанные сертификаты SSL в Java ..

http://howardism.org/Technical/Java/SelfSignedCerts.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...