На відміну від прийнятої відповіді, вам не потрібен спеціальний менеджер довіри, вам потрібно виправити конфігурацію вашого сервера!
Я потрапив у ту ж проблему під час підключення до сервера Apache з неправильно встановленим сертифікатом dynadot / alphassl. Я підключаюсь за допомогою HttpsUrlConnection (Java / Android), який кидав -
javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException:
Trust anchor for certification path not found.
Актуальною проблемою є неправильна конфігурація сервера - протестуйте її за допомогою http://www.digicert.com/help/ або подібного, і він навіть підкаже вам рішення:
"Сертифікат не підписаний довіреною владою (перевірка кореневого магазину Mozilla). Якщо ви купили сертифікат у надійного органу, вам, мабуть, просто потрібно встановити один або кілька проміжних сертифікатів . Зверніться до свого постачальника сертифікатів, щоб допомогти зробити це для вашого платформа сервера. "
Ви також можете перевірити сертифікат за допомогою openssl:
openssl s_client -debug -connect www.thedomaintocheck.com:443
Напевно ви побачите:
Verify return code: 21 (unable to verify the first certificate)
і, раніше у виході:
depth=0 OU = Domain Control Validated, CN = www.thedomaintocheck.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, CN = www.thedomaintocheck.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 OU = Domain Control Validated, CN = www.thedomaintocheck.com
verify error:num=21:unable to verify the first certificate`
Ланцюг сертифікатів міститиме лише 1 елемент (ваш сертифікат):
Certificate chain
0 s:/OU=Domain Control Validated/CN=www.thedomaintocheck.com
i:/O=AlphaSSL/CN=AlphaSSL CA - G2
... але слід посилатися на органи, що підписують, по ланцюжку назад до того, якому довіряють Android (Verisign, GlobalSign тощо):
Certificate chain
0 s:/OU=Domain Control Validated/CN=www.thedomaintocheck.com
i:/O=AlphaSSL/CN=AlphaSSL CA - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
Інструкції (та проміжні сертифікати) для налаштування вашого сервера зазвичай надаються органом, який видав ваш сертифікат, наприклад: http://www.alphassl.com/support/install-root-certificate.html
Після встановлення проміжних сертифікатів, наданих моїм емітентом сертифікатів, у мене тепер немає помилок при підключенні за допомогою HttpsUrlConnection.