Contrairement à la accepté de répondre que vous n'avez pas besoin d'un de confiance personnalisée manager, vous devez modifier la configuration de votre serveur!
J'ai frappé le même problème lors de la connexion à un serveur Apache avec un mal installé dynadot/alphassl certificat. Je me connecte à l'aide de HttpsUrlConnection (Java/Android), qui jetait -
javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException:
Trust anchor for certification path not found.
Le problème réel est une mauvaise configuration du serveur de test avec http://www.digicert.com/help/ ou similaires, et il va même jusqu'à vous dire la solution:
"Le certificat n'est pas signé par une autorité de confiance (de la vérification de Mozilla magasin racine). Si vous avez acheté le certificat auprès d'une autorité de confiance, vous avez probablement juste besoin d'installer un ou plusieurs certificats Intermédiaires. Contactez votre fournisseur de certificats pour l'assistance de le faire pour votre plate-forme de serveur."
Vous pouvez également vérifier le certificat avec openssl:
openssl s_client -debug -connect www.thedomaintocheck.com:443
Vous aurez probablement voir:
Verify return code: 21 (unable to verify the first certificate)
et, plus tôt dans la sortie:
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`
La chaîne de certificats contiennent seulement 1 élément (votre certificat):
Certificate chain
0 s:/OU=Domain Control Validated/CN=www.thedomaintocheck.com
i:/O=AlphaSSL/CN=AlphaSSL CA - G2
... mais devrait faire référence à la signature des autorités dans une chaîne de retour à l'un, qui est approuvé par Android (Verisign, GlobalSign, etc):
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
Des Instructions (et les certificats intermédiaires) pour la configuration de votre serveur sont généralement fournis par l'autorité qui a délivré le certificat, par exemple: http://www.alphassl.com/support/install-root-certificate.html
Après l'installation de l'intermédiaire des certificats fournis par mon émetteur du certificat, j'ai maintenant pas d'erreurs lors de la connexion à l'aide de HttpsUrlConnection.