Я пытаюсь выполнить аутентификацию с помощью сервера через HTTPS. У меня проблемы с рукопожатием. Я думаю, это связано с тем, что когда я перехожу к URL-адресу в своем браузере, появляется всплывающее окно. Если я отменил это, я могу перейти к форме, которая позволит мне снова войти в систему. Безопасность сервера - TAM.Проверка подлинности Java по HTTPS
Его фактически в начале, где у меня проблемы. Когда я пытаюсь запустить этот код:
HttpResponse response = httpclient.execute(httpget);
я получаю IOException
ошибка о том, что javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
. Пример кода, который я использую, - это документы Apache HTTPClient. Я также пытался использовать встроенные методы проверки подлинности Java, но у меня возникают другие проблемы с рукопожатием, говоря, что сертификату не доверяют.
В любом случае, я довольно застрял в данный момент, что разочаровывает, потому что я думал, что этот тип материала должен быть достаточно базовым.
Итак, может ли кто-нибудь быть таким добрым, чтобы направить меня на пример кода для аутентификации через HTTPS?
Спасибо.
EDIT: Просто, чтобы добавить еще одну ошибку, я получаю при использовании встроенной в Java HTTP AUTH, относящиеся к сертификату:
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
Я перешел на сайт с моим браузером и нашел сертификат. Я загрузил его и импортировал, используя keytool, но он все равно дал мне ту же ошибку. Я получаю «ошибку цепочки сертификатов», используя метод java по умолчанию для http auth, и я получаю «peer not authenticated» с помощью apache java auth. Есть идеи? – eoinzy