Почему мы получаем исключение «javax.net.ssl.SSLException: сертификат недоверенного сервера» при использовании https - PullRequest
0 голосов
/ 10 октября 2011

Когда я пытался получить доступ к URL через HTTPS, я получаю исключение:

javax.net.ssl.SSLException: недоверенный сертификат сервера. Причина: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath не найден.

Я обнаружил в некоторых сообщениях на Stackoverflow, что он должен принимать некоторые сертификаты. Скажите пожалуйста, для чего нужно принимать сертификат ....

Заранее благодарю ....

Ответы [ 2 ]

0 голосов
/ 10 октября 2011

Вы должны предоставить SSL-сертификат в Keystore как @mikey, как назначено ... но если вы хотите разрешить весь хост без какой-либо проверки (разрешить весь хост).

call _FakeX509TrustManager.allowAllSSL ();в начале вашего метода http.надеюсь, это поможет.

0 голосов
/ 10 октября 2011

Сертификаты проходят проверку подлинности на основе корневого центра сертификации, такого как Verisign или Thawte. Некоторые сертификаты SSL снабжены цепочкой промежуточных сертификатов для проверки, которые обеспечивают проверку до одного из сертификатов верхнего уровня. В таком случае вам необходимо локально импортировать промежуточные сертификаты, а также сертификат страниц. Они должны быть импортированы в локальный файл cacerts. Это файл cacerts под Java, я не уверен, где он будет находиться на Android, но я видел его здесь ранее.

Также см. Добавление SSL-сертификата в хранилище ключей . Я думаю, вам нужно скачать BouncyCastle.

Это также может быть более полезным для вашей конкретной проблемы Как создать Java Keystore в формате BKS (BouncyCastle), который содержит цепочку клиентских сертификатов

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