SlideShare une entreprise Scribd logo
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.

Contenu connexe

Tendances

Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
Florian Beaufumé
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
ENSET, Université Hassan II Casablanca
 
Les agents intelligents et les SMA
Les agents intelligents et les SMALes agents intelligents et les SMA
Les agents intelligents et les SMA
Bilal ZIANE
 
Les formes de l’évaluation en informatique scolaire février2014
Les formes de l’évaluation en informatique scolaire février2014Les formes de l’évaluation en informatique scolaire février2014
Les formes de l’évaluation en informatique scolaire février2014Haddi Abderrahim
 
Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
Badiâa Dellal-Hedjazi
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFITheses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
ENSET, Université Hassan II Casablanca
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
kamar MEDDAH
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes expertsBruno Delb
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseurOndernemersschool
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdf
webreaker
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
Cynapsys It Hotspot
 
1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur
Samir TABIB
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
Yassine Badri
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
ENSET, Université Hassan II Casablanca
 
système multi agent
système multi agentsystème multi agent
système multi agent
Fatima Zohra BENHACINE
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
Mohamed Heny SELMI
 

Tendances (20)

Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Les agents intelligents et les SMA
Les agents intelligents et les SMALes agents intelligents et les SMA
Les agents intelligents et les SMA
 
Les formes de l’évaluation en informatique scolaire février2014
Les formes de l’évaluation en informatique scolaire février2014Les formes de l’évaluation en informatique scolaire février2014
Les formes de l’évaluation en informatique scolaire février2014
 
Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFITheses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Les systèmes experts
Les systèmes expertsLes systèmes experts
Les systèmes experts
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseur
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdf
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur1ère Présentation Atelier Vision par ordinateur
1ère Présentation Atelier Vision par ordinateur
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
système multi agent
système multi agentsystème multi agent
système multi agent
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 

Dernier

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (6)

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

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.