Existen dos problemas: importación de software de cifrado y exportación de software de cifrado.
Algunos países (China, Rusia, Irán, Iraq, Myanmar, etc.) restringen el uso de la criptografía por parte de sus ciudadanos. Es ilegal importar el software de cifrado a esos países.
Para habilitar la fuerza de cifrado ilimitada en el JDK, debe descargar un nuevo archivo de política. La licencia del software allí no le permite usar el software si se encuentra en un país que no permite la importación de cifrado. Esto se llama "Política de jurisdicción de fuerza ilimitada" y a continuación incluyo parte de su archivo README.txt.
Otros países, como EE. UU., No desean exportar el software de cifrado al Axis of Evil. Por lo tanto, puede ser ilegal exportar el software de cifrado a esos países.
Las restricciones de exportación de EE. UU. Se han reducido considerablemente, probablemente en reconocimiento de la inutilidad de mantener el cifrado fuera de las manos de los enemigos, o posiblemente alentar el uso del cifrado que ha sido comprometido por la NSA. Pero, no se han ido del todo. No creo que el software pueda tener licencia de terroristas.
JCE para JDK 5.0 ha pasado por el proceso de revisión de exportaciones de EE. UU. El marco JCE, junto con el proveedor SunJCE que viene con el estándar , es exportable.
La arquitectura de JCE permite que la fuerza criptográfica flexible se configure mediante archivos de política de jurisdicción. Debido a las restricciones de importación de algunos países, los archivos de política de jurisdicción distribuidos con el software JDK 5.0 tienen restricciones integradas en la fuerza criptográfica disponible. Los archivos de política de jurisdicción en este paquete de descarga (el paquete que incluye este archivo README ) no contienen restricciones sobre las fortalezas criptográficas. Esto es apropiado para la mayoría de los países. Los proveedores de Framework pueden crear paquetes de descarga que incluyen archivos de políticas de jurisdicción que especifican restricciones criptográficas apropiadas para los países cuyos gobiernos exigen restricciones. Los usuarios en esos países pueden descargar un paquete apropiado, y el marco de JCE hará aplicando las restricciones especificadas.
Se le recomienda que consulte a su abogado de control de exportaciones e importaciones o al abogado para determinar los requisitos exactos.
Usted * do * tiene que descargar un módulo adicional para hacer una encriptación fuerte en el JDK. Ver mi respuesta a continuación. – erickson
Interesante; Pensé que ya que podía encriptar cosas usando javax.crypto y no paquetes de terceros, por lo tanto tenía todo el cifrado que necesitaba. No me di cuenta de que lo más fuerte está incluido bot. –
El código está incluido en el JDK, pero está deshabilitado. Si escribe un proveedor de JCE y admite la clase Cipher, debe obtener un certificado de firma de código de Sun y firmar con él su código, o el tiempo de ejecución no habilitará su implementación de Cipher. – erickson