Quando si lavora su un altro problema (correlato a RMI), ho aggiornato la "cartella di sicurezza" del sistema con i file di criteri "forza illimitata" e ora la mia applicazione fallisce in un modo diverso. Ricevo un dump di stack lungo, di cui i seguenti bit appaiono pertinenti:java.lang.SecurityException: i file dei criteri di giurisdizione non sono firmati da un firmatario attendibile
Exception in thread "main" java.lang.ExceptionInInitializerError
[...crop...]
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:86)
... 17 more
Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by a trusted signer!
[...crop...]
Um, WTF? L'UNICA modifica era che spostavo da parte i file jar originali e aggiungevo quelli illimitati in $ JAVA_HOME/lib/security. Quella directory ora assomiglia a questo:
$ ls
blacklist javaws.policy trusted.libraries
cacerts local_policy.jar US_export_policy.jar
java.policy local_policy.jar.strong US_export_policy.jar.strong
java.security local_policy.jar.unlimited US_export_policy.jar.unlimited
Naturalmente, la .strong e la versione .unlimited ci sono così posso tornare in fretta.
Le indicazioni erano brevi e chiare e sembra che SOLO prevedano la sostituzione di questi due file (local_policy.jar e US_exportpolicy.jar).
Cos'altro c'è da fare?
Si noti che le versioni di java e dei file di criteri sono le più recenti finora: 1.7.0_03 e jce_policy-6, rispettivamente.
P.S. L'articolo di titolo simile, trovato here, non era di alcun aiuto.
Check out [Come installare i file di criteri di giurisdizione illimitata su Java Cryptography Extension (JCE)] (http://opensourceforgeeks.blogspot.in/2014/09/how-to-install-java-cryptography.html) –