Algún código que he requiere la JCE ilimitado de la Fuerza Política de los Archivos. Me gustaría añadir a esta dependencia en el Maven Pom archivo para que los otros desarrolladores en mi equipo no tiene que individualmente cada uno de ellos aplicar esto a sus sistemas.

Me doy cuenta de que los sistemas de esto es que finalmente se implementa a tendrá que tener la JCE manualmente los archivos instalados. Esta es una solución de desarrollo solamente.

Estaba pensando que podríamos agregar la política de los archivos a nuestro repositorio de maven sería capaz de manejar la instalación, pero me sorprende que no puedo encontrar a nadie más haciendo este (y blogs sobre ella.).

InformationsquelleAutor Jeff Martin | 2010-08-06

3 Comentarios

  1. 15

    He encontrado la respuesta, cuando google para dependencias Maven para la política de los Frascos y se dio cuenta que la instalación de JRE específico, por lo tanto la fijación como parte de Maven build sólo funcionará para los desarrolladores y sólo cuando usted tiene derechos a /jre/lib/security carpeta. Para mí el siguiente código hack funciona mucho mejor (al invocar esta como una de las primeras cosas que su aplicación hace):

        try {
            Field field = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
            field.setAccessible(true);
            field.set(null, java.lang.Boolean.FALSE);
        } catch (ClassNotFoundException | NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException ex) {
            ex.printStackTrace(System.err);
        }
    • Gracias Bart , Este ans guardado mi tiempo.
    • Hola Bart, con la actualización a java1.8 esta solución dejado de funcionar. ¿Sabes similar truco para Java1.8 así ?
    • Hola, estoy usando Java 1.8.0_25 en OSX y todavía funciona.
    • Eso es porque javax.crypto.JceSecurity.isRestricted se convirtió final bugs.openjdk.java.net/browse/JDK-8149417
    • Hay una nueva solución de Andrey Karayvansky para Java 1.8 en este hilo
  2. 11

    Java 8 seguridad hack

        //hack for JCE Unlimited Strength
        Field field = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
        field.setAccessible(true);
    
        Field modifiersField = Field.class.getDeclaredField("modifiers");
        modifiersField.setAccessible(true);
        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
    
        field.set(null, false);
    • Estoy usando java 1.8.0_102. No funciona para mí 🙁

Dejar respuesta

Please enter your comment!
Please enter your name here