Buduję prosty monitor aplikacji, aby sondować jeden z naszych adresów URL API i wysłać do nas e-mail, jeśli nie można uzyskać kodu statusu HTTP 200 z odpowiedzi (to oznaczałoby nasz interfejs API nie działa z jakiegoś powodu).Błąd "Peer Not Authenticated" SSL z HttpClient 4.1
używam HttpClient 4,1 (to ważne, ponieważ jego API różni znacznie od 3.x).
Nasz API jest bezpiecznym protokołem SSL, jednak wpisując:
w przeglądarce internetowej przekierowuje do
bez powodowania błędy.
Kiedy HttpClient próbuje uderzyć ten URL (http://example.com/our-api
), to nie z javax.net.ssl.SSLPeerUnverifiedException
wyjątek z komunikatem stwierdzając:
Peer nie uwierzytelnioną
widzę to dzieje się wiele innych osób o czym świadczy post this (który również zapewnia pewne sposoby obejścia tego problemu - rozwiązanie, które mam zamiar dzisiaj wprowadzić i faktycznie wprowadzić).
To, czego ten drugi post (i inne podobne do niego) nie wyjaśnia, dlaczego tak się dzieje! Zamiast pytać "jak to naprawić?" Pomyślałem Prosiłbym „dlaczego tak się dzieje?” Zanim pójdę barging naprzód z jednym z proponowanych rozwiązań, chciałbym wiedzieć, na czym polega problem, że jestem stara się naprawić ;-)
mógłbyś zamieścić pełną ślad stosu? –
Należy zauważyć, że ten komunikat musi wynikać z dziwnego programowania w HttpClient. Byłaby wcześniejsza "usterka uzgadniania" przez SSLException i to właśnie powinno być rzucone. Najwyraźniej wykonanie kontynuowało wywołanie SSLSession.getPeerCertificate(), które jest jedynym interfejsem API, który zgłasza wyjątek w tytule. – EJP