Maison >Java >javaDidacticiel >Pourquoi mon code Java génère-t-il une « InvalidKeyException : taille de clé illégale » sur mon serveur TeamCity mais pas sur mon MacBook Pro ?

Pourquoi mon code Java génère-t-il une « InvalidKeyException : taille de clé illégale » sur mon serveur TeamCity mais pas sur mon MacBook Pro ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 02:52:09513parcourir

Why Does My Java Code Throw an `InvalidKeyException: Illegal Key Size` on My TeamCity Server but Not My MacBook Pro?

InvalidKeyException : taille de clé illégale

Question :

Lors de l'exécution d'un test en continu d'intégration du serveur TeamCity, une erreur s'est produite : "java.security.InvalidKeyException : taille de clé illégale." Cette erreur ne s'est pas produite lors de l'exécution du test sur un MacBook Pro. Les deux environnements utilisent Java 1.6 et la bibliothèque BouncyCastle.

Réponse :

L'erreur est due aux restrictions sur la taille des clés de cryptographie imposées par la politique de la machine virtuelle Java, qui est conforme avec l'exportation américaine lois.

Solution :

Java 9 et versions ultérieures :

  • Les fichiers de politique de juridiction à force illimitée sont inclus avec Java 9 et supérieur par défaut.
  • Si l'erreur persiste, vérifiez le fichier java.security et assurez-vous que "crypto.policy=unlimited" n'est pas commenté ou inclus.

Java 8 Update 161 et versions ultérieures :

  • La politique de juridiction à force illimitée est activée par défaut.
  • Si l'erreur se produit, vérifiez le fichier java.security pour toute modification apportée à la stratégie configuration.

Java 8 Update 151 et versions ultérieures :

  • La politique de juridiction à force illimitée est incluse mais n'est pas utilisée par défaut.
  • Pour l'activer, décommentez "crypto.policy=unlimited" dans le fichier java.security fichier.
  • Redémarrez la JVM pour que les modifications prennent effet.

Java 8 Update 144 et versions antérieures :

  • Installer les fichiers de politique de juridiction à force illimitée Java Cryptography Extension (JCE) d'Oracle.
  • Décompressez le fichier téléchargé et copiez les fichiers "local_policy.jar" et "US_export_policy.jar" dans le répertoire de sécurité approprié (par exemple, /lib/security).
  • Redémarrez la JVM pour appliquer la nouvelle stratégie. .

Château gonflable Solution :

  • Passer à l'utilisation directe des classes BouncyCastle, au lieu du fournisseur BC. Cette méthode contourne les limitations de taille de clé.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn