Аутентификация Java через HTTPS - PullRequest
2 голосов
/ 24 января 2012

Я пытаюсь пройти проверку подлинности на сервере через HTTPS. У меня проблемы с рукопожатием. Я думаю, это связано с тем, что при переходе по URL-адресу в браузере появляется всплывающее окно. Если я отменю это, я могу перейти к форме, которая позволит мне войти снова. Безопасность сервера - TAM.

Это на самом деле в начале, где у меня проблемы. Когда я пытаюсь запустить этот код:

        HttpResponse response = httpclient.execute(httpget);

Я получаю ошибку IOException о том, что javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated. Пример кода, который я использую, взят из документации Apache HTTPClient. Я также пытался использовать встроенные методы аутентификации Java, но у меня возникают другие проблемы с рукопожатием, говоря, что сертификат не является доверенным.

Во всяком случае, я довольно застрял на данный момент, что расстраивает, потому что я думал, что этот тип вещей должен быть достаточно базовым.

Итак, кто-то может быть так любезен, чтобы направить меня к некоторому образцу кода для аутентификации по HTTPS?

Спасибо.

EDIT: Просто, чтобы добавить еще одну ошибку, которую я получаю при использовании встроенной аутентификации Java Java, относящейся к сертификату:

javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.g: PKIX path building failed: 
java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath.; internal cause is: 
java.security.cert.CertPathValidatorException: The certificate issued by CN=XXX Internal Root CA, O=XXX Corporation, C=US is not trusted; internal cause is: 
java.security.cert.CertPathValidatorException: Certificate chaining error

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Проблема здесь в Windows.Или, точнее, WinInet API, по-видимому.

Я могу создать пользовательский TrustManager, который принимает все сертификаты, и он может нормально подключаться.Кроме того, если я попробую свой код без взлома на Linux, то он работает нормально.Поэтому любой способ, которым Windows обращается с хранилищем ключей, доставляет мне проблемы.

0 голосов
/ 24 января 2012

Кажется, вам не хватает серверных SSL-сертификатов в хранилище ключей jvm, вам нужно импортировать сертификаты с помощью keytool.Вот одна ссылка о том, как это сделать.Вот еще одна ссылка (даже если это для Gmail, вы можете найти полезные шаги)

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