2010-04-07 17 views
1

J'ai un keystore PKCS # 12 que j'ai importé avec succès dans mon navigateur pour accéder à un serveur nécessitant une authentification SSL bidirectionnelle. Fonctionne parfaitement atteindre n'importe quelle URL https là-bas.Axe sur SSL et authentification bidirectionnelle avec un keystore PKCS # 12

Cependant, je ne parviens pas à accéder à une URL sur le même serveur et à partir du même hôte lorsque j'utilise Axis 1.4. L'axe donné faultString est:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: construction de chemin PKIX a échoué: sun.security.provider.certpath.SunCertPathBuilderException: impossible de trouver chemin de certification valide cible demandée

Mes propriétés javax.net.ssl.{keyStore,keyStorePassword,keyStoreType} semblent être configurées correctement.

Comment puis-je résoudre ce problème?

Répondre

2

Enfin, l'importation des certificats dans mon propre fichier de clés certifiées, en utilisant InstallCert de Andreas Sterbenz et en définissant les propriétés trustStore comme indiqué here a fait l'affaire!

6

Je suis tombé sur une réponse plus simple si tout ce que vous voulez, c'est que votre client puisse appeler le service Web SSL et ignorer les erreurs de certificat SSL. (Bien sûr, vous pas le faire dans la production, mais il est sûr à portée de main pour le test!).

Il suffit de mettre cette déclaration avant d'invoquer des services Web:

System.setProperty("axis.socketSecureFactory", 
    "org.apache.axis.components.net.SunFakeTrustSocketFactory"); 

je trouve cela à the Axis wiki .