2010-11-01 2 views
1

Je tente de connecter une application Java (en utilisant IBM Java 1.6.0 64 bits) pour me connecter à un serveur en mode SSL , mais il échoue avec l'erreur suivante:Erreur lors de l'utilisation du mode SSL: java.lang.NoClassDefFoundError: javax.crypto.b (échec de l'initialisation)

Exception in thread "main" java.lang.NoClassDefFoundError: javax.crypto.b (initialization failure) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:138) 
    at javax.crypto.KeyGenerator.a(Unknown Source) 
    at javax.crypto.KeyGenerator.<init>(Unknown Source) 
    at javax.crypto.KeyGenerator.getInstance(Unknown Source) 
    at com.ibm.jsse2.pb.d(pb.java:24) 
    at com.ibm.jsse2.fb.<init>(fb.java:7) 
    at com.ibm.jsse2.hb.a(hb.java:200) 
    at com.ibm.jsse2.hb.a(hb.java:208) 
    at com.ibm.jsse2.gb.n(gb.java:239) 
    at com.ibm.jsse2.gb.a(gb.java:228) 
    at com.ibm.jsse2.sc.a(sc.java:228) 
    at com.ibm.jsse2.sc.g(sc.java:451) 
    at com.ibm.jsse2.sc.a(sc.java:39) 
    at com.ibm.jsse2.j.write(j.java:6) 
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:77) 
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:135) 
    at com.ingrian.internal.xml.XMLVersionRequest.write(Unknown Source) 
    at com.ingrian.internal.session.Connection.e(Unknown Source) 
    at com.ingrian.internal.session.Connection.a(Unknown Source) 
    at com.ingrian.internal.session.c.e(Unknown Source) 
    at com.ingrian.internal.session.c.a(Unknown Source) 
    at com.ingrian.internal.session.RoundRobinBalancer.a(Unknown Source) 
    at com.ingrian.internal.session.Session.getConnectionImpl(Unknown Source) 
    at com.ingrian.internal.session.Session.getConnectionImpl(Unknown Source) 
    at com.ingrian.internal.session.Session.a(Unknown Source) 
    at com.ingrian.internal.session.Session.<init>(Unknown Source) 
    at com.ingrian.security.nae.NAESession.<init>(Unknown Source) 
    at com.ingrian.security.nae.NAESession.getSession(Unknown Source) 
    at CryptoTool.main(CryptoTool.java:910) 

La même application lors de l'exécution avec le protocole TCP se connecte avec succès au serveur.

J'ai essayé de le googler mais je n'ai pas trouvé beaucoup d'informations à l'exception de ce qui suit (permutation des fournisseurs JCE) mais cela n'a pas fonctionné non plus. link text

Est-ce un problème avec IBM Java ou un problème de configuration? 'apprécierait toute aide. Merci.

+0

Avez-vous installé le JCE dans le JRE exécutant ce code? Si oui, avez-vous utilisé IBM JCE? – Florian

Répondre

0

Le matériel crypo est-il une installation ou une option distincte? IBM a été connu pour séparer les produits de ce genre dans le passé.

+0

Le certificat de serveur est signé à partir d'une autorité de certification auto-signée. J'ai ajouté le certificat de serveur au keystore java du côté client. Mais je soupçonne, la connexion ne parvient même pas à cette phase (authentification), son échec sur l'installation de SSL (sur la tentative de connexion) du côté du client. – Ankur

+0

Qu'est-ce qu'un certificat, autosigné ou non, doit avoir avec java.lang.NoClassDefFoundError exactement? – EJP

+0

Dans ce cas, je vais pas à pas. Désolé si je ne sais pas _everything_. Quand je vois une erreur SSL en Java, la première chose que je vérifie est le certificat pour m'assurer que tout va bien. (Il m'a mordu trop de fois.) –

1

Cela ressemble à un problème de configuration. J'ai eu des erreurs similaires en utilisant Ingrian. Essayez d'augmenter le pool de connexions qui peut aider à résoudre le problème de connexion SSL et essayez d'optimiser les valeurs de délai de lecture sur Ingrian Property File.

0

Il semble que vous ayez modifié les fichiers jar dans le dossier de sécurité de votre JRE. Si c'est le cas, assurez-vous de copier les versions appropriées à votre version Java.

0

Cela ressemble à un problème de configuration SSL. Je suis tombé sur des problèmes similaires dans le passé. Assurez-vous que les certificats sont correctement configurés.

Questions connexes