SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Présentation Talend Open Studio
Présentation Talend Open StudioPrésentation Talend Open Studio
Présentation Talend Open Studiohoracio lassey
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
Intelligence artificielle etroite introduction
Intelligence artificielle etroite introductionIntelligence artificielle etroite introduction
Intelligence artificielle etroite introductionSmals
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSSSamuel Robert
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communicationTarik Zakaria Benmerar
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Server-side JS with NodeJS
Server-side JS with NodeJSServer-side JS with NodeJS
Server-side JS with NodeJSLilia Sfaxi
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)Abdelouahed Abdou
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIMansouri Khalifa
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuéesFranck SIMON
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine LearningMathieu Goeminne
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
Épistemologie de l'informatique
Épistemologie de l'informatiqueÉpistemologie de l'informatique
Épistemologie de l'informatiqueRichardTerrat1
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 

Was ist angesagt? (20)

Présentation Talend Open Studio
Présentation Talend Open StudioPrésentation Talend Open Studio
Présentation Talend Open Studio
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Intelligence artificielle etroite introduction
Intelligence artificielle etroite introductionIntelligence artificielle etroite introduction
Intelligence artificielle etroite introduction
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSS
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
Chapitre 2.1 -  architecture d'un microprocesseur - bus et communicationChapitre 2.1 -  architecture d'un microprocesseur - bus et communication
Chapitre 2.1 - architecture d'un microprocesseur - bus et communication
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Server-side JS with NodeJS
Server-side JS with NodeJSServer-side JS with NodeJS
Server-side JS with NodeJS
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Épistemologie de l'informatique
Épistemologie de l'informatiqueÉpistemologie de l'informatique
Épistemologie de l'informatique
 
système multi agent
système multi agentsystème multi agent
système multi agent
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 

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.