EncryptionOperationNotPossibleException von Jasypt mit Hüpfburg

8

Ich versuche Jasypt mit Bouncy Castle crypro stellt (128Bit AES) in einer Spring-Anwendung zur Verfügung, um Entity-Eigenschaften zu entschlüsseln und sie mit Hibernate zu speichern. Aber ich bekomme immer org.jasypt.exceptions.EncryptionOperationNotPossibleException , wenn ich versuche, die Eingabe zu speichern.

%Vor%

(vollständiger Stacktrace unten)

Ich benutze keine Java Cryptography Extension (JCE), deshalb versuche ich Bouncy Castle

zu verwenden

Ich denke, mit der Federkonfiguration stimmt etwas nicht, findet jemand das Problem?

Meine Federkonfiguration ist:

%Vor%

Verwendung:

%Vor%

pom / Abhängigkeiten

%Vor%

Vollständige Stapelverfolgung

%Vor%     
Ralph 16.05.2015, 16:30
quelle

1 Antwort

22

Jasypt wurde für die Verwendung mit JCE providers entwickelt. Die Terminologie, die dieses Projekt in seinem Web verwendet, kann verwirrend sein du da da ist der folgende Satz:

  

Öffnen Sie die API für die Verwendung mit einem beliebigen JCE-Provider und nicht nur mit dem Standard-Java   VM eins. Jasypt kann problemlos mit bekannten Anbietern wie   Hüpfburg

Aus diesem Satz vielleicht verstehen Sie, dass Jasypt mit JCE oder mit BouncyCastle verwendet werden kann, als ob beide anders arbeiten oder so etwas; Was dieser Satz jedoch bedeutet, ist, dass es viele JCE providers gibt, Standardanbieter, die mit einer Standardjava-Installation und nicht standardmäßige geliefert werden, beide erfüllen jedoch die JCA/JCE specification und beide können mit Jasypt arbeiten.

Wie gesagt, BouncyCastle hat eine JCE provider , von der bouncycastle können Sie sehen:

  

Ein Provider für die Java Cryptography Extension und das Java   Kryptographie-Architektur.

Wenn Sie also versuchen, mit org.bouncycastle.jce.provider.BouncyCastleProvider als Provider Operationen zum Verschlüsseln / Entschlüsseln durchzuführen, haben Sie die gleichen Einschränkungen wie alle JCE -Anbieter, beachten Sie jedoch die verfügbaren Algorithmen und Schlüssellängen.

Um diese Einschränkungen bezüglich Schlüssellänge und Algorithmen zu vermeiden und die Fehler zu übergeben, müssen Sie Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files für Ihre jvm-Version installieren.

Zum Beispiel für Java 1.7 können Sie die Dateien von hier . Kopieren Sie dann die JAR-Dateien in $ JAVA_HOME \ jre \ lib \ security und überschreiben Sie die vorhandenen local_policy.jar und US_export_policy.jar .

Hoffe, das hilft.

    
albciff 19.05.2015, 12:50
quelle