Zum Inhalt

InvalidKeyException

Wenn man die folgende Exception erhält, so ist dies nicht zwingend ein Indiz dafür, dass man etwas falsch gemacht hat, sondern es ist möglich, dass einfach nur noch etwas am JRE gemacht werden muss.

Exception in thread java.security.InvalidKeyException: Illegal key size or default parameters

Will man bspw. eine Verschlüsselung durchführen und hierbei eine bestimmte Schlüssellänge verwenden, so kommt es zu dieser Fehlermeldung, wenn man vorher nicht die »Unlimited Strength Jurisdiction Policy Files« für Java heruntergeladen und „installiert“ hat. Nachfolgend die Links zum benötigten Download für die jeweiligen Java Versionen.

Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 5.0
Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

Einfach für die im Einsatz befindliche Version herunterladen und die Zip-Datei entpacken. Von den entpackten Dateien interessieren uns nur die beiden *.jar Dateien. Diese kopieren wir in das Verzeichnis der JRE. Dies befindet sich in der Regel unterhalb von »C:\Program Files\Java\jre6« für die Version 6. Die beiden Dateien müssen aber nicht im Hauptverzeichnis abgelegt werden, sondern im Verzeichnis »Security«. Der komplette Pfad sollte also wie folgt aussehen:

C:\Program Files\Java\jre6\lib\security

Zur Sicherheit die beiden vorhandenen Dateien »local_policy.jar« und »US_export_policy.jar« umbenennen und danach die beiden Dateien aus dem Download einfügen.

Im Anschluss kann man dann sein Programm ausführen und wird nicht mehr die Exception erhalten, die auf diese beiden Dateien zurückzuführen ist. Wichtig ist noch, dass man die beiden im richtigen Verzeichnis von Java abgelegt. Hierbei ist zu berücksichtigen, dass sowohl die x86 als auch die x64 Variante des JRE auf einem Rechner vorhanden sein können. Den richtigen Pfad kann man zur Not auch einfach mittels eines Einzeilers in Java ermitteln.

System.out.println( System.getProperty("java.home") );
Published inJava

Kommentare sind geschlossen.