SlideShare a Scribd company logo
1 of 5
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.
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.
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
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
  • …
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.

More Related Content

What's hot

Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
ambin_fr
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et Virtualisation
Marc Jouve
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
ENSET, Université Hassan II Casablanca
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
Siwar GUEMRI
 

What's hot (20)

Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
CV M. Iheb Abdelmaoujoud
CV M. Iheb AbdelmaoujoudCV M. Iheb Abdelmaoujoud
CV M. Iheb Abdelmaoujoud
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et Virtualisation
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Examen 2011 exo 4
Examen 2011 exo 4Examen 2011 exo 4
Examen 2011 exo 4
 

Les signatures avec java.security

  • 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.