> Tech > Notes sur la mise en oeuvre

Notes sur la mise en oeuvre

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

J’ai utilisé l’exemple KeyNaseLargeFi leProcessor fourni par Bouncy Castle comme point de départ du côté Java de mon processeur de commandes. La principale modification que j’ai apportée au code consistait à rechercher dans le fichier de clés spécifié un Key ID spécifique à utiliser lors du cryptage. (Dans

l’exemple non modifié, la première clé trouvée dans le fichier était utilisée automatiquement.).

A part cela, mon travail consistait surtout à donner le moyen au code Java de signaler des erreurs spécifiques à un programme CL invoquant. Voir l’encadré « Types de messages », pour une liste croisée des exceptions côté Java et des messages d’échappement côté CL. Les commandes ENCRYPT et DECRYPT s’appuient sur un programme CL d’arrière plan unique (figure 5) qui, à son tour, invoque une classe Java appelée CmdProc.

Les paramètres de commande sont passés à la méthode main() de la classe CmdProc, y compris une constante indiquant si nous cryptons ou décryptons. (La commande ENCRYPT passe un 1 et la commande DECRYPT passe un 2.) La méthode main() invoque l’une des méthodes encryptFile() ou decryptFile() de la classe CmdProc, d’après cette constante. La nature des applications Java tournant sur le System i est telle qu’un job séparé est démarré pour héberger la JVM (Java Virtual Machine) qui exécute votre code Java.

D’où la difficulté de renvoyer l’information à un programme CL invoquant. Pour pallier cette difficulté, notre programme CL crée temporairement une zone de données dans QGPL et passe le nom de cette zone à la classe CmdProc. (C’est un autre des arguments de la méthode main().) Le nom de la zone de données inclut le numéro du job invoquant, pour obtenir un degré raisonnable d’unicité. Le kit IBM Toolbox for Java/JT Open fournit à notre code Java le moyen de placer l’information d’erreur dans la zone de données, à l’usage du programme CL invoquant.

Au terme de l’utilitaire Java, le programme CL renvoie, sous forme d’un message d’échappement, les éventuelles informations d’erreurs qu’il a trouvées dans la zone de données. Derniers détails à régler Sur le plan pratique, vous devez savoir comment exporter votre clé publique et comment importer celles d’autrui. A l’aide de l’outil WinPT de GmPG, sélectionnez une clé dans la liste des clés puis choisissez Export dans le menu Key. La figure 6 montre notre clé publique codée en ASCII, exportée. Si nous voulions recevoir un fichier crypté de quelqu’un, il nous faudrait lui envoyer cette clé, par courriel ou autre moyen.

A l’inverse, nous nous attendons à recevoir de tels fichiers de la part de ceux qui veulent que nous cryptions les données à leur envoyer. Nous importons les clés publiques en sélectionnant Import dans le menu Key et en pointant l’import vers un fichier codé ASCII contenant les détails d’une clé publique. Une fois importée, la clé recevra un Key ID unique et nous utiliserons cet identificateur sur notre commande ENCRYPT.

Téléchargez cette ressource

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010