Pourquoi la force illimitée de JCE n'est-elle pas incluse par défaut?
Configuration
- Java n'offre pas de prise en charge prête à l'emploi pour les fichiers de stratégie JCE Unlimited Strength
- Cela empêche les utilisateurs d'utiliser AES-256, la plus grande taille de clé d'une norme de cryptage largement utilisée
- Ne pas inclure les fichiers de stratégie conduit à de nombreux problèmes:
- exceptions Inattendues
-
Solutions de contournement insatisfaisantes:
- Il suffit de les installer
- Utiliser une implémentation différente
- Utiliser une réflexion qui peut violer le Contrat de licence Java
- Rupture après les mises à jour JRE
- la Confusion après l'installation
- Et plus encore!
- Tout ce bruit conduit à des programmes cassés et/ou bogués
Question
- Pourquoi ceux-ci ne sont-ils pas fournis et traités comme un mouton noir?
3 answers
- Il s'avère que ce ne sont pas des lois strictes sur l'exportation de crypto, mais simplement que personne ne s'y est encore pris.
- En fait, il est prévu depuis longtemps de ne pas avoir à sauter à travers ces cerceaux.
- Dans Java 9, la cérémonie sera condensée jusqu'à un one-liner :
Security.setProperty("crypto.policy", "unlimited");
Maintenant la cryptographie illimitée activée par défaut dans le JDK
Le JDK utilise les fichiers de stratégie de juridiction Java Cryptography Extension (JCE) pour configurer les restrictions d'algorithme cryptographique. Auparavant, les fichiers de stratégie dans le JDK imposaient des limites à divers algorithmes. Cette version est livrée avec les fichiers de stratégie de juridiction limitée et illimitée, unlimited étant la valeur par défaut. Le comportement peut être contrôlé via le nouveau " crypto.propriété de sécurité de la politique trouvée dans le /lib/java.fichier de sécurité. Veuillez vous référer à ce fichier pour plus d'informations sur cette propriété.
Voir: http://www.oracle.com/technetwork/java/javase/8u161-relnotes-4021379.html#JDK-8170157
Les états-unis ont des restrictions sur l'exportation de la technologie cryptographique:
Https://en.wikipedia.org/wiki/Export_of_cryptography_from_the_United_States
Ils étaient très stricts used la cryptographie était classée comme des munitions, et vous ne pouviez télécharger que les produits à pleine puissance des États-Unis et d'autres pays sur liste blanche.
Les restrictions se sont beaucoup assouplies depuis lors, mais certaines restent, et full strength JCE ne peut pas être distribué librement partout comme le JRE, donc c'est un paquet séparé.