Problèmes de certificat Java

1

Vue d'ensemble

Nous construisons une application JAVA qui communique des données via des lignes sécurisées HTTPS.

Problème

Lorsque nous exécutons notre application à partir d'Eclipse / Terminal, via la commande "java -jar <application> .jar", l'application réussit à tous égards. Cependant, lorsque nous exécutons notre application en "cliquant" sur le fichier jar ou depuis les fichiers de notre application OSX fournis, nous rencontrons le message d'erreur suivant:

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Nous avons ajouté tous les certificats respectifs au magasin de clés et nous l'avons testé de manière approfondie. Je devrais également ajouter que nous avons effectué des recherches approfondies sur cette erreur, mais elle a généralement été résolue en ce qui concerne les problèmes de certificat. Comme nous pouvons exécuter l'application avec succès dans certains scénarios, nous ne pensons pas que ce soit le cas.

Mon hypothèse actuelle est que nous devons signer notre application Java et / ou le fichier Application OSX généré à partir de notre script ANT.

Question

Est-ce que certains d'entre vous ont une idée de ce qui cause cette erreur? Des idées sur la façon de résoudre ce problème?

Nathan Lafferty
la source

Réponses:

2

Littéralement juste après avoir tapé cette question, mon collègue a trouvé la solution.

Apparemment, la variable "JAVA_HOME" change en fonction du contexte dans lequel vous avez exécuté votre fichier jar. Si vous exécutez l'application directement, la variable mène à

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

Considérant que l'exécuter à partir de bash / terminal / eclipse provoque sa localisation ailleurs

Dans le contexte de ce problème, cela signifie que nous n’ajoutions pas nos certificats à tous les endroits nécessaires. Si vous rencontrez ce problème, vérifiez que vous ajoutez vos certificats aux emplacements appropriés.

Nathan Lafferty
la source
1
Wow, j'ai essayé toutes les méthodes, c’est-à-dire l’importation de certificats auto-signés dans les cacerts de JAVA_HOME. Il est importé avec succès mais jamais résolu. Tu es un génie. Après avoir importé le même certificat à l'aide de / Library / Internet Plug-Ins / JavaAppletPlugin.plugin / Contents / Home en tant que JAVA_HOME, le problème a été résolu. Je suis tellement ravi. Merci beaucoup. Sandip
sandip darji