Я пытаюсь найти способ установить соединение с Java-клиентом и сервером C с использованием SSL.Ошибка связи с SSLS-сервером Java
Это Java-клиент:
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
public class Main {
public static void main(String[] args) throws IOException {
SSLSocketFactory sslsockfact =
(SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsockfact.createSocket(
args[0], Integer.parseInt(args[1]));
sslsocket.startHandshake();
System.in.read();
}
}
Это всего лишь несколько функций, чтобы установить соединение и выполнять рукопожатия, но я получаю эту ошибку:
Exception in thread "main" javax.net.ssl.SSLHandshakeException:
Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(
SSLSocketImpl.java:1657)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(
SSLSocketImpl.java:932)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(
SSLSocketImpl.java:1096)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(
SSLSocketImpl.java:1123)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(
SSLSocketImpl.java:1107)
at posslu.Main.main(Main.java:22)
Java Result: 1
К сожалению, у меня нет любые источники серверной программы - я знаю только протокол. Можно ли даже подключить java и C++ с помощью ssl? Сервер AFAIK написан с использованием openssl.
Любая помощь?
EDIT:
Я подключении из Windows на Linux и сервера с использованием POSIX сокеты.
Эта конкретная ошибка SSL может возникать по многим причинам. Попробуйте получить журнал с сервера, который должен рассказать вам причину. –