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.
Les arguments CléRequest.ClientCertificate(ValidFrom)
| 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.
|
||||
| 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.
Les sous-champsRequest.ClientCertificate(IssuerCN)
| 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. |
<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> |