Wie bekomme ich javax.crypto-Klassen wie javax.crypto.Chiffre arbeiten auf ein servlet mit jboss?
Meine Anwendung überprüft, eine Lizenz-Datei, um für Sie zu arbeiten. Dies geschieht durch Aufruf von javax.crypto.- Chiffre.getInstance("DES","SunJCE") inorder zu entziffern, die Lizenz-Schlüssel-Datei.
Wenn ich meine Anwendung lokal funktioniert alles wunderbar aber wenn ich die Bereitstellung der Anwendung mit jboss und auf den Punkt kommen, wo ich will, zum überprüfen der Lizenz-Datei auf das servlet, bekomme ich die folgende Fehlermeldung:
java.lang.SecurityException: JCE cannot authenticate the provider SunJCE
at javax.crypto.Cipher.getInstance(DashoA13*..)
at javax.crypto.Cipher.getInstance(DashoA13*..)
Wie ich schon sagte, es funktioniert gut, von der Eingabeaufforderung aus und eclipse, aber nicht als servlet auf jboss. Hat jemand eine Idee, was ich tun muss? Ich bin mit dem jdk 1.6 und jboss as 7.
Dank
- was ist deine jvm?
- Java-Version 1.6.0_26 von Sun Microsystems Inc.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar mögliche Probleme, die kommen in Verstand, es scheint ein problem mit der classpath bei der sun/oracle jvm versuchen, sich zu authentifizieren Anbieter Gläser
überprüfen Sie, dass alle Sicherheits-Gläser sind unter der
<jdk_home>/jre/lib/ext
von der jvm läuft jboss(ie US_export_policy.jar, sunjce_provider.jar, local_policy.jar....)
über US_export_policy.jar und local_policy.jar werden Sie sicher, dass Download der uneingeschränkten version
java.Sicherheit Datei in
<jdk_home>/jre/lib/security
: seien Sie sicher, dass eine Zeile ähnlich dersecurity.provider.X=com.sun.crypto.provider.SunJCE
wobei X für eine Zahlsicher sein, dass sunJCE provider-Glas ist nicht im WEB-INF/lib
Ich herausgefunden, was falsch war mit meinem code. Weiter oben in den code aus irgendeinem Grund hat jemand die folgenden:
Also aus irgendeinem Grund waren wir entfernen javas ersten SunJCE provider dann eine neue anzulegen und dieses neue wurde nicht authentifiziert werden.