Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Procédure : Appeler un service Web avec SSL

Dernière mise à jour le 31 août 2004

Sur cette page

Objectifs
S'applique à
Comment utiliser ce module
Résumé
Créer un service Web simple
Configurer le répertoire virtuel du service Web pour exiger SSL
Tester le service Web à l'aide d'un navigateur
Installer le certificat de l'Autorité de certification sur l'ordinateur client
Développer une application Web pour appeler le service Web
Ressources supplémentaires

Objectifs

Ce module vous permet d'effectuer les opérations suivantes :

  • configurer un service Web ASP.NET afin d'exiger l'utilisation du protocole SSL pour toutes les communications clientes ;

  • configurer un ordinateur client afin d'approuver l'Autorité de certification (CA) à l'origine du certificat SSL pour le serveur Web ;

  • appeler un service Web ASP.NET de façon sécurisée à l'aide du protocole HTTPS.

S'applique à

Ce module s'applique aux produits et technologies suivants :

  • Microsoft Windows® XP ou Windows 2000 Server (avec le Service Pack 3) et systèmes d'exploitation ultérieurs

  • Microsoft Internet Information Services (IIS) 5.0

  • Microsoft .NET Framework version 1.0 (avec le Service Pack 2) et versions ultérieures

  • Microsoft Visual C#® .NET

Comment utiliser ce module

Pour tirer le meilleur parti possible de ce module :

  • Vous devez être familiarisé avec la programmation en Visual C# .NET et en Microsoft Visual Studio® .NET.

  • Vous devez être familiarisé avec le développement d'applications Web à l'aide de ASP.NET.

  • Vous devez posséder une expérience de la configuration des services IIS.

  • Lisez le module 4 « Communications sécurisées ». Ce module présente les principaux concepts du protocole SSL et décrit les situations dans lesquelles celui-ci est généralement utilisé.

  • Vous devez disposer d'un serveur Web sur lequel un certificat SSL est installé. Consultez la section « Procédure : Configurer SSL sur un serveur Web » pour plus d'informations.

  • Votre ordinateur client doit déjà avoir approuvé l'Autorité de certification qui a émis le certificat SSL pour votre serveur, ou vous devez avoir accès au certificat de l'Autorité de certification de façon à pouvoir l'approuver à l'aide du processus décrit dans ce module.

Résumé

Les communications entre les services Web et leurs applications clientes portent souvent sur des informations sensibles. Ces informations pourraient bénéficier des fonctionnalités d'intégrité et de confidentialité des données offertes par les protocoles SSL (Secure Sockets Layer).

Ce module décrit comment configurer un service Web ASP.NET afin d'exiger que les clients utilisent le protocole SSL pour toutes les communications. Il explique également comment appeler le service Web à partir d'une application ASP.NET cliente au moyen du protocole HTTPS.

Remarque : les informations contenues dans cette procédure s'appliquent également aux objets distants hébergés par ASP.NET et Microsoft® Internet Information Services (IIS) (au moyen de la technologie .NET Remoting). Pour plus d'informations sur la création d'un composant distant hébergé par IIS, consultez la section « Procédure : Créer un composant distant hébergé par IIS ».

Créer un service Web simple

Au cours de cette procédure, vous allez créer un service Web simple à des fins de test.

  • Pour créer un service Web simple sur l'ordinateur hôte du service Web

    1. Démarrez Visual Studio .NET et créez une application Web ASP.NET Visual C# nommée SecureMath.

    2. Renommez service1.asmx en math.asmx.

    3. Ouvrez math.asmx.cs et renommez la classe Service1 en math.

    4. Ajoutez la méthode Web suivante à la classe math.

      [WebMethod]
      public long Add(long operand1, long operand2)
      {
      return (operand1 + operand2);
      }
      
    5. Pour créer le service Web, choisissez Générer la solution dans le menu Générer.

Configurer le répertoire virtuel du service Web pour exiger SSL

Votre service Web s'exécute sur IIS (Internet Information Services) et dépend de IIS pour assurer la prise en charge de SSL.

Lors de cette procédure, nous considérons que vous possédez un certificat de serveur valide installé sur votre serveur Web. Pour plus d'informations sur l'installation de certificats de serveur Web, consultez la section « Procédure : Configurer SSL sur un serveur Web ».

  • Pour utiliser IIS afin de configurer le répertoire virtuel de votre service Web pour SSL

    1. Sur l'ordinateur hôte du service Web, démarrez IIS.

    2. Accédez au répertoire virtuel SecureMath.

    3. Cliquez avec le bouton droit sur SecureMath et cliquez sur Propriétés.

    4. Cliquez sur l'onglet Sécurité de répertoire.

    5. Sous Communications sécurisées, cliquez sur Modifier.
      Si l'option Modifier n'est pas disponible, il est probable qu'aucun certificat de serveur Web n'est installé.

    6. Activez la case à cocher Requérir un canal sécurisé (SSL).

    7. Cliquez sur OK, puis de nouveau sur OK.

    8. Dans la boîte de dialogue Héritages outrepassés, cliquez sur Sélectionner tout, puis sur OK pour fermer la boîte de dialogue des propriétés de SecureMath.
      Cette opération applique l'ensemble des nouveaux paramètres de sécurité à tous les sous-répertoires situés dans la racine du répertoire virtuel.

Tester le service Web à l'aide d'un navigateur

Cette procédure garantit que le certificat du serveur Web est valide et qu'il a été émis par une Autorité de certification approuvée par l'ordinateur client.

  • Pour appeler le service Web à l'aide du protocole SSL à partir de Internet Explorer

    1. Démarrez Internet Explorer sur l'ordinateur client et accédez (à l'aide de HTTPS) au service Web. Par exemple :

      https://WebServer/securemath/math.asmx
      
      

      La page de test du service Web doit être affichée par le navigateur.

    2. Dans le cas contraire, fermez Internet Explorer et passez à la procédure intitulée « Développer une application Web pour appeler le composant desservi ».

    3. Dans la boîte de dialogue Alerte de sécurité, illustrée dans la figure 1, cliquez sur Afficher le certificat pour connaître l'identité de l'Autorité de certification émettrice du certificat du serveur Web. Vous devez installer le certificat de l'Autorité de certification sur l'ordinateur client. Cette opération est décrite dans la procédure « Installer le certificat de l'Autorité de certification sur l'ordinateur client ».

    4. Fermez Internet Explorer.

Boîte de dialogue Alerte de sécurité

Figure 1
Boîte de dialogue Alerte de sécurité


Installer le certificat de l'Autorité de certification sur l'ordinateur client

Cette procédure permet d'installer le certificat de l'Autorité de certification émettrice sur l'ordinateur client en tant qu'autorité de certificat racine approuvée. L'ordinateur client doit approuver l'Autorité de certification émettrice afin d'accepter le certificat du serveur sans afficher la boîte de dialogue Alerte de sécurité.

  • Si vous utilisez les services de certificat Microsoft en tant qu'Autorité de certification dans votre domaine Windows

    1. Suivez cette procédure uniquement si le certificat de votre serveur Web a été émis par une Autorité de certification de services de certificat Microsoft. Dans le cas contraire, si vous disposez du fichier .cer de l'Autorité de certification, passez à l'étape 8.

    2. Démarrez Internet Explorer pour accéder à http://nom_hôte/certsrv, où nom_hôte est le nom de l'ordinateur sur lequel se trouvent les services de certificat Microsoft qui ont émis le certificat du serveur.

    3. Cliquez sur Récupérer le certificat d'Autorité de certification ou la liste de révocation de certificats, puis sur Suivant.

    4. Cliquez sur Installez ce chemin d'accès de certification d'Autorité de certification.

    5. Dans la boîte de dialogue Magasin de certificats principal, cliquez sur Oui.

    6. Accédez au service Web avec HTTPS. Par exemple :

      https://WebServer/securemath/math.asmx
      
      

      La page de test du service Web doit maintenant apparaître correctement dans le navigateur, sans passer par la boîte de dialogue Alerte de sécurité.

      Vous avez installé le certificat de l'Autorité de certification dans votre magasin de certificat principal personnel approuvé. Pour être en mesure d'appeler correctement le service Web à partir d'une page ASP.NET, vous devez ajouter le certificat de l'Autorité de certification au magasin principal approuvé de l'ordinateur.

    7. Répétez les étapes 1 et 2, cliquez sur Télécharger un certificat de l'Autorité de certification et enregistrez le certificat dans un fichier sur votre ordinateur local.

    8. Effectuez maintenant les étapes restantes.

      Si vous possédez le fichier de certificat .cer de l'Autorité de certification

    9. Dans la barre des tâches, cliquez sur Démarrer, puis sur Exécuter.

    10. Tapez mmc et cliquez sur OK.

    11. Dans le menu Console, choisissez Ajouter/Supprimer un composant logiciel enfichable.

    12. Cliquez sur Ajouter.

    13. Sélectionnez Certificats et cliquez sur Ajouter.

    14. Sélectionnez Compte d'ordinateur et cliquez sur Suivant.

    15. Sélectionnez Ordinateur local : (l'ordinateur sur lequel cette console s'exécute) et cliquez sur Terminer.

    16. Cliquez sur Fermer, puis sur OK.

    17. Développez Certificats (Ordinateur local) dans le volet de gauche du composant logiciel enfichable MMC.

    18. Développez Autorités de certification racine de confiance.

    19. Cliquez avec le bouton droit sur Certificats, pointez sur Toutes les tâches et cliquez sur Importer.

    20. Cliquez sur Suivant pour éviter la boîte de dialogue Bienvenue de l'Assistant Importation de certificat.

    21. Entrez le chemin d'accès et le nom du fichier .cer de l'Autorité de certification.

    22. Cliquez sur Suivant.

    23. Sélectionnez Placer tous les certificats dans le magasin suivant et cliquez sur Parcourir.

    24. Sélectionnez Afficher les magasins physiques.

    25. Développez Autorités de certification racine de confiance dans la liste et sélectionnez Ordinateur local.

    26. Cliquez sur OK, sur Suivant, puis sur Terminer.

    27. Cliquez sur OK pour fermer la zone de message de confirmation.

    28. Actualisez l'affichage du dossier Certificats au sein du composant logiciel enfichable MMC et vérifiez que le certificat de l'Autorité de certification est répertorié.

    29. Fermez le composant logiciel enfichable MMC.

Développer une application Web pour appeler le service Web

Au cours de cette procédure, vous allez créer une application Web ASP.NET simple. Vous utiliserez cette application Web ASP.NET en tant qu'application cliente pour appeler le service Web.

  • Pour créer une application Web ASP.NET simple

    1. Sur l'ordinateur client du service Web, créez une application Web ASP.NET C# nommée SecureMathClient.

    2. Ajoutez une référence Web (en utilisant HTTPS) au service Web.

      1. Cliquez avec le bouton droit sur le nœud Références dans l'Explorateur de solutions, puis sur Ajouter une référence Web.

      2. Dans la boîte de dialogue Ajouter une référence Web, entrez l'URL de votre service Web. Veillez à utiliser une URL HTTPS.

        Remarque : si vous avez déjà défini une référence Web pour un service Web sans utiliser HTTPS, vous pouvez modifier manuellement le fichier de classe proxy généré et changer la ligne de code afin de remplacer la définition URL HTTP de la propriété Url par une URL HTTPS.

      3. Cliquez sur Ajouter une référence.

    3. Ouvrez le fichier Open WebForm1.aspx.cs et ajoutez l'instruction using suivante sous les instructions using existantes.

      using SecureMathClient.WebReference1;
      
    4. Affichez WebForm1.aspx en mode Concepteur et créez un formulaire identique à celui illustré dans la figure 2, à l'aide des ID suivants :

      • operand1

      • operand2

      • result

      • add

      Formulaire WebForm1.aspx

      Figure 2
      Formulaire WebForm1.aspx


    5. Double-cliquez sur le bouton Ajouter pour créer un gestionnaire d'événements de clic de bouton.

    6. Ajoutez le code suivant au gestionnaire d'événements.

      private void add_Click(object sender, System.EventArgs e)
      {
        math mathService = new math();
        int addResult = (int) mathService.Add( Int32.Parse(operand1.Text), 
                                               Int32.Parse(operand2.Text));
        result.Text = addResult.ToString();
      }
      
      
    7. Dans le menu Générer, choisissez Générer la solution.

    8. Exécutez l'application. Entrez deux chiffres à ajouter et cliquez sur le bouton Ajouter.
      L'application Web fera appel au service Web en utilisant SSL.

Ressources supplémentaires

  • « Procédure : Créer un composant distant hébergé par IIS ».

  • « Procédure : Configurer SSL sur un serveur Web ».

  • « Procédure : Appeler un service Web à l'aide de certificats clients à partir de ASP.NET ».


Cela vous a-t-il été utile ?
(1500 caractères restants)
© 2013 Microsoft. Tous droits réservés.