Procédure : Configurer des certificats clients

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

Sur cette page

Objectifs
S'applique à
Comment utiliser ce module
Résumé
Créer une application Web simple
Configurer l'application Web pour exiger des certificats clients
Demander et installer un certificat client
Vérifier le fonctionnement du certificat client
Ressources supplémentaires

Objectifs

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

  • obtenir et installer un certificat côté client ;

  • créer une application Web ASP.NET nécessitant des certificats côté client.

Haut de page

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

  • Services de certificat Microsoft (si vous devez générer vos propres certificats clients)

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

  • Microsoft Visual C#® .NET

Haut de page

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.

  • Vous devez avoir accès à une Autorité de certification (Services de certificat Microsoft, par exemple) si vous souhaitez générer de nouveaux certificats clients.

  • Vous devez décider à quelle Autorité de certification commerciale vous serez amené à demander les certificats clients si vous ne souhaitez pas générer ces derniers vous-même. Certaines Autorités de certification facturent ce service en supplément.

  • 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.

  • Pour comparer l'utilisation des certificats clients avec d'autres formes d'authentification, lisez le Module 2, « Modèle de sécurité pour les applications ASP.NET ».

Haut de page

Résumé

Les certificats clients offrent un excellent mécanisme d'authentification pour les applications Web. Les navigateurs et les autres applications clientes doivent présenter un certificat valide avant toute autorisation d'accès, ce qui évite aux clients d'avoir à fournir des noms d'utilisateurs et des mots de passe. Les certificats côté client revêtent ainsi une importance particulière lors de la création de services Web sécurisés accessibles par d'autres applications clientes.

Ce module décrit en détail comment obtenir et installer un certificat côté client ou encore comment créer une application Web nécessitant des certificats côté client.

Haut de page

Créer une application Web simple

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

  • Pour créer une application Web simple

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

    2. Faites glisser un contrôle d'étiquette de la boîte à outils vers le formulaire Web WebForm1.aspx, puis attribuez le paramètre message à sa propriété ID.

    3. Faites glisser une deuxième étiquette sur WebForm1.aspx et attribuez le paramètre certData à sa propriété ID.

    4. Ajoutez le code suivant à la procédure d'événement Page_Load.

          string username;
      

username = User.Identity.Name; message.Text = "Bienvenue " + username; HttpClientCertificate cert = Request.ClientCertificate; if (cert.IsPresent) { certData.Text = "Certificat client extrait."; } else { certData.Text = "Aucun certificat client"; } ```

  1. Dans le menu Générer, choisissez Générer la solution.

  2. Démarrez Internet Explorer et accédez à http://localhost/SecureApp/WebForm1.aspx. La page doit apparaître avec les messages « Bienvenue » (aucun nom d'utilisateur ne s'affiche car l'utilisateur n'a pas été authentifié) et « Aucun certificat client ».

  3. Fermez Internet Explorer.

Haut de page

Configurer l'application Web pour exiger des certificats clients

Cette procédure utilise IIS (Internet Information Services) afin de configurer le répertoire virtuel de votre application Web pour exiger des certificats.

Lors de cette procédure, nous considérons que vous possédez un certificat 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 configurer le répertoire virtuel de votre application Web afin d'exiger des certificats

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

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

    3. Cliquez avec le bouton droit sur SecureApp 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. Sélectionnez l'option Exiger les certificats clients.

    8. Cliquez sur OK, puis de nouveau sur OK dans la fenêtre suivante.

    9. 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 SecureApp. 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.

    10. Pour vérifier que le site Web est correctement configuré, démarrez Internet Explorer et accédez (avec HTTPS) à https://localhost/secureapp/webform1.aspx.

    11. La boîte de dialogue Authentification du client est affichée par Internet Explorer pour vous permettre de choisir un certificat client. Comme vous n'avez pas encore installé de certificat client, cliquez sur OK et vérifiez qu'une page d'erreur apparaît. Le message doit vous informer que la page nécessite un certificat client.

    12. Fermez Internet Explorer.

Haut de page

Demander et installer un certificat client

Cette procédure permet d'installer un certificat côté client. Vous pouvez utiliser un certificat d'une Autorité de certification quelle qu'elle soit, ou bien générer votre propre certificat à l'aide des services de certificat Microsoft, comme décrit dans les sections suivantes.

Lors de cette procédure, nous considérons que les services de certificat Microsoft sont configurés pour les demandes en attente, qui nécessitent l'octroi explicite d'un certificat par un administrateur. Ces services peuvent aussi être configurés de manière à délivrer automatiquement des certificats en réponse aux demandes de certificats.

  • Pour vérifier le paramètre d'état de la demande de certificat

    1. Sur l'ordinateur disposant des services de certificat Microsoft, cliquez sur Autorité de certification dans le groupe de programmes Outils d'administration.

    2. Développez Autorité de certification (Local), cliquez avec le bouton droit sur l'Autorité de certification et cliquez sur Propriétés.

    3. Cliquez sur l'onglet Module de stratégie, puis sur Configurer.

    4. Vérifiez l'action définie par défaut.

      Lors de la procédure suivante, nous supposons que l'option Définir l'état de la demande de certificat comme étant en attente. L'administrateur doit délivrer explicitement le certificat est sélectionnée.

  • Pour demander un certificat côté client

    1. Démarrez Internet Explorer pour accéder à http://nom_hôte/certsrv, où nom_hôte correspond au nom de l'ordinateur sur lequel sont installés les services de certificat Microsoft.

    2. Cliquez sur Demander un certificat, puis sur Suivant.

    3. Sur la page Choisir le type de demande, cliquez sur Certificat utilisateur, puis sur Suivant.

    4. Cliquez sur Envoyer pour terminer la demande.

    5. Fermez Internet Explorer.

  • Pour délivrer le certificat côté client

    1. À partir du groupe de programmes Outils d'administration, démarrez l'outil Autorité de certification.

    2. Développez votre autorité de certification, puis sélectionnez le dossier Demandes en attente.

    3. Sélectionnez la demande de certificat que vous venez d'envoyer, pointez sur Toutes les tâches dans le menu Action et choisissez Délivrer.

    4. Vérifiez que le certificat est affiché dans le dossier Certificats délivrés et double-cliquez dessus pour l'afficher.

    5. Dans l'onglet Détails, cliquez sur Copier dans un fichier pour enregistrer le certificat en tant que certificat X.509 codé en Base 64.

    6. Fermez la fenêtre de propriétés du certificat.

    7. Fermez l'outil Autorité de certification.

  • Pour installer un certificat côté client

    1. Pour afficher le certificat, démarrez l'Explorateur Windows, accédez au fichier .cer enregistré lors de la procédure précédente, puis double-cliquez dessus.

    2. Cliquez sur Installer le certificat, puis sur Suivant sur la première page de l'Assistant Importation de certificat.

    3. Choisissez Sélectionner automatiquement le magasin de certificats selon le type de certificat et cliquez sur Suivant.

    4. Cliquez sur Terminer pour terminer l'exécution de l'Assistant. Faites disparaître le message de confirmation et cliquez sur OK pour fermer le certificat.

Haut de page

Vérifier le fonctionnement du certificat client

Cette procédure permet de vérifier que vous pouvez accéder à l'application SecureApp à l'aide d'un certificat client.

  • Pour vérifier le fonctionnement d'un certificat client

    1. Démarrez Internet Explorer pour accéder à https://hôtelocal/appsécurisée/webform1.aspx.

    2. Vérifiez que la page Web s'affiche correctement.

Ressources supplémentaires

Pour plus d'informations, consultez la section « Procédure : Configurer SSL sur un serveur Web » dans ce guide.

Haut de page