2017-02-07 7 views
0

Я хочу подключиться к https://twitter.com/,Свяжите сертификат с HTTPS URL

URL url = new URL("https://twitter.com/"); 
HttpURLConnection uc1 = (HttpURLConnection) url.openConnection(); 

Я проверил расположение моих и мои доверенные сертификатов ключей (и их пароля), это нормально. Я сохранил твиттер-сертификат и псевдоним в хранилище ключей и доверенности. Я подтвердил, что он находится.

Я не знаю, как связать URL с сохраненным мной сертификатом; Я получаю сообщение об ошибке:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

Как я это делаю?

****** UPDATE ********

Я установил и доверенные сертификаты хранилище ключей с SetProperty уже. Когда я Keytool -list -keystore .keystore на консоли, я получаю

...

twittercert, 2 ЕФЖДТПА. 2017, trustedCertEntry, Сертификат соответствия (SHA1): 10: F0: 40: F2: 93: 7F: E0: 69: 2D: C1: B9: 8C: 8B: 32: CC: E0: 1E: 43: 82: 52

...

То же самое с Keytool -list

ответ

0

Twitter сертификат выдается DigiCert, который включен в качестве доверенного корня в доверенных сертификатов по умолчанию виртуальной машины Java, так что вам не нужно будет ничего настраивать.

Если вы создали собственный магазин доверия JKS, вероятно, неверно настроен. Убедитесь, что вы установили правильный путь к своему доверенному месту, используя параметр System.setProperty или -D VM.

System.setProperty("javax.net.ssl.trustStore", trustStorePath); 
System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword) 

Убедиется также, что содержит доверенные корневых сертификата Digicert

Обновлены Обратите внимание, что SHA-1 Отпечаток сертификата щебета вы публикуемый не равен, чем извлеченные сегодня. Может быть, у вас есть старая копия?

enter image description here

Избегайте этот импорт в доверенное хранилище корня вместо СА сертификата листа

+0

@ehcnalb, могли бы вы проверить ответ? – pedrofb