L'authentification par certificat client demeure une méthode fiable pour contrôler l'accès à des applications ASP.

En effet, le système consiste à la transmission automatique du certificat client de l'utilisateur par le biais de son navigateur au serveur, après une tentative de connexion à une application Web sécurisée.

Pour cela, le serveur hôte doit évidemment être configuré en conséquence, c'est-à-dire, avoir sélectionné dans les propriétés d'un site web ou d'un répertoire virtuel, Activer certificat client et Requiert certificats client pour que le serveur demande les certificats clients.

Ensuite, le développeur doit écrire des programmes capables d'exploiter les informations contenues dans ces certificats clients.

Enfin, l'utilisateur doit également obtenir auprès d'un organisme tiers intègre, un certificat client, c'est-à-dire une méthode d'identification numérique contenant des informations relative à l'identité de l'utilisateur (nom, prénom, adresse, numéro de téléphone, etc.) en quelque sorte une carte d'identité électronique.

Evidemment, si toutes ces conditions ne sont pas réunies, alors la collection ClientCertificate demeurera vide.

La collection ClientCertificate contient l'ensemble des champs de certification provenant d'une certificat client émis par le navigateur Web de;l'utilisateur.

Request.ClientCertificate(Clé[Sous_Champs])

L'argument Clé représente le nom d'un champs de certification.

Request.ClientCertificate(ValidFrom)
Les arguments Clé
Argument Valeur
Certificate retourne une chaîne de caractères contenant le flux binaire du contenu complet d'un certificat client dans le format ASN.1.
Flags correspond à un jeu d'indicateurs fournissant des informations additionnelles à un certificat client.
ceCertPresentindique si le certificat est présent.
ceUnrecognizedIssuerindique si la dernière certification dans cette chaîne provient d'un distributeur inconnu.
Issuer retourne une chaîne de caractères qui contient une liste de valeurs de Sous_Champs.
SerialNumber retourne une chaîne de caractères qui contient le numéro de série de certification (ex: 01-G4-2S-E6).
Subject retourne une chaîne de caractères qui contient une liste de Sous_Champs à propos du sujet du certificat client.
ValidFrom retourne une date spécifiant quand le certificat devient valide.
ValidUntil retourne une date spécifiant l'expiration du certificat client.

Le paramètre optionnel Sous_Champs permet de retrouver un champs individuel dans le sujet (Subject) ou le distributeur (Issuer) des clés.

Request.ClientCertificate(IssuerCN)
Les sous-champs
Argument Valeur
C indique le nom de la région ou du pays d'origine.
CN indique le nom commun de l'utilisateur.
GN indique un nom donné.
i indique un jeu d'initiales.
L indique une localité.
O indique le nom de la compagnie ou de l'organisation.
OU indique le nom de l'unité organisationnelle.
S indique un état ou une province.
T indique la qualité d'une personne ou d'une organisation.
Exemple [voir]
<html>
  <body>
    <table>
      <%
        If Request.ClientCertificate("Flags") And ceCertPresent then
          For Each cle in Request.ClientCertificate
            Response.Write "<tr><td>" & cle & "</td><td>" _
                             & Request.ClientCertificate(cle) _
                             & "</td></tr>")
          Next
        Else
          Response.Write "Vous ne pouvez accéder aux " _
                                  & "informations du certificat client !"
        End If
      %>
    </table>
  </body>
</html>