Berlawanan dengan jawaban yang diterima bahwa Anda tidak memerlukan manajer kepercayaan khusus, Anda harus memperbaiki konfigurasi server Anda!
Saya mengalami masalah yang sama saat menghubungkan ke server Apache dengan sertifikat dynadot / alphassl yang tidak diinstal dengan benar. Saya terhubung menggunakan HttpsUrlConnection (Java / Android), yang melempar -
javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException:
Trust anchor for certification path not found.
Masalah sebenarnya adalah kesalahan konfigurasi server - mengujinya dengan http://www.digicert.com/help/ atau serupa, dan bahkan akan memberi tahu Anda solusinya:
"Sertifikat tidak ditandatangani oleh otoritas tepercaya (memeriksa terhadap root store Mozilla). Jika Anda membeli sertifikat dari otoritas tepercaya, Anda mungkin hanya perlu menginstal satu atau lebih sertifikat Menengah . Hubungi penyedia sertifikat Anda untuk bantuan melakukan ini untuk Anda platform server. "
Anda juga dapat memeriksa sertifikat dengan openssl:
openssl s_client -debug -connect www.thedomaintocheck.com:443
Anda mungkin akan melihat:
Verify return code: 21 (unable to verify the first certificate)
dan, sebelumnya dalam output:
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`
Rantai sertifikat hanya akan berisi 1 elemen (sertifikat Anda):
Certificate chain
0 s:/OU=Domain Control Validated/CN=www.thedomaintocheck.com
i:/O=AlphaSSL/CN=AlphaSSL CA - G2
... tetapi harus merujuk otoritas penandatangan dalam rantai kembali ke rantai yang tepercaya oleh Android (Verisign, GlobalSign, dll):
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
Petunjuk (dan sertifikat perantara) untuk mengonfigurasi server Anda biasanya disediakan oleh otoritas yang mengeluarkan sertifikat Anda, misalnya: http://www.alphassl.com/support/install-root-certificate.html
Setelah menginstal sertifikat perantara yang disediakan oleh penerbit sertifikat saya, saya sekarang tidak memiliki kesalahan saat menghubungkan menggunakan HttpsUrlConnection.