Programmer des applications sécurisées en Java
Outils cryptographiques:
Mais aussi:
ServiceProvider
sNe rien faire en API de cryptographie sans comprendre la totalité des mécanismes mis en jeu !
Utiliser pour les technologies:
Système développé en Java pour permettre à quiconque de fournir une implémentation aux API standard de Java
Il suffit de:
jar
Système de greffons (plugin) donc
La page de description officielle de l’API du JCA se trouve ici
MessageDigest
Algorithmes standard du JCA:
Utilisation :
Créer un MessageDigest
:
MessageDigest digest = MessageDigest.getInstance("
Algorithme");
Lui fournir les octets à condenser avec plusieurs appels à :
digest.update(
données sous for de byte[] ou de ByteBuffer);
Calculer le condensat avec :
byte[] digest = digest.digest();
L’objet digest
peut être utilisé de cette façon plusieurs fois de suite.
Mac
Algorithmiques standard du JCS:
Utilisation :
Créer un Mac
:
Mac mac = Mac.getInstance("
Algorithme");
Lui fournir une clef :
mac.init(key)
Lui fournir les octets à condenser avec plusieurs appels à:
mac.update(
données sous for de byte[] ou de ByteBuffer);
Calculer le mac avec:
byte[] theMac = mac.doFinal();
Nous verrons plus généralement les clefs plus tard.
Écrire un programme qui calcule le condensat SHA512 d’un fichier
Écrire un programme qui calcule le Mac d’un fichier, avec Hmac et SHA512 comme algorithme. La clef sera générée à partir d’un mot de passe avec l’algorithme PBKDF2.