2016-01-29 1 views
0

Mon site Web est hébergé sur Amazon. Il est construit sur la version Microsoft de Java 1.4.2_13. J'ai remarqué que les emails ne sortaient pas. Je n'avais pas apporté de modifications au code. J'ai trouvé this document sur le site d'Amazon et suivi leurs instructions pour découvrir que notre environnement Java n'a pas passé le test. J'ai donc importé le nouveau certificat racine SSL. Je peux vérifier qu'il se trouve dans le fichier de clés, mais le message d'erreur suivant s'affiche lorsque j'exécute leur shaTest et que les e-mails ne sont toujours pas envoyés. Toute aide est appréciée. Merci!Échec de la validation de la signature du certificat

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Certificate signature validation failed 
    at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.URLConnection.getContent(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getContent(Unknown Source) 
    at java.net.URL.getContent(Unknown Source) 
    at ShaTest.main(ShaTest.java:11) 
Caused by: sun.security.validator.ValidatorException: Certificate signature validation failed 
    at sun.security.validator.SimpleValidator.engineValidate(Unknown Source) 
    at sun.security.validator.Validator.validate(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) 
    at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source) 
    ... 14 more 
Caused by: java.security.NoSuchAlgorithmException: 1.2.840.113549.1.1.11 Signature not available 
    at java.security.Security.getEngineClassName(Unknown Source) 
    at java.security.Security.getEngineClassName(Unknown Source) 
    at java.security.Security.getImpl(Unknown Source) 
    at java.security.Signature.getInstance(Unknown Source) 
    at sun.security.x509.X509CertImpl.verify(Unknown Source) 
    at sun.security.x509.X509CertImpl.verify(Unknown Source) 
    ... 18 more 
+0

Bienvenue dans StackOverflow. Veuillez faire attention lors de l'ajout de code pour vous assurer qu'il est correctement formaté en tant que bloc de code. Quatre espaces sont requis au début de la ligne pour placer le code dans un bloc de code. Le plus simple est de sélectionner tout le code, puis cliquez sur le bouton "Code" dans la barre d'outils. –

+0

Merci Cindy! Oui, je suis nouveau ici. – Vida

+0

Vérifiez si [this] (http://stackoverflow.com/questions/6365209/java-and-ssl-java-security-nosuchalgorithmexception) aide. D'une manière générale, cela signifie que la version installée de Java manque de bibliothèques. Bouncycastle ou quelque chose de semblable non inclus, peut-être? – Alfabravo

Répondre

3

Java lui-même a obtenu le soutien SHA256 dans la version 1.4.2, mais Microsoft Java peut NOT- surtout parce qu'il a été arrêté depuis longtemps. You might be able to use bouncycastle. Remarque Java 1.4 est sorti en . C'est il y a 14 ans. Cela devrait être un énorme drapeau rouge; Je ne le ferais pas sur n'importe quelle machine connectée à Internet.

+0

Malheureusement, je suis bloqué avec cette version de java. Je vais regarder bouncycastle pour voir si je peux l'utiliser. Y avait-il quelque chose qui mérite d'être pris en compte dans la sortie de débogage que j'ai posté. Désolé, je suis nouveau sur SSL. – Vida

+0

NoSuchAlgorithm est intéressant, vous pourriez trouver une solution de contournement [ici] (https://stackoverflow.com/questions/16435654/keytool-error-importing-ssl-certificate-into-j9-keystore). Fondamentalement, la sécurité évolue, même java7 n'est pas capable de supporter certaines des politiques TLS-only modernes. – tedder42