Попытка создать соединение между моим клиентом и сервером (ASP. Net Core 2.2 - SignalR). Сервер имеет самозаверяющий сертификат, от которого клиент отказывается:
Имя хоста XXX не проверено:
сертификат: XXX
DN: XXX, O = XXX, L = XXX , ST = XXX, C = XXX
subjectAltNames: [] в io.reactivex.internal.util.ExceptionHelper.wrapOrThrow (ExceptionHelper. java: 46) в io.reactivex.internal.observers.BlockingMultiObserver. blockingGet (BlockingMultiObserver. java: 93) в io.reactivex.Completable.blockingAwait (Completable. java: 1227)
Есть ли способ добавить мой недействительный сертификат в качестве исключения? Очевидно, он не использует мои cacerts в jre / lib / security, потому что выполнение простого запроса get на моем сервере работает без каких-либо проблем.
Как собирается мой клиент SignalR:
public Messenger(String address) {
h = HubConnectionBuilder.create(address+"/ChatHub").build();
h.on("Send", (message) -> {
System.out.println("New message: " + message);
}
}, String.class);
h.onClosed( (error) -> {
JOptionPane.showMessageDialog(null, "Connection to the server lost.", "Error", JOptionPane.ERROR_MESSAGE);
boolean connection = false;
while(!connection) {
//System.out.println("Trying to reconnect..");
h.start();
if( h.getConnectionState() == HubConnectionState.CONNECTED) {
connection = true;
JOptionPane.showMessageDialog(null, "Reconnected to the server.", "Success", JOptionPane.ERROR_MESSAGE);
}
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
h.start().blockingAwait();
}