picture of tbs certificates
RatePoint Site Seal

Focus



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat :
Accès web avec authentification forte
Vous avez un site web protégé par SSL et vous voulez en reserver l'accès à certaines personnes?

Evidement vous pourriez utiliser de l'authentification faible (demande de mot de passe), mais vous pouvez également utiliser des certificats utilisateurs pour faire de l'authentification forte.

Il y a deux cas de figure:

  • tous les utilisateurs sont interne à votre organisation: utilisez des certificats utilisateurs émis dans un PKI (voir nos offres)
  • les utilisateurs sont divers: utilisez des certificats utilisateurs fournis par des tiers à l'unité (voir nos offres)
Vous trouverez une démonstration sur http://testcert.pitux.com/

Vous pouvez tester la connexion à un site SSL avec un certificat client ici: https://testcert.pitux.com/php/testcrypto.php. Cela fonctionnera avec les certificats clients de la gamme TBS X509 et ChamberSign Fiducio ; la page affichera le détail du certificat client présenté.


(Answer) Authentification forte avec Apache et certificats délivrés par une PKI
(Answer) Authentification forte avec Apache et certificats délivrés par de multiples CA
(Answer) Authentification forte avec Apache et certificats délivrés par vous à des partenaires
(Answer) Gestion des listes de révocation dans Apache
(Answer) Authentification forte avec IIS et TBS X509 Client Auth
(Answer) Authentification forte avec IIS et TBS X509 Personnel
(Answer) Comment debuger la demande de certificat client avec openssl?
(Answer) OpenVPN et authentification forte
[Nouvelle Entrée dans Accès web avec authentification forte]
2010-Mar-16 12:11pm



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Authentification forte avec Apache et certificats délivrés par une PKI
Ce type d'authentification est idéale pour l'accès à des ressources internet par votre personnel. Les offres commerciales correspondantes sont décrites dans la section PKI de notre comparatif, mais vous pouvez aussi utiliser des certificats client / utilisateur disponibles à l'unité.

Préalable: votre serveur doit être correctement configuré en tant que serveur SSL.

Dans votre VirtualHost SSL, placez deux instructions:

SSLCARevocationPath conf/ssl.crl/
SSLCACertificateFile conf/chain-mon-pki.txt
L'instruction SSLCARevocationPath concerne la révocation. Voir (Xref) Gestion des listes de révocation dans Apache pour mettre en place la gestion de la revocation.

L'instruction SSLCACertificateFile décrit la chaine de certification de votre PKI. Le fichier indiqué doit contenir la chaine de certification utilisé pour émettre vos certificats PKI. Pour constituer ce fichier, consultez (Xref) Certificats intermédiaires pour trouver l'autorité qui signe vos certificats et stockez dans un fichier texte le certificat affiché dans la page. Puis utilisez le lien "chaîné avec" pour remonter au niveau supérieur et ajoutez le certificat trouvé en dessous du certificat précédent. Ainsi de suite jusqu'à ce qu'il n'y ait plus de lien supérieur. Placez le fichier ainsi constitué dans conf/chain-mon-pki.txt

Assurez vous que votre Apache soit compilé avec un openssl version 0.9.7 récent, ou supérieur.


Maintenant au niveau d'un répertoire, il faut placer
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 4
pour activer la demande de certificat client, et spécifier la longueur maxi de ma chaîne.

Reste à spécifier le filtre qui permettra à tous vos utilisateurs de se connecter.

SSLRequire  %{SSL_CLIENT_I_DN} eq "/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions:
http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA persona" \
and %{SSL_CLIENT_S_DN_O} eq "NOM-DE-LA-SOCIETE" \
and %{SSL_CLIENT_S_DN_OU} eq "personnel interne / internal staff" \
and %{SSL_CLIENT_S_DN_C} eq "FR"
Dans cette expression, la première ligne vérifie l'autorité qui a émis le certificat (si vous avez suivi notre méthode et autorisé une seule autorité de certification, ce test redondant. Il est par contre utile si vous avez autorisé plusieurs CA.).
La seconde ligne vérifie que ce certificat est pour votre nom de société.
La troisième ligne vérifie que ce certificat est pour votre unité d'organisation au sein de votre société.
La quatrième ligne vérifie que ce certificat est pour une organisation en France.

Etc. Vous aurez compris que notre filtre exemple autorise tous les certificats émis pour une unité d'organisation de votre société. Vous pouvez écrire des instructions plus strictes, par exemple pour autoriser que certains utilisateurs de votre organisation, rajoutez:

%{SSL_CLIENT_S_DN_Email} in {"root@domaine.com", "system@domaine.com", "chef@domaine.com"}

Pour plus d'informations:


[Contribuer à cette Entrée]
2007-Feb-19 10:40am



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Authentification forte avec Apache et certificats délivrés par de multiples CA
Si vous ne pouvez pas imposez à vos utilisateurs d'utiliser des certificats X509 Sign & Login TBS (simples et peu couteux!), alors vous aurez à gérer de multiples certificats.

Préalable: votre serveur doit être correctement configuré en tant que serveur SSL.

La problématique de travailler avec des autorités multiples et possiblement diverses, c'est qu'il va falloir référencer les autorités que vous autorisez. C'est nécessaire car il faut vérifier que la politique de certification de ces autorités est compatible avec ce que vous voulez faire (qualité de l'authentification). De plus, il vous faudra gérer les CRLs de ces CA. Nous vous conseillons donc de vous limiter en nombre!

Dans votre VirtualHost SSL, placez deux instructions:

SSLCARevocationPath conf/ssl.crl/
SSLCACertificateFile conf/chain-mes-ca.txt
L'instruction SSLCACertificateFile pointe vers un fichier contenant la liste des autorités de certification que vous aurez référencé. Notez qu'il faut placer la chaine complète de chaque CA (en évitant les doublons). Pour constituer ce fichier, consultez (Xref) Certificats intermédiaires pour trouver les autorités autorisés (et leur chaine complète) ou adressez vous directement au CA. Placez le fichier ainsi constitué dans conf/chain-mes-ca.txt

L'instruction SSLCARevocationPath concerne la révocation. De même, il faudra prévoir la gestion de la révocation pour chaque CA. Voir (Xref) Gestion des listes de révocation dans Apache

Assurez vous que votre Apache soit compilé avec un openssl version 0.9.7 récent, ou supérieur.


Maintenant au niveau d'un répertoire, il faut placer
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 4
pour activer la demande de certificat client, et spécifier la longueur maxi de ma chaîne.

Reste à limiter l'accès à un groupe d'utilisateurs, car on ne peut pas laisser rentrer tous les porteurs d'un certificat d'une autorité publique! On n'utilisera souvent pas un filtre Apache, car c'est trop statique, même si c'est possible.


Authentification hors d'Apache

Vous utilisez un langage de programmation pour se logger dans une application (ouverture de session). Traditionnellement vous utilisez un username + password pour retrouver l'utilisateur dans votre SI et l'authentifier.

Vous pouvez utiliser le certificat et ses champs pour authentifier l'utilisateur. Pour se faire il est recommandé d'étendre votre table contenant les utilisateurs pour rajouter:

  • un identifiant de l'autorité de certification (par exemple le groupe de champs issuer)
  • un identifiant du champ sur lequel comparer (le plus souvent le champ email)
  • le contenu du champ identifiant qui devra être comparé
Fort de cela, dans votre langage préféré, vous allez récupérer des champs fournis par Apache qui décomposent le certificat client pour faciliter son exploitation (voir la doc pour Apache2 ou Apache 1.3 + mod_ssl). Préparez ensuite une requête sur le triplet:
(identifiant du CA, type champ, contenu)
Dès que vous trouvez une correspondance, vous avez identifié l'utilisateur avec certitude!


Authentification dans Apache

Si vous ne souhaitez pas gérer l'acceptation du certificat client au niveau applicatif, vous pouvez utiliser Apache.

Le mécanisme proposé comporte notamment des limitations. En effet vous ne pouvez filtrer que sur la partie subject (objet) du certificat client, ce qui présente un risque si plusieurs CA sont autorisées! En effet, qu'est ce qui garanti qu'un autre CA n'émettera pas un certificat avec le même objet mais à un utilisateur différent?


[Contribuer à cette Entrée]
2007-Feb-19 10:51am



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Authentification forte avec Apache et certificats délivrés par vous à des partenaires
Si vous avez besoin de protéger l'accès par certificats à un extranet (site utilisé par des tiers), vous allez avoir la problématique de l'attribution des certificats.

Bien sur, vous pourriez demander à vos partenaires de se procurer un certificat par eux même, et suivre le procédé (Xref) Authentification forte avec Apache et certificats délivrés par de multiples CA . Ils risquent néanmoins de ne pas réussir à s'en procurer, parce que c'est trop compliqué ou trop couteux, à moins qu'un de vos prestataires s'occupe de déploiement.

L'autre solution consiste à leur délivrer vous même le certificat à utiliser. Impossible d'utiliser une offre TBS X509 PKI, car elle ne permet de délivrer des certificats qu'à votre personnel en interne.

Vous pouvez par contre utiliser un certificat de type TBS X509 Sign&Login ou TBS X509 Email (Voir les certificats utilisateurs). Vous pouvez commander ces certificats pour vos partenaires ou clients (contact administratif = votre partenaire, contact technique = vous même).

Il vous est possible de faire toute la procédure d'obtention vous même ou de faire participer votre partenaire (mode invitation). Exemple:

  1. Déposez la demande de certificat chez nous. La génération du CSR se fera via votre navigateur web (vous pouvez aussi l'effectuer à la main avec openssl). Soit vous mettez la facture à votre nom et la réglez, soit l'utilisateur final devra la payer.
  2. Nous auditons votre demande. En particulier nous appelons le contact administratif pour nous assurer de son accord. Il est particulièrement important qu'il soit au courant de la demande de certificat et qu'il accepte que vous lui fournissiez le certificat.
  3. Téléchargez le certificat dans votre navigateur et la chaine de certification
  4. Exportez le certificat et la clef privée au format pkcs#12 (vous pouvez aussi le fabriquer à la main avec openssl)
  5. Fournissez ce pkcs#12 à l'utilisateur final avec les instructions d'important dans son navigateur
Nos certificats sont disponible avec des remises sur volume à partir de 3 unités.


Préalable: votre serveur doit être correctement configuré en tant que serveur SSL.

Dans votre VirtualHost SSL, placez deux instructions:

SSLCARevocationPath conf/ssl.crl/
SSLCACertificateFile conf/chain-mon-pki.txt
L'instruction SSLCARevocationPath concerne la révocation. Voir (Xref) Gestion des listes de révocation dans Apache pour mettre en place la gestion de la revocation.

L'instruction SSLCACertificateFile décrit la chaîne de certification des certificats acceptés (donc celle de (Xref) TBS X509 CA persona ). Consultez (Xref) Certificats intermédiaires pour trouver l'autorité qui signe vos certificats et stockez dans un fichier texte le certificat affiché dans la page. Puis utilisez le lien "chaîné avec" pour remonter au niveau supérieur et ajoutez le certificat trouvé en dessous du certificat précédent. Ainsi de suite jusqu'à ce qu'il n'y ait plus de lien supérieur. Placez le fichier ainsi constitué dans conf/chain-mon-pki.txt


Maintenant au niveau d'un répertoire dans la conf apache, il faut placer
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 4
pour activer la demande de certificat client, et spécifier la longueur maxi de la chaîne.

Vous pouvez en rester là pour la configuration et vous reposer sur l'application pour attribuer les autorisations en fonction de chaque certificat.

Vous pouvez également utiliser un filtre comme ci-dessous:

SSLRequire  %{SSL_CLIENT_I_DN} eq "/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA persona" \
and ( ( %{SSL_CLIENT_S_DN_O} eq "NOM-DE-LA-SOCIETE" and %{SSL_CLIENT_S_DN_CN} eq "ref1" ) \
or ( %{SSL_CLIENT_S_DN_O} eq "NOM-SOCIETE2" and %{SSL_CLIENT_S_DN_CN} eq "ref2" ) \
or ( %{SSL_CLIENT_S_DN_O} eq "NOM-SOCIETE3" and %{SSL_CLIENT_S_DN_CN} eq "ref3" ) \
)
Dans cette expression, la première ligne vérifie l'autorité qui a émis le certificat (si vous avez suivi notre méthode et autorisé une seule autorité de certification, ce test redondant. Il est par contre utile si vous avez autorisé plusieurs CA.).
Ensuite chaque ligne vérifie un couple nom de société et référence.

Vous pourriez aussi filtrer sur d'autres champs, par exemple le numéro de série. Voir la documentation Apache pour connaitre les champs disponibles.


Si vous avez de nombreux certificats à accepter, l'usage d'un filtre sslrequire n'est pas optimum. Vous pouvez utiliser le mécasnisme d'authentification SSL par certificat. Pour se faire, ajoutez à votre configuration:
SSLOptions           +FakeBasicAuth
AuthName             "Acces par certificat"
AuthType             Basic
AuthUserFile         conf/certificats.passwd
require              valid-user
Puis dans le fichier conf/certificats.passwd placez:
/C=DE/L=Munich/O=Snake Oil, Ltd./OU=Staff/CN=Foo:xxj31ZMTZzkVA
/C=US/L=S.F./O=Snake Oil, Ltd./OU=CA/CN=Bar:xxj31ZMTZzkVA
/C=US/L=L.A./O=Snake Oil, Ltd./OU=Dev/CN=Quux:xxj31ZMTZzkVA
Ce fichier est constitué du sujet du certificat (le DN complet) puis de :xxj31ZMTZzkVA, un pseudo mot de passe, toujours le même.

Pour connaitre le sujet d'un certificat, il suffit de faire:

openssl x509 -subject -noout -in fichier-certificat.cer

[Contribuer à cette Entrée]
2008-Apr-11 10:51am



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Gestion des listes de révocation dans Apache
Si vous faites de l'authentification par certificats clients, il faut vous assurer de la validité des certificats, et donc consulter la liste de révocation de chaque certificat accepté.

Si vous avez suivi nos conseils, vous avez déjà identifié le ou les émetteur (s) acceptable(s) avec l'instruction SSLCACertificateFile ou SSLCACertificatePath. Pour se faire, vous avez parcouru la chaine de certification, en partant du certificat émetteur de vos certificats ((Xref) Certificats intermédiaires ).

Vous allez reparcourir cette chaine en notant à chaque étape l'url de la CRL de chaque certificat. Par exemple si vous utilisez notre offre TBS X509 PKI PME votre certificat émetteur émetteur est (Xref) TBS X509 CA persona . Vous obtiendrez donc la liste suivante:

http://crl.tbs-internet.com/TBSX509CApersona.crl
http://crl.comodoca.com/AddTrustClass1CARoot.crl
http://crl.usertrust.com/UTN-USERFirst-ClientAuthenticationandEmail.crl
Il va donc falloir mettre ces CRL à disposition d'Apache pour qu'il les vérifie. Pour se faire on va travailler dans le répertoire standard d'apache, le plus souvent /etc/httpd/conf/ssl.crl/

On utilise alors l'instruction Apache:

SSLCARevocationPath conf/ssl.crl/

Ces CRL doivent être tenues à jour, donc au lieu de faire la mise à jour à la main, on va la mettre dans un CRON lancé toutes les heures. Il va récupérer toutes les CRLs de la chaine (avec curl) et les convertir au format PEM (avec openssl). Ensuite il va créer les liens hash (avec make en utilisant le Makefile fourni par Apache).

Voici notre fichier /etc/cron.hourly/maj-crl-httpd applicable pour notre exemple:


cd /etc/httpd/conf/ssl.crl # CHAINE TBS X509 persona pour PKI PME curl -s http://crl.tbs-internet.com/TBSX509CApersona.crl | openssl crl -inform DER -out TBSX509CApersona.crl curl -s http://crl.comodoca.com/AddTrustClass1CARoot.crl | openssl crl -inform DER -out AddTrustClass1CARoot.crl curl -s http://crl.usertrust.com/UTN-USERFirst-ClientAuthenticationandEmail.crl | openssl crl -inform DER -out UTN-USERFirst-ClientAuthenticationandEmail.crl make > /dev/null
Le résultat est le suivant:
$ ll /etc/httpd/conf/ssl.crl
-rw-r--r--    1 root     root          320 Aug 24  1999 README.CRL
-rw-r--r--    1 root     root         1568 Aug 24  1999 Makefile
-rw-r--r--    1 root     root          841 Feb 11 14:10 TBSX509CApersona.crl
-rw-r--r--    1 root     root          857 Feb 11 14:10 UTN-USERFirst-ClientAuthenticationandEmail.crl
-rw-r--r--    1 root     root        31675 Feb 11 14:10 AddTrustClass1CARoot.crl
lrwxrwxrwx    1 root     root           24 Feb 11 14:10 e268a4c5.r0 -> AddTrustClass1CARoot.crl
lrwxrwxrwx    1 root     root           46 Feb 11 14:10 9ec3a561.r0 -> UTN-USERFirst-ClientAuthenticationandEmail.crl
lrwxrwxrwx    1 root     root           20 Feb 11 14:10 4840af4a.r0 -> TBSX509CApersona.crl
Il ne nous reste plus qu'à indiquer à Apache de consulter ces CRL avec l'instruction
SSLCARevocationPath conf/ssl.crl/

[Contribuer à cette Entrée]
2006-Feb-11 2:29pm



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Authentification forte avec IIS et TBS X509 Client Auth
Pour utiliser IIS 5 ou 6 avec l'authentification par certificat client, notamment pour faire du mapping de certificats vers un compte utilisateur, il faut préalablement importer le certificat racine correspondant aux certificats utilisateurs qui seront utilisés.

Pour utiliser les certificats TBS X509 Client Auth, il faut importer le certificat "AddTrust External CA Root" sans signature croisée. Pour se faire:


  1. Sur votre serveur, lancez l'éxécutable "mmc" (menu Démarrer, Exécuter, tapez "mmc" et OK).
  2. Cliquez sur Ficher, Ajout/Suppression de composants enfichables puis Bouton Ajouter ("File->Add/Remove Snap-in...")
  3. Choisissez le composant "Certificats" puis cliquez sur Ajouter.
  4. Choisissez le "Compte de l'ordinateur" ("Computer Account") puis l'Ordinateur Local et Terminer.
  5. Cliquez sur Fermer puis OK
  6. Cliquez sur le "+" à coté de Certificats (Ordinateur Local) "Certificates (Local Computer)"
  7. Cliquez sur le "+" à coté de "Certificats d'Autorités de Confiance" ("Trusted Root Certification Authorities")
  8. Clic droit sur le texte "Certificats"
  9. Choisissez Toutes les taches, Importer ("All Tasks->Import...")
  10. Grâce à l'assistant, importez le certificat "AddTrust External CA Root" disponible ici: http://www.tbs-x509.com/AddTrustExternalCARoot.crt
  11. Cliquez sur le "+" à coté de "Certificats Intermédiaires d'Autorités" ("Intermediate Certification Authorities")
  12. Clic droit sur le texte "Certificats"
  13. Choisissez Toutes les taches, Importer ("All Tasks->Import...")
  14. Grâce à l'assistant, importez le certificat "TBS X509 CA business" disponible ici: http://www.tbs-x509.com/TBSX509CAbusiness.crt

Une fois que ceci est fait, il faut configurer le site IIS pour qu'il requiert un certificat et filtre dessus. Voici par exemple pour autoriser tous les certificats émis par notre autorité TBS X509 CA Business à se connecter au site.

  1. Lancez IIS en passant par le Paneau de configuration, Outils d'administration, IIS ("Control Panel->Administrative Tools->Internet Information Service")
  2. Clic droit sur le site web concerné par l'authentification forte, puis Propriétés.
  3. Allez dans l'onglet Sécurité de Répertoire ("Directory Security")
  4. Dans Communications sécurisées ("Secure communications"), cliquez sur le bouton Editer.
  5. Sélectionnez soit Accepter les certificats clients, soit Exiger un certificat client ("Accept client certificates" or "Require client certificates")
  6. Choisissez Activer la liste des certificats de confiance ("Enable certificate trust list" CTL)
  7. Choisissez créez ou éditer une liste existante.
  8. Lorsque la demande d'ajout d'un certificat apparait, choisissez Ajouter via un fichier ("Add from File") et donnez le fichier correspondant à "AddTrust External CA Root" téléchargé plus haut.
Pour spécifier uniquement certains certificats émis par notre autorité, il faut utiliser la fonction de mapping d'IIS, par exemple pour sélectionner tous les certificats admis finement.


Si ce n'est pas déjà fait: Ensuite testez l'accès. Bien qu'en théorie ce qui a été fait est suffisant, ca ne marche pas (la fenêtre de selection de certificat affiché par IE reste vide), et il faut réaliser une opération supplémentaire! installez une copie du certificat client obtenu (faites un fichier d'export pfx avec toute la chaine) dans l'Internet Explorer du compte administrateur du serveur. Nous ne saurions expliquer à quoi cela sert, mais au final la sélection du certificat fonctionne après cela, quand elle ne fonctionnait pas initialement.


N'oubliez pas que pour un bon fonctionnement, le serveur IIS doit être capable de télécharger les CRLs des certificats de la chaine de certification. Pour se faire, le serveur doit avoir un accès au protocole HTTP vers l'extérieur, au minimum vers les serveurs de CRL:
crl.tbs-x509.com
crl.tbs-internet.com
crl.comodoca.com
crl.comodo.net
crl.usertrust.com

[Contribuer à cette Entrée]
2006-Jun-15 8:18am



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Authentification forte avec IIS et TBS X509 Personnel
Pour utiliser IIS 5 ou 6 avec l'authentification par certificat client, notamment pour faire du mapping de certificats vers un compte utilisateur, il faut préalablement importer le certificat racine correspondant aux certificats utilisateurs qui seront utilisés.

Pour utiliser les certificats TBS X509 Personnel, il faut importer le certificat "Add Trust Class1 CA Root" sans signature croisée. Pour se faire:


  1. Sur votre serveur, lancez l'éxécutable "mmc" (menu Démarrer, Exécuter, tapez "mmc" et OK).
  2. Cliquez sur Ficher, Ajout/Suppression de composants enfichables puis Bouton Ajouter ("File->Add/Remove Snap-in...")
  3. Choisissez le composant "Certificats" puis cliquez sur Ajouter.
  4. Choisissez le "Compte de l'ordinateur" ("Computer Account") puis l'Ordinateur Local et Terminer.
  5. Cliquez sur Fermer puis OK
  6. Cliquez sur le "+" à coté de Certificats (Ordinateur Local) "Certificates (Local Computer)"
  7. Cliquez sur le "+" à coté de "Certificats d'Autorités de Confiance" ("Trusted Root Certification Authorities")
  8. Clic droit sur le texte "Certificats"
  9. Choisissez Toutes les taches, Importer ("All Tasks->Import...")
  10. Grâce à l'assistant, importez le certificat "AddTrust Class1 CA Root" disponible ici: http://www.tbs-x509.com/AddTrustClass1CARoot.crt
  11. Cliquez sur le "+" à coté de "Certificats Intermédiaires d'Autorités" ("Intermediate Certification Authorities")
  12. Clic droit sur le texte "Certificats"
  13. Choisissez Toutes les taches, Importer ("All Tasks->Import...")
  14. Grâce à l'assistant, importez le certificat "TBS X509 CA persona" disponible ici: http://www.tbs-x509.com/TBSX509CApersona.crt

Une fois que ceci est fait, il faut configurer le site IIS pour qu'il requiert un certificat et filtre dessus. Voici par exemple pour autoriser tous les certificats émis par notre autorité TBS X509 CA Persona à se connecter au site.

  1. Lancez IIS en passant par le Paneau de configuration, Outils d'administration, IIS ("Control Panel->Administrative Tools->Internet Information Service")
  2. Clic droit sur le site web concerné par l'authentification forte, puis Propriétés.
  3. Allez dans l'onglet Sécurité de Répertoire ("Directory Security")
  4. Dans Communications sécurisées ("Secure communications"), cliquez sur le bouton Editer.
  5. Sélectionnez soit Accepter les certificats clients, soit Exiger un certificat client ("Accept client certificates" or "Require client certificates")
  6. Choisissez Activer la liste des certificats de confiance ("Enable certificate trust list" CTL)
  7. Choisissez créez ou éditer une liste existante.
  8. Lorsque la demande d'ajout d'un certificat apparait, choisissez Ajouter via un fichier ("Add from File") et donnez le fichier correspondant à "AddTrust Class1 CA Root" téléchargé plus haut.
Pour spécifier uniquement certains certificats émis par notre autorité, il faut utiliser la fonction de mapping d'IIS, par exemple pour sélectionner tous les certificats admis finement.


Si ce n'est pas déjà fait: Ensuite testez l'accès. Bien qu'en théorie ce qui a été fait est suffisant, ca ne marche pas (la fenêtre de selection de certificat affiché par IE reste vide), et il faut réaliser une opération supplémentaire! installez une copie du certificat client obtenu (faites un fichier d'export pfx avec toute la chaine) dans l'Internet Explorer du compte administrateur du serveur. Nous ne saurions expliquer à quoi cela sert, mais au final la sélection du certificat fonctionne après cela, quand elle ne fonctionnait pas initialement.


N'oubliez pas que pour un bon fonctionnement, le serveur IIS doit être capable de télécharger les CRLs des certificats de la chaine de certification. Pour se faire, le serveur doit avoir un accès au protocole HTTP vers l'extérieur, au minimum vers les serveurs de CRL:
crl.tbs-x509.com
crl.tbs-internet.com
crl.comodoca.com
crl.comodo.net
crl.usertrust.com

[Contribuer à cette Entrée]
2006-Jun-15 8:18am



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
Comment debuger la demande de certificat client avec openssl?
Lorsqu'une connexion SSL est établie, la demande de certificat client peut être effectuée. Mais ce n'est pas obligatoire, elle est bien souvent différée à la demande d'une URL spécifique.

Dans ce cas, il faut utiliser l'option -prexit de la commande openssl s_client pour lui demander un affichage de la session SSL juste avant la fin.

Exemple avec notre site https://testcert.pitux.com/php/testcrypto.php (attention il faut un openssl 0.97 au minimum et il est recommandé avoir actualisé votre base de racine, voir (Xref) Utiliser un client SSL linux / openssl ).

openssl s_client -port 443 -CApath /usr/share/ssl/certs/ -host testcert.pitux.com -prexit
La première négociation donne:
CONNECTED(00000003)
depth=3 /C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
verify return:1
depth=2 /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
verify return:1
depth=1 /C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
verify return:1
depth=0 /C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
verify return:1
---
Certificate chain
 0 s:/C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
   i:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
 1 s:/C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
   i:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
 2 s:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
 4 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGJDCCBQygAwIBAgIQaTpdw5u/7x0siOIA5qf/CzANBgkqhkiG9w0BAQUFADCB
yTELMAkGA1UEBhMCRlIxETAPBgNVBAgTCENhbHZhZG9zMQ0wCwYDVQQHEwRDYWVu
MRUwEwYDVQQKEwxUQlMgSU5URVJORVQxSDBGBgNVBAsTP1Rlcm1zIGFuZCBDb25k
aXRpb25zOiBodHRwOi8vd3d3LnRicy1pbnRlcm5ldC5jb20vQ0EvcmVwb3NpdG9y
eTEYMBYGA1UECxMPVEJTIElOVEVSTkVUIENBMR0wGwYDVQQDExRUQlMgWDUwOSBD
QSBidXNpbmVzczAeFw0wNjAyMDIwMDAwMDBaFw0wNzAyMDMyMzU5NTlaMIHnMQsw
CQYDVQQGEwJGUjEOMAwGA1UEERMFMTQwMTIxETAPBgNVBAgTCENhbHZhZG9zMQ0w
CwYDVQQHEwRDQUVOMRAwDgYDVQQJEwdDRURFWCAxMQ8wDQYDVQQSEwZCUCAyMzcx
FTATBgNVBAoTDFRCUyBJTlRFUk5FVDEUMBIGA1UECxMLSW5mb2dlcmFuY2UxITAf
BgNVBAsTGFByb3ZpZGVkIGJ5IFRCUyBJTlRFUk5FVDEdMBsGA1UECxMUWDUwOSBP
bW5pZG9tYWluZSBUQlMxFDASBgNVBAMUCyoucGl0dXguY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4qUf98nqBnu4uSKs1Be3hr1fr4LBllMwLjgC
4vjZhJCro5X7D6kN2JNaLR79pqAbsUc2Lt4cvl7oiiGN+KDMcE0pURjNWyb3XwRs
pe/UAMeivRei5AUCrrHEdJ3RU2n+FFF/Y+GJbiKY2yY6BOFMgmgNf9sqg/tFwx5Q
F45nWhmEntt1zEuv0dAsZ+YHubxQen0DgyvOqDodS3poDB9fGqkttfwTsocSbWQZ
sNEzxZfi2nULq41vAjkXp3XGqyLSsrlLlqA4UQIuR4bw5hcQ92F7CHWK6AdfHY0h
zTX9yPGW4OU56ZYvgdyxLbVshvcQshx/6fIUVCZtp/6w2Qv/HwIDAQABo4IB5jCC
AeIwHwYDVR0jBBgwFoAUGgkEzPkJj7seoM7UpBR/S9UjWM0wHQYDVR0OBBYEFBvr
JGDOHCuK7IT3hWppw+UMQXt4MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAA
MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjARBglghkgBhvhCAQEEBAMC
BsAwTAYDVR0gBEUwQzBBBgsrBgEEAYDlNwIBATAyMDAGCCsGAQUFBwIBFiRodHRw
czovL3d3dy50YnMtaW50ZXJuZXQuY29tL0NBL0NQUzEwdwYDVR0fBHAwbjA3oDWg
M4YxaHR0cDovL2NybC50YnMtaW50ZXJuZXQuY29tL1RCU1g1MDlDQWJ1c2luZXNz
LmNybDAzoDGgL4YtaHR0cDovL2NybC50YnMteDUwOS5jb20vVEJTWDUwOUNBYnVz
aW5lc3MuY3JsMIGIBggrBgEFBQcBAQR8MHowPQYIKwYBBQUHMAKGMWh0dHA6Ly9j
cnQudGJzLWludGVybmV0LmNvbS9UQlNYNTA5Q0FidXNpbmVzcy5jcnQwOQYIKwYB
BQUHMAKGLWh0dHA6Ly9jcnQudGJzLXg1MDkuY29tL1RCU1g1MDlDQWJ1c2luZXNz
LmNydDANBgkqhkiG9w0BAQUFAAOCAQEAPvfDSAWpZXoR0LmciZtOppAzw+f1Zmz1
TWgmAkvEANbk6hvJFWuYEY9fvKf85Zq5s1as72/Jc/3mfEMWv1AayFRanm9EOM6q
23tKutVAGnM6zMvotOUjgM8+iRQ3q8YlxXWoej7QQuJcboEmWCMFWHOdr9/tJRJx
OStzEkfKEwdMUxCVDxMttJJ5WnXWiYIlpqqdAhT4dQGWL8SeTDnlM8Cv05aBWs5K
8pASs5iMfriSngg7B3Tssjtsvhz2bj3P8OvKNRa80qcXJt9e0zphWH71srhcOj7L
CFZHwkMo+Bdy3Mo8Dj7SBIlMSNBLn+nHTL6Kp2SEQrCu7vSTWNjQ4Q==
-----END CERTIFICATE-----
subject=/C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
issuer=/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
---
No client certificate CA names sent
---
SSL handshake has read 7446 bytes and written 338 bytes
---
New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
Server public key is 2048 bit
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EDH-RSA-DES-CBC3-SHA
    Session-ID: B1A80EF87B678659813FDA2151A0178A411CEC957EBBC6A4A42A83E05D961EBF
    Session-ID-ctx:
    Master-Key: F455B69968D4BDE6CD117CE8329BA42E23ADB53B89F7F9E4F830C7BCB503CAAECAC1FF760425803617AAF655C3715496
    Key-Arg   : None
    Start Time: 1155729852
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
A ce moment, il faut simuler la demande d'une page requierant un certificat client, dans notre exemple:
GET /php/testcrypto.php HTTP/1.1
HOST: testcert.pitux.com

Ce qui nous donne la fin de négociation:
depth=3 /C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
verify return:1
depth=2 /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
verify return:1
depth=1 /C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
verify return:1
depth=0 /C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
verify return:1
18264:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1052:SSL alert number 40
18264:error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure:s3_pkt.c:989:
---
Certificate chain
 0 s:/C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
   i:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
 1 s:/C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
   i:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
 2 s:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
 4 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGJDCCBQygAwIBAgIQaTpdw5u/7x0siOIA5qf/CzANBgkqhkiG9w0BAQUFADCB
yTELMAkGA1UEBhMCRlIxETAPBgNVBAgTCENhbHZhZG9zMQ0wCwYDVQQHEwRDYWVu
MRUwEwYDVQQKEwxUQlMgSU5URVJORVQxSDBGBgNVBAsTP1Rlcm1zIGFuZCBDb25k
aXRpb25zOiBodHRwOi8vd3d3LnRicy1pbnRlcm5ldC5jb20vQ0EvcmVwb3NpdG9y
eTEYMBYGA1UECxMPVEJTIElOVEVSTkVUIENBMR0wGwYDVQQDExRUQlMgWDUwOSBD
QSBidXNpbmVzczAeFw0wNjAyMDIwMDAwMDBaFw0wNzAyMDMyMzU5NTlaMIHnMQsw
CQYDVQQGEwJGUjEOMAwGA1UEERMFMTQwMTIxETAPBgNVBAgTCENhbHZhZG9zMQ0w
CwYDVQQHEwRDQUVOMRAwDgYDVQQJEwdDRURFWCAxMQ8wDQYDVQQSEwZCUCAyMzcx
FTATBgNVBAoTDFRCUyBJTlRFUk5FVDEUMBIGA1UECxMLSW5mb2dlcmFuY2UxITAf
BgNVBAsTGFByb3ZpZGVkIGJ5IFRCUyBJTlRFUk5FVDEdMBsGA1UECxMUWDUwOSBP
bW5pZG9tYWluZSBUQlMxFDASBgNVBAMUCyoucGl0dXguY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4qUf98nqBnu4uSKs1Be3hr1fr4LBllMwLjgC
4vjZhJCro5X7D6kN2JNaLR79pqAbsUc2Lt4cvl7oiiGN+KDMcE0pURjNWyb3XwRs
pe/UAMeivRei5AUCrrHEdJ3RU2n+FFF/Y+GJbiKY2yY6BOFMgmgNf9sqg/tFwx5Q
F45nWhmEntt1zEuv0dAsZ+YHubxQen0DgyvOqDodS3poDB9fGqkttfwTsocSbWQZ
sNEzxZfi2nULq41vAjkXp3XGqyLSsrlLlqA4UQIuR4bw5hcQ92F7CHWK6AdfHY0h
zTX9yPGW4OU56ZYvgdyxLbVshvcQshx/6fIUVCZtp/6w2Qv/HwIDAQABo4IB5jCC
AeIwHwYDVR0jBBgwFoAUGgkEzPkJj7seoM7UpBR/S9UjWM0wHQYDVR0OBBYEFBvr
JGDOHCuK7IT3hWppw+UMQXt4MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAA
MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjARBglghkgBhvhCAQEEBAMC
BsAwTAYDVR0gBEUwQzBBBgsrBgEEAYDlNwIBATAyMDAGCCsGAQUFBwIBFiRodHRw
czovL3d3dy50YnMtaW50ZXJuZXQuY29tL0NBL0NQUzEwdwYDVR0fBHAwbjA3oDWg
M4YxaHR0cDovL2NybC50YnMtaW50ZXJuZXQuY29tL1RCU1g1MDlDQWJ1c2luZXNz
LmNybDAzoDGgL4YtaHR0cDovL2NybC50YnMteDUwOS5jb20vVEJTWDUwOUNBYnVz
aW5lc3MuY3JsMIGIBggrBgEFBQcBAQR8MHowPQYIKwYBBQUHMAKGMWh0dHA6Ly9j
cnQudGJzLWludGVybmV0LmNvbS9UQlNYNTA5Q0FidXNpbmVzcy5jcnQwOQYIKwYB
BQUHMAKGLWh0dHA6Ly9jcnQudGJzLXg1MDkuY29tL1RCU1g1MDlDQWJ1c2luZXNz
LmNydDANBgkqhkiG9w0BAQUFAAOCAQEAPvfDSAWpZXoR0LmciZtOppAzw+f1Zmz1
TWgmAkvEANbk6hvJFWuYEY9fvKf85Zq5s1as72/Jc/3mfEMWv1AayFRanm9EOM6q
23tKutVAGnM6zMvotOUjgM8+iRQ3q8YlxXWoej7QQuJcboEmWCMFWHOdr9/tJRJx
OStzEkfKEwdMUxCVDxMttJJ5WnXWiYIlpqqdAhT4dQGWL8SeTDnlM8Cv05aBWs5K
8pASs5iMfriSngg7B3Tssjtsvhz2bj3P8OvKNRa80qcXJt9e0zphWH71srhcOj7L
CFZHwkMo+Bdy3Mo8Dj7SBIlMSNBLn+nHTL6Kp2SEQrCu7vSTWNjQ4Q==
-----END CERTIFICATE-----
subject=/C=FR/postalCode=14012/ST=Calvados/L=CAEN/streetAddress=CEDEX 1/2.5.4.18=BP 237/O=TBS INTERNET/OU=Infogerance/OU=Provided by TBS INTERNET/OU=X509 Omnidomaine TBS/CN=*.pitux.com
issuer=/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
---
Acceptable client certificate CA names
/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root
/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Client Authentication and Email
/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA persona
---
SSL handshake has read 15508 bytes and written 276 bytes
---
New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
Server public key is 2048 bit
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EDH-RSA-DES-CBC3-SHA
    Session-ID: 8D6DDE58435237DDCF7818F26E320C07C5494B67C9B595D43030A5072EFB0166
    Session-ID-ctx:
    Master-Key: 9F1D4058D1167ACA04B7BFD6E00D4116DCE8D7D6CF37080C893F2BBE37FEC1E2C986F26F2DDEFBCB95E48735C162A2DC
    Key-Arg   : None
    Start Time: 1155730273
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
Ce qui nous interesse est la section Acceptable client certificate CA names:
/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root
/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Client Authentication and Email
/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA persona
Notez aussi l'affichage de
SSL alert number 40
qui indique que le serveur refuse la connexion car on n'a pas présenté de certificat client (il faut compléter la ligne de commande).


Il est possible d'utiliser openssl pour vérifier la présentation d'un certificat client auprès d'un serveur qui en requiert. Il suffit alors de spécifier le certificat client et la clef privée avec les parametres -cert et -key.

openssl s_client -port 443 -CApath /usr/share/ssl/certs/ -host testcert.pitux.com -prexit -cert votre.certificat.client.cert -key votre.clef.privee.key
Voila ce que cela donne en présentant un certificat:

CONNECTED(00000003)
depth=3 /C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
verify return:1
depth=2 /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
verify return:1
depth=1 /C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
verify return:1
depth=0 /C=FR/postalCode=14000/ST=Calvados/L=Caen/streetAddress=22 rue de Bretagne/O=TBS INTERNET/OU=exploitation infogerance/CN=*.pitux.com
verify return:1
---
Certificate chain
 0 s:/C=FR/postalCode=14000/ST=Calvados/L=Caen/streetAddress=22 rue de Bretagne/O=TBS INTERNET/OU=exploitation infogerance/CN=*.pitux.com
   i:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
 1 s:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 2 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
 3 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFZTCCBE2gAwIBAgIQFP92hKGbunCB7wuTmolQ5jANBgkqhkiG9w0BAQUFADCB
yTELMAkGA1UEBhMCRlIxETAPBgNVBAgTCENhbHZhZG9zMQ0wCwYDVQQHEwRDYWVu
MRUwEwYDVQQKEwxUQlMgSU5URVJORVQxSDBGBgNVBAsTP1Rlcm1zIGFuZCBDb25k
aXRpb25zOiBodHRwOi8vd3d3LnRicy1pbnRlcm5ldC5jb20vQ0EvcmVwb3NpdG9y
eTEYMBYGA1UECxMPVEJTIElOVEVSTkVUIENBMR0wGwYDVQQDExRUQlMgWDUwOSBD
QSBidXNpbmVzczAeFw0wNzAxMzEwMDAwMDBaFw0wOTAyMDMyMzU5NTlaMIGsMQsw
CQYDVQQGEwJGUjEOMAwGA1UEERMFMTQwMDAxETAPBgNVBAgTCENhbHZhZG9zMQ0w
CwYDVQQHEwRDYWVuMRswGQYDVQQJExIyMiBydWUgZGUgQnJldGFnbmUxFTATBgNV
BAoTDFRCUyBJTlRFUk5FVDEhMB8GA1UECxMYZXhwbG9pdGF0aW9uIGluZm9nZXJh
bmNlMRQwEgYDVQQDFAsqLnBpdHV4LmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEAoUBxJohRpvO8vrgQr7OY8hXzyeXQeQRdnFuHWZhsSOjrt2rDsEgfvWPj
YMzWIB8GLjtKW4qorAWK64TPSmMLWVH4NSxgKGhohN5fdrYxNSs5VhvTqsDztjcI
g6TXOT0QZaWhMpaiWvxIyIRsavsslq0Fbkr0IM33XVQAFjgvPcsCAwEAAaOCAeYw
ggHiMB8GA1UdIwQYMBaAFBoJBMz5CY+7HqDO1KQUf0vVI1jNMB0GA1UdDgQWBBS5
IXjPe16GfkdYOgjNiAvFH6CCUjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIw
ADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYJYIZIAYb4QgEBBAQD
AgbAMEwGA1UdIARFMEMwQQYLKwYBBAGA5TcCAQEwMjAwBggrBgEFBQcCARYkaHR0
cHM6Ly93d3cudGJzLWludGVybmV0LmNvbS9DQS9DUFMxMHcGA1UdHwRwMG4wN6A1
oDOGMWh0dHA6Ly9jcmwudGJzLWludGVybmV0LmNvbS9UQlNYNTA5Q0FidXNpbmVz
cy5jcmwwM6AxoC+GLWh0dHA6Ly9jcmwudGJzLXg1MDkuY29tL1RCU1g1MDlDQWJ1
c2luZXNzLmNybDCBiAYIKwYBBQUHAQEEfDB6MD0GCCsGAQUFBzAChjFodHRwOi8v
Y3J0LnRicy1pbnRlcm5ldC5jb20vVEJTWDUwOUNBYnVzaW5lc3MuY3J0MDkGCCsG
AQUFBzAChi1odHRwOi8vY3J0LnRicy14NTA5LmNvbS9UQlNYNTA5Q0FidXNpbmVz
cy5jcnQwDQYJKoZIhvcNAQEFBQADggEBAL5RIH9nSk+e/EJYeLgUbbwpL+XOHuHE
D0jNfRUNUuuJrX1Ls8pvnZVzsG+fkamTUZJeVcyQMw9ug3G4YzMfQjgJ/iEPSJrO
c62BjW369YqIxNGx9hMlembhFF+Rc4b4cu3AKlzk4JPUFLXG6RlNcbxzBDlwcJwq
7RT2sPvxgBeVwxgX8Knot9ObHUiRytljJoU9zHyt5fPaVIIV1jDfYO0s1u25hHou
gOtVM+Abd44m0AyJ/EeO6Ub1AHSOLIm0n10FzvToFJuhe8Zv6QWLRCxiA69sQ4c1
vhGnU1sd8MQOcsHcvX7bQ/2ZImFVY1s6it7U5/MOsHKxjU9dv6dN2RU=
-----END CERTIFICATE-----
subject=/C=FR/postalCode=14000/ST=Calvados/L=Caen/streetAddress=22 rue de Bretagne/O=TBS INTERNET/OU=exploitation infogerance/CN=*.pitux.com
issuer=/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
---
No client certificate CA names sent
---
SSL handshake has read 5548 bytes and written 314 bytes
---
New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EDH-RSA-DES-CBC3-SHA
    Session-ID: B0CDDAD79246044276771E74C6207A6E5D75EDF700417181E61D010A24568A0A
    Session-ID-ctx:
    Master-Key: 63923F19754A6388DA3D7A5ACD2CB30C4F5B741E99B0C95B10DF345C2E49A6CC6A1C2D832E278BF21D3E07B9DC77875C
    Key-Arg   : None
    Start Time: 1177334443
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
GET /php/testcrypto.php HTTP/1.1
Host: testcert.pitux.com

depth=3 /C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
verify return:1
depth=2 /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
verify return:1
depth=1 /C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
verify return:1
depth=0 /C=FR/postalCode=14000/ST=Calvados/L=Caen/streetAddress=22 rue de Bretagne/O=TBS INTERNET/OU=exploitation infogerance/CN=*.pitux.com
verify return:1
read R BLOCK
HTTP/1.1 200 OK
Date: Mon, 23 Apr 2007 13:21:08 GMT
Server: Apache/2.0.54 (Unix)
X-Powered-By: PHP/4.4.5
Content-Length: 3806
Content-Type: text/html


<html>
...
</html>
closed
---
Certificate chain
 0 s:/C=FR/postalCode=14000/ST=Calvados/L=Caen/streetAddress=22 rue de Bretagne/O=TBS INTERNET/OU=exploitation infogerance/CN=*.pitux.com
   i:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
 1 s:/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 2 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
 3 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFZTCCBE2gAwIBAgIQFP92hKGbunCB7wuTmolQ5jANBgkqhkiG9w0BAQUFADCB
yTELMAkGA1UEBhMCRlIxETAPBgNVBAgTCENhbHZhZG9zMQ0wCwYDVQQHEwRDYWVu
MRUwEwYDVQQKEwxUQlMgSU5URVJORVQxSDBGBgNVBAsTP1Rlcm1zIGFuZCBDb25k
aXRpb25zOiBodHRwOi8vd3d3LnRicy1pbnRlcm5ldC5jb20vQ0EvcmVwb3NpdG9y
eTEYMBYGA1UECxMPVEJTIElOVEVSTkVUIENBMR0wGwYDVQQDExRUQlMgWDUwOSBD
QSBidXNpbmVzczAeFw0wNzAxMzEwMDAwMDBaFw0wOTAyMDMyMzU5NTlaMIGsMQsw
CQYDVQQGEwJGUjEOMAwGA1UEERMFMTQwMDAxETAPBgNVBAgTCENhbHZhZG9zMQ0w
CwYDVQQHEwRDYWVuMRswGQYDVQQJExIyMiBydWUgZGUgQnJldGFnbmUxFTATBgNV
BAoTDFRCUyBJTlRFUk5FVDEhMB8GA1UECxMYZXhwbG9pdGF0aW9uIGluZm9nZXJh
bmNlMRQwEgYDVQQDFAsqLnBpdHV4LmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEAoUBxJohRpvO8vrgQr7OY8hXzyeXQeQRdnFuHWZhsSOjrt2rDsEgfvWPj
YMzWIB8GLjtKW4qorAWK64TPSmMLWVH4NSxgKGhohN5fdrYxNSs5VhvTqsDztjcI
g6TXOT0QZaWhMpaiWvxIyIRsavsslq0Fbkr0IM33XVQAFjgvPcsCAwEAAaOCAeYw
ggHiMB8GA1UdIwQYMBaAFBoJBMz5CY+7HqDO1KQUf0vVI1jNMB0GA1UdDgQWBBS5
IXjPe16GfkdYOgjNiAvFH6CCUjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIw
ADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEQYJYIZIAYb4QgEBBAQD
AgbAMEwGA1UdIARFMEMwQQYLKwYBBAGA5TcCAQEwMjAwBggrBgEFBQcCARYkaHR0
cHM6Ly93d3cudGJzLWludGVybmV0LmNvbS9DQS9DUFMxMHcGA1UdHwRwMG4wN6A1
oDOGMWh0dHA6Ly9jcmwudGJzLWludGVybmV0LmNvbS9UQlNYNTA5Q0FidXNpbmVz
cy5jcmwwM6AxoC+GLWh0dHA6Ly9jcmwudGJzLXg1MDkuY29tL1RCU1g1MDlDQWJ1
c2luZXNzLmNybDCBiAYIKwYBBQUHAQEEfDB6MD0GCCsGAQUFBzAChjFodHRwOi8v
Y3J0LnRicy1pbnRlcm5ldC5jb20vVEJTWDUwOUNBYnVzaW5lc3MuY3J0MDkGCCsG
AQUFBzAChi1odHRwOi8vY3J0LnRicy14NTA5LmNvbS9UQlNYNTA5Q0FidXNpbmVz
cy5jcnQwDQYJKoZIhvcNAQEFBQADggEBAL5RIH9nSk+e/EJYeLgUbbwpL+XOHuHE
D0jNfRUNUuuJrX1Ls8pvnZVzsG+fkamTUZJeVcyQMw9ug3G4YzMfQjgJ/iEPSJrO
c62BjW369YqIxNGx9hMlembhFF+Rc4b4cu3AKlzk4JPUFLXG6RlNcbxzBDlwcJwq
7RT2sPvxgBeVwxgX8Knot9ObHUiRytljJoU9zHyt5fPaVIIV1jDfYO0s1u25hHou
gOtVM+Abd44m0AyJ/EeO6Ub1AHSOLIm0n10FzvToFJuhe8Zv6QWLRCxiA69sQ4c1
vhGnU1sd8MQOcsHcvX7bQ/2ZImFVY1s6it7U5/MOsHKxjU9dv6dN2RU=
-----END CERTIFICATE-----
subject=/C=FR/postalCode=14000/ST=Calvados/L=Caen/streetAddress=22 rue de Bretagne/O=TBS INTERNET/OU=exploitation infogerance/CN=*.pitux.com
issuer=/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
---
Acceptable client certificate CA names
/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root
/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Client Authentication and Email
/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA business
/C=FR/ST=Calvados/L=Caen/O=TBS INTERNET/OU=Terms and Conditions: http://www.tbs-internet.com/CA/repository/OU=TBS INTERNET CA/CN=TBS X509 CA persona
---
SSL handshake has read 16286 bytes and written 2675 bytes
---
New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EDH-RSA-DES-CBC3-SHA
    Session-ID: 10A933DCEA38F070A39512EE32F022BCAD455223105F514D99FDEA24A3809FDE
    Session-ID-ctx:
    Master-Key: C72D7A1D01889E7B9602081F0510B81A420985D270F39A61C9AA5896D56B7D8BFE4593070331B1AC3C1827BB42B492E1
    Key-Arg   : None
    Start Time: 1177334468
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---


[Contribuer à cette Entrée]
2007-Apr-23 2:05pm



(Category) FAQ TBS-certificats : (Category) Utiliser un certificat : (Category) Accès web avec authentification forte :
OpenVPN et authentification forte
Openvpn fait nativement de l'authentification forte par certificats, mais en utilisant une autorité privative. Pour l'utiliser avec des certificats émis par une autorité publique, il faut:
  • Spécifier la chaine de l'autorité des certificats clients dans le paramètre ca
  • Utiliser tls-verify pour fournir un script qui va vérifier les champs du certificat présenté
Openvpn fournit un exemple sommaire de ce type de script ici. C'est insuffisant à notre sens, il faut en plus du champ CN, vérifier les champs O, C, et possiblement OU, L, etc. pour s'assurer que le certificat présenté correspond à la bonne organisation.


[Contribuer à cette Entrée]
2009-Dec-14 10:56am



Précédent: (Category) Sécurisation de flux client-serveur (http,smtp,pop, etc.)
Suivant: (Answer) Est-ce qu'un tiers certificateur peut tracer les actions effectuées ?
Ce document est: http://www.tbs-certificats.com//cgi-bin/fom.cgi?file=182



C'est une Faq-O-Matic 2.721.
francais anglais contact