InvalidKeyException : taille de clé illégale
Problème :
Lors de l'exécution de tests d'intégration continue sur un Serveur TeamCity, une erreur « java.security.InvalidKeyException : taille de clé illégale » se produit. Le code utilise BouncyCastle pour le cryptage AES et fonctionne correctement sur un MacBook Pro de développement avec Java 1.6.
Cause :
La machine virtuelle Java restreint la taille des clés en raison de l'exportation aux États-Unis. lois.
Solution :
Java 9 et versions ultérieures
- Les fichiers de politique de juridiction à force illimitée sont inclus par par défaut et activé. Si l'erreur persiste, cela indique une configuration de politique plus restrictive.
Java 8 et versions antérieures
Java 8 Update 161 et versions ultérieures
- Java 8 utilise par défaut la politique de juridiction à force illimitée. Si l'erreur se produit, vérifiez la configuration car elle a peut-être été modifiée en limitée.
Java 8 Update 151 et versions ultérieures
- Modifiez le fichier Java .security pour décommenter ou ajouter la ligne "crypto.policy=unlimited" pour activer la juridiction à force illimitée Politique.
- Redémarrez la JVM après avoir apporté des modifications.
Avant la mise à jour 151 de Java 8
- Installez l'extension de cryptographie Java ( JCE) Fichiers de stratégie de juridiction à force illimitée fournis par Oracle.
- Remplacez les fichiers de stratégie « forts » d'origine par les versions à force illimitée.
- Redémarrez la JVM après l'installation.
Considérations supplémentaires :
- BouncyCastle peut être utilisé pour éviter cette limitation, mais uniquement si les classes BC personnalisées sont utilisées directement, et non via le fournisseur BC.
- Utilisation de l'Illimité La politique de juridiction en matière de force peut enfreindre les lois américaines sur les exportations. Pensez à consulter un conseiller juridique local ou Oracle pour obtenir des conseils.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!