Comment : créer et exécuter l'exemple CNG
Cette rubrique décrit l'architecture de fichiers de l'exemple de communication sécurisée CNG (Cryptography Next Generation) et explique comment créer et exécuter l'exemple.
Pour créer l'exemple CNG, vous devez créer trois fichiers exécutables console.Exécutez ces fichiers simultanément pour voir l'exemple composite interactif.
L'exemple CNG a été écrit en C#.Il requiert Visual Studio 2008 ou versions ultérieures.
Création de l'exemple
L'exemple CNG est constitué de trois projets Visual Studio :
Alice
Bob
Mallory
L'exemple contient six fichiers que vous pouvez afficher et copier à partir des rubriques suivantes :
Chaque projet possède son propre fichier .cs (Alice.cs, Bob.cs et Mallory.cs) qui contient le code spécifique au projet.Les trois projets partagent les fichiers Utilities.cs, ChannelManager.cs et Communicator.cs.Ces trois fichiers sont ajoutés directement au projet Alice et indirectement (par la liaison de fichiers) aux projets Bob et Mallory.
Pour créer les projets Alice, Bob et Mallory
Démarrez Visual Studio.
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
La boîte de dialogue Nouveau projet s'affiche.
Dans le volet Types de projets, cliquez sur Visual C#.
Dans le volet Modèles, cliquez sur Application console.
Dans la zone Nom, tapez Alice.
Dans la zone Emplacement, indiquez l'emplacement auquel vous souhaitez stocker le projet Alice.
Cliquez sur OK.
Copiez le code source Alice dans un fichier nommé Alice.cs et enregistrez-le dans le répertoire du projet Alice.Lorsque vous y êtes invité, confirmez que vous souhaitez remplacer le fichier Alice.cs par défaut.
Copiez le code source de ChannelManager, Communicator et Utilities dans des fichiers distincts nommés ChannelManager.cs, Communicator.cs, et Utilities.cs, puis enregistrez-les dans le répertoire du projet Alice.Ajoutez ces trois fichiers à votre projet Alice comme suit :
Dans le menu Affichage, cliquez sur Explorateur de solutions.
Dans la fenêtre de l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier Alice, pointez sur Ajouter et cliquez sur Élément existant.
La boîte de dialogue Ajouter un élément existant s'ouvre et affiche le répertoire du projet Alice.
Sélectionnez les fichiers ChannelManager.cs, Communicator.cs et Utilities.cs, puis cliquez sur Ajouter.
Répétez les étapes 2 à 8 pour les projets Bob et Mallory.Veillez à enregistrer le code source Bob dans le répertoire du projet Bob et le code source Mallory dans le répertoire du projet Mallory.
Répétez l'étape 9 pour les projets Bob et Mallory.Cependant, lors de l'étape 9.c, au lieu de cliquer sur Ajouter, cliquez sur la flèche en regard du bouton Ajouter et cliquez sur Ajouter en tant que lien.
Définissez comme suit les répertoires de sortie des projets Bob et Mallory :
Dans le menu Projet, cliquez sur Propriétés, puis cliquez sur l'onglet Générer.
Affectez l'emplacement de génération au chemin de sortie utilisé par le projet Alice.Cet emplacement est probablement \bin\Debug\ dans le répertoire du projet Alice sélectionné à l'étape 6.
Pour créer chaque projet, dans le menu Générer, cliquez sur Générer la solution.
Vérifiez que tous les projets ont été générés sans erreur et que les fichiers exécutables Alice.exe, Bob.exe et Mallory.exe sont présents dans le répertoire du projet Alice.
Exécution de l'exemple
L'exemple peut être exécuté à partir de Visual Studio ou comme une application autonome.Ces méthodes produisent le même résultat.
Pour exécuter l'exemple CNG
Pour exécuter l'exemple à partir de Visual Studio, double-cliquez sur les fichiers .sln pour les trois projets, Alice.sln, Bob.sln et Mallory.sln, pour ouvrir trois instances de Visual Studio.Pour le projet Alice, dans le menu Déboguer, cliquez sur Démarrer le débogage.Répétez cette opération pour les projets Bob et Mallory.
– ou –
Pour exécuter l'exemple comme une application autonome, copiez les fichiers exécutables (.exe) pour les trois projets dans un même répertoire.Double-cliquez sur Alice.exe dans l'Explorateur Windows.Alice appelle les exécutables Bob et Mallory via son chargeur automatique intégré.
Notes
Vous pouvez également exécuter le fichier exécutable Alice à partir d'une fenêtre de console en accédant au répertoire qui contient les trois fichiers exécutables et en entrant alice.exe sur la ligne de commande.
Lorsque vous exécutez les trois fichiers exécutables, trois fenêtres de console s'affichent.Les fenêtres sont dimensionnées et positionnées afin que vous puissiez consulter facilement le flux de messages sur un moniteur 1280 x 1024 et leurs titres reflètent les noms des projets.Vous pouvez déplacer et redimensionner les fenêtres de console pour un affichage optimal.
Dans la fenêtre Alice, lorsqu'une invite concernant la version de sécurité s'affiche, tapez un nombre entre 1 et 5Pour le premier test, tapez 1.
Ces nombres correspondent aux cinq versions du logiciel décrites dans la section Vue d'ensemble de l'exemple CNG.
Pour les versions 2 à 5, vous devrez préciser la sortie des commentaires.Entrez n pour le mode normal ou y pour le mode détaillé.
Le mode normal affiche uniquement des messages texte en clair.
Le mode détaillé affiche des messages texte en clair, des clés de signature numérique, des clés de chiffrement, des vecteurs d'initialisation, du texte chiffré et des signatures numériques.
Lorsque vous êtes invité à désactiver Mallory, tapez n pour non ou y pour oui.
Si Mallory est désactivé, il ne reçoit pas de messages et reste inactif.Alice et Bob communiquent sans interception de Mallory.
Suivez la conversation chiffrée entre Alice et Bob.
Les détails de la conversation dépendent du numéro de version sélectionné à l'étape 2.Chaque fenêtre crée une boucle de messages qui alterne entre les modes d'envoi et de réception.Le mode d'envoi est indiqué par l'invite : >.Le mode de réception est indiqué par une ligne vierge.Si Alice est en mode d'envoi, Bob est en mode de réception.Lorsque Bob reçoit un message, il bascule en mode d'envoi tandis qu'Alice bascule en mode de réception.
Observez attentivement les messages d'Alice et de Bob.Le deuxième message d'Alice à Bob et la réponse de Bob à Alice ont été modifiés par Mallory.
À la fin de conversation chiffrée, Alice vous demande si vous souhaitez parler à Bob.
Si vous souhaitez envoyer vos propres messages, à l'invite :
Tapez un message, puis appuyez sur ENTRÉE.Alice envoie le message à Bob.
Affectez le focus à la fenêtre Bob, tapez un message, puis appuyez sur ENTRÉE.Bob envoie le message à Alice.
Répétez les deux étapes précédentes pour envoyer d'autres messages.
Lorsque vous souhaitez quitter, appuyez sur ENTRÉE dans la fenêtre d'Alice ou de Bob en mode d'envoi (indiqué par l'invite : >).
Les trois fenêtres retrouvent l'état qu'elles présentaient à l'étape 2.
Notes
Si vous fermez une fenêtre en cliquant sur le bouton Fermer, les fenêtres peuvent cesser de répondre.Vous devez fermer toutes les fenêtres actives et redémarrer l'exemple.
Exécutez l'exemple avec des options différentes.Si vous sélectionnez le mode détaillé et la version 2, 3, 4 ou 5, vous pouvez comparer les chaînes chiffrées qu'Alice envoie et celles que Bob reçoit.Elles doivent correspondre parfaitement excepté si Mallory est activé.Notez cependant que les caractères supérieurs à 128 dans le jeu de caractères ASCII sont représentés par des points d'interrogation (?) car ils ne peuvent pas être affichés.
Voir aussi
Concepts
Communication sécurisée Cryptography Next Generation (CNG), exemple