Cryptographie avec Bouncy Castle
par nyal
Date de publication : 07/07/2004
Dernière mise à jour :
Ce tutoriel constitue une première approche pour l'utilisation de la
bibliothèque Bouncy Castle.
1 - Introduction
2 - Installation
2.1 - Bibliothèque Bouncy Castle
2.2 - JCE: Unlimited Strength Jurisdiction Policy Files
2.3 - Certificats
2.4 - Cryptonit
3 - Gestion des certificats
3.1 - Les certificats PKCS#12 (.p12, .pfx)
3.2 - Les certificats X.509 (.cer)
4 - Signature d'un document
4.1 - Signer au format CMS/PKCS#7
4.2 - Vérifier la signature
5 - Chiffrement d'un document
5.1 - Chiffrement par clé symétrique
5.2 - Chiffrement par clé asymétrique (format CMS/PKCS#7)
6 - L'empreinte d'un document
7 - Conclusion
Remerciements
Cryptographie avec Bouncy Castle par nyal
-2-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
http://nyal.developpez.com/tutoriel/java/bouncycastle/
1 - Introduction
Bouncy Castle est une bibliothèque de cryptographie libre et open-source. Elle s'apparente à la librairie C openssl
qui est conforme aux différents standards en vigueur.
Bouncy Castle n'est pas installé de base sur les plateformes java. Suivez donc bien les consignes d'installation.
Ce tutoriel va vous expliquer comment réaliser les opérations les plus courantes de cryptographie (signature,
chiffrement,...) avec des exemples clairs.
Il est nécessaire d'avoir des notions en cryptographie. Car même si des explications seront apportées sur les
méthodes, elles ne seront peut être pas suffisantes pour une compréhension totale.
Bonne lecture.
Cryptographie avec Bouncy Castle par nyal
-3-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
http://nyal.developpez.com/tutoriel/java/bouncycastle/
2 - Installation
2.1 - Bibliothèque Bouncy Castle
Téléchargez les deux bibliothèques sur le site Bouncy Castle:
bcprov.jar
bcmail.jar
Choisissez les fichiers correspondant à votre JDK (normalement, ils sont présents pour toutes les versions).
Maintenant déplacez les deux .jar dans le répertoire jre/lib/ext de votre JDK.
2.2 - JCE: Unlimited Strength Jurisdiction Policy Files
Cette partie concerne les versions 1.4 et supérieures du JDK. Ces JDK possèdent des limitations au niveau de la
cryptographie. Cela est dû aux législations de certains pays qui interdisent de chiffrer avec des clés de taille trop
importante selon les algorithmes.
Téléchargez donc les Unlimited Strength Jurisdiction Policy Files pour votre JDK. L'archive se trouve sur le site
de sun à l'endroit où vous avez téléchargé votre JDK (se situe au bas de la page).
Une fois l'archive téléchargée, décompressez-la et copiez les fichiers dans le répertoire jre/lib/security/ de votre
JDK (vous pouvez écraser les anciens).
Si cette manipulation a mal été réalisée, vous aurez un message d'erreur avec les exemples de ce tutoriel :
java.lang.SecurityException: Unsupported keysize or algorithm parameters
at javax.crypto.Cipher.init(DashoA6275)
2.3 - Certificats
Les différents exemples de ce tutoriel ont besoin de certificats. Je vous fournis donc des certificats pour que vous
puissiez faire des tests :
personnal_nyal.p12 avec pour password 2[$0wUOS
personnal_nyal.cer
Ces certificats ne sont que des certificats de test. Mais je vous prie de les utiliser pour tester les exemples de cet
article seulement. Sinon je devrais les révoquer.
Vous pouvez vous en procurer gratuitement chez les AC (authority certification) suivantes (par exemple):
thawte
globalsign
...
2.4 - Cryptonit
Cryptographie avec Bouncy Castle par nyal
-4-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
http://nyal.developpez.com/tutoriel/java/bouncycastle/
Cryptonit est un logiciel développé en C++ par la société idealx.
Ce logiciel est libre et téléchargeable ici pour toutes les plateformes (windows, linux, mac,...).
Cryptonit, qui est un logiciel de cryptographie, va nous permettre de vérifier si les fichiers créés seront bien
utilisables par les autres applications du marché.
Cryptographie avec Bouncy Castle par nyal
-5-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
http://nyal.developpez.com/tutoriel/java/bouncycastle/
1 / 18 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !