para descargar descarga java maven-2 jce

java - descargar - maven 3.3 3



¿Cómo usaría Maven para instalar los archivos de la Política de fuerza ilimitada de JCE? (3)

Encontré esa respuesta al buscar en Google las dependencias de Maven para los archivos JAR de políticas y me di cuenta de que es una instalación específica de JRE, por lo que arreglar esto como parte de la compilación de Maven solo funcionará para los desarrolladores y solo cuando tenga derechos en la carpeta / jre / lib / security . Para mí, el siguiente código hack funciona mucho mejor (invoca esto como una de las primeras cosas que hace tu aplicación):

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); }

Algunos códigos que tengo requieren los archivos de política de fuerza ilimitados de JCE. Me gustaría agregar esta dependencia en el archivo Maven Pom para que los otros desarrolladores de mi equipo no tengan que aplicar esto individualmente a sus sistemas.

Me doy cuenta de que los sistemas en los que se implementará finalmente necesitarán tener los archivos JCE instalados manualmente. Esta es solo una solución de desarrollo.

Estaba pensando que agregaríamos los archivos de políticas a nuestro repositorio y Maven podría manejar la instalación, pero me sorprende que no pueda encontrar a nadie más haciendo esto (y blogueando al respecto).


Tal vez podrías probar esto:

  • Agrupar (¿ zip ?) Los archivos de política de fuerza ilimitada de JCE.
  • Instálelos en su repositorio corporativo como una dependencia zip .
  • Use el objetivo de dependency:unpack para descomprimir la dependencia creada en ${java.home}/jre/lib/security como parte de su compilación, por ejemplo, durante la initialize (consulte Desempaquetar artefactos específicos ).

Truco de seguridad de Java 8

// 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);