Programmer des applications sécurisées en Java
Outils cryptographiques:
Mais aussi:
ServiceProvidersNe 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:
jarSystème de greffons (plugin) donc
La page de description officielle de l’API du JCA se trouve ici
MessageDigestAlgorithmes 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.
MacAlgorithmiques 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.