1. Mehdi EL KRARI
Les signatures avec java.security
Le package java.security
• Ce package est apparu dans la version 1.1 de API Java et implémente les méthodes
de cryptage.
• Le package java.security permet de signer ou crypter n'importe quelles
données avec l'algorithme de son choix. Pour signer des données, on utilise un
objet Signature et pour crypter on utilise un objet MessageDigest. Ces
deux classes sont appelées les "engine classes".
• Les différents algrorithmes de crytptage (SHA-1, MD2, MD5) et de signature
(DSA, MD2/RSA, MD5/RSA, SHA-1/RSA) reposent sur les méthodes SHA
(Secure Hash Algorithm) et RSA. Quelques algorithmes à clés symétriques sont
également implémentés : DES, IDEA, RC2, RC4.
2. Mehdi EL KRARI
Les signatures avec java.security
La classe KeyPairGenerator
La classe KeyPairGenerator est utilisé pour générer des paires de clés publiques et
privées. Les générateurs de paire de clés sont construits en utilisant les méthodes
getInstance.
Un générateur de paires de clé pour un algorithme particulier crée une paire de clés
publique / privée qui peut être utilisé avec cet algorithme.
3. Mehdi EL KRARI
Les signatures avec java.security
public void initialize(int keysize, SecureRandom random)
Initialise le générateur de paires clé pour une taille de clé certain avec la source de
donnée aléatoire
public static KeyPairGenerator getInstance(String algorithm)throws
NoSuchAlgorithmException
Retourne un objet KeyPairGenerator qui génère une paire de clés public / privé pour
l'algorithme spécifié.
La méthode prend en paramètre le nom de l'algorithme de chiffrement à utiliser :
• DiffieHellman
• DSA
• RSA
• EC
4. Mehdi EL KRARI
Les signatures avec java.security
La classe Signature
public static Signature getInstance(String algorithm)throws
NoSuchAlgorithmException
Retourne un objet « Signature » qui implémente l'algortihme de signature spécifié
en paramètre de la méthode, ce paramètre suit la syntaxe suivante : <MÉTHODE
DE HACHAGE>with<ALGORITHME DE CHIFFREMENT>
• NONEwithRSA
• MD2withRSA / MD5withRSA
• SHA1withRSA / SHA256withRSA / SHA384withRSA / SHA512withRSA
• NONEwithDSA
• SHA1withDSA
• …
5. Mehdi EL KRARI
Les signatures avec java.security
public final void initSign
(PrivateKey privateKey, SecureRandom random)throws
InvalidKeyException
Initialiser cet objet pour la signature. Si cette méthode est appelée de nouveau
avec un argument différent, il annule l'effet de cet appel.
public final void update(byte[] data) throws SignatureException
Met à jour les données à signer ou vérifier, à l'aide du tableau d'octets spécifié.
public final byte[] sign() throws SignatureException
Renvoie les octets de la signature de toutes les données mises à jour par
« update ». Le format de la signature dépend du schéma de signature sous-
jacente.