CRYPTOLIB-CPS Sur lecteurs PC/SC Manuel utilisateur

Transcription

CRYPTOLIB-CPS Sur lecteurs PC/SC Manuel utilisateur
Référence :
ManuelUtilisateurCryptolibCPS_PCSC_V1.07.doc
CRYPTOLIB-CPS
Sur lecteurs PC/SC
Manuel utilisateur
20 Janvier 2010
Version 1.07
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 1 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
SOMMAIRE
1.
INTRODUCTION......................................................................................................... 4
2.
PRESENTATION TECHNIQUE .................................................................................. 5
2.1.
CRYPTOLIB-CPS-PCSC : BIBLIOTHEQUES CRYPTOGRAPHIQUES DE LA CARTE CPS SUR PC/SC ......... 5
2.2.
ARCHITECTURE DES COMPOSANTS CRYPTOLIB-CPS-PCSC ET API-CPS .............................................. 7
2.3.
WINDOWS : LE PROGRAMME CPS_CCM_PCSC ASSOCIE A LA BIBLIOTHEQUE CSP-CPS_PCSC ........... 8
2.4.
MACINTOSH : SPECIFICITES DE L’ARCHITECTURE CDSA / TOKEND ........................................................... 9
2.5.
LES CERTIFICATS X.509 DE LA CARTE CPS................................................................................................. 11
2.6.
CHAINES DE CONFIANCE DES CERTIFICATS X.509 DE LA CARTE CPS........................................................ 12
3.
GUIDE D’INSTALLATION DE CRYPTOLIB-CPS PC/SC ........................................ 13
3.1.
LES PRE REQUIS AVANT TOUTE INSTALLATION ........................................................................................... 13
3.2.
L’INSTALLATION ........................................................................................................................................... 13
4.
GUIDE D’UTILISATION DE CRYPTOLIB-CPS PC/SC............................................ 16
4.1.
4.2.
4.3.
5.
CONNEXION HTTPS PAR INTERNET EXPLORER (WINDOWS) .................................................................... 17
4.1.1.
Contrôles sur l’utilitaire CPS_CCM_PCSC ......................................................................................... 17
4.1.2.
Connexion HTTPS ............................................................................................................................... 18
CONNEXION HTTPS PAR SAFARI (MACINTOSH) ........................................................................................ 20
4.2.1.
Contrôles visuels de l’installation......................................................................................................... 20
4.2.2.
Connexion HTTPS ............................................................................................................................... 22
CONNEXION HTTPS PAR MOZILLA FIREFOX (WINDOWS, LINUX, MAC-OSX) ........................................ 24
4.3.1.
Ajout du périphérique PKCS#11-CPS dans Firefox............................................................................. 24
4.3.2.
Connexion HTTPS ............................................................................................................................... 26
AIDES AUX DIAGNOSTICS ..................................................................................... 28
5.1.
AIDES AUX DIAGNOSTICS .............................................................................................................................. 28
5.1.1.
Test par le programme de gestion de la CPS........................................................................................ 28
5.1.2.
Vérification de la détection de la carte CPS ......................................................................................... 28
5.1.3.
Contrôles des fichiers logiciels installés............................................................................................... 29
5.1.4.
Particularités Windows : utilisation de la « registry » (base de registres)............................................. 31
5.1.5.
Paramétrisation..................................................................................................................................... 32
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 2 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
5.2.
LISTE DES CERTIFICATS INSTALLES ............................................................................................................. 33
ILLUSTRATIONS
Figure 1 Architecture des composants CRYPTOLIB-CPS-PCSC et API-CPS .................................. 7
Figure 2 Exemple d’un certificat X.509 d’authentification d’une CPS2ter (CPA) ........................... 11
Figure 3 Exemples de chaînes de confiance de CPS ......................................................................... 12
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 3 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
1. INTRODUCTION
Ce document constitue le manuel utilisateur des bibliothèques cryptographiques sur lecteurs PC/SC
de la carte CPS.
Avertissement :
Ces bibliothèques sont strictement destinées aux usagers de machines PC ou Mac équipées d’un
lecteur de carte uniquement de type PC/SC. Elles ne gèrent pas les lecteurs bi-fentes SESAM-Vitale
ou mono-fente NF-CPS pilotés par des logiciels de l'
architecture GALSS1.
Les systèmes d’exploitation (OS) de ces machines peuvent être :
• Windows (98, NT, 2000, XP, Vista, Seven).
• Mac OS-X à processeur PowerPC (à partir de la version 10.3).
• Mac OS-X à processeur Intel (à partir de la version 10.4)
• Linux (toute distribution).
Le lecteur de ce document est supposé avoir reçu le programme d’installation de ces bibliothèques
sous la forme d’un package logiciel ou « setup » (type MSI sous Windows, MPKG sous Mac, RPM
sous Linux).
Il trouvera dans ce document quatre parties principales :
• Une présentation technique de ces bibliothèques cryptographiques pour comprendre ce que va
réaliser le programme d’installation.
• Un guide d’installation pour aider l’opérateur sur ses manipulations et s’assurer du bon
fonctionnement ultérieur.
• Un guide de première utilisation simple par connexion sécurisée par CPS sur un serveur de test
du GIP-CPS.
• Une aide aux diagnostics sous forme de liste de contrôles de cette installation si des problèmes
sont rencontrés.
Pour un lecteur « pressé », l’installation se résume en trois points :
1.
Disposer d’une machine Windows, Mac OS-X ou Linux déjà équipée physiquement d’un
lecteur PC/SC (le lecteur n’est pas obligatoire pendant l’installation).
2.
Exécuter l’installation du package logiciel…
3.
Tester l’installation sur un navigateur.
1
Si le poste est équipé d’un lecteur PC/SC piloté par l’architecture GALSS, il faut désinstaller celle-ci.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 4 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
2. PRESENTATION TECHNIQUE
2.1.
CRYPTOLIB-CPS-PCSC : BIBLIOTHEQUES CRYPTOGRAPHIQUES DE LA CARTE
CPS SUR PC/SC
La carte CPS contient dans sa puce électronique les moyens d’effectuer des calculs
cryptographiques de signature2 ou d’authentification3.
En première approximation, appelons ces moyens les « certificats X.5094 ».
De plus en plus de logiciels comme les navigateurs (Internet Explorer sur Windows, Safari sur Mac
OS-X ou Mozilla FireFox, etc…) ou les messageries savent manipuler et exploiter des certificats
X.509. Ils le font en respectant un langage parmi les trois standards reconnus : Microsoft CryptoAPI
(dans le monde Windows), Common Data Security Architecture (CDSA) d’Apple (dans le monde
Macintosh), ou RSA PKCS#11 (universel).
Cryptographic Application Program Interface. CAPI est une API développée par Microsoft qui
définit un jeu de fonctions cryptographiques utilisables par les applications Windows. Un module
logiciel qui implémente ces fonctions se nomme un CSP pour " Cryptographic Service Provider".
Un CSP doit être signé par Microsoft avant d'
être utilisable.
CDSA est une architecture développée par Apple qui définit un jeu de fonctions cryptographiques
utilisables par les applications Macintosh. Un module logiciel qui implémente ces fonctions se
nomme un Tokend.
!!
Crypto-système à clé publique.
PKCS#11 est une API spécifiée par RSA Labs qui définit un jeu de fonctions cryptographiques
utilisables par les applications locales. Un module logiciel qui offre des fonctions PKCS#11 se
nomme CRYPTOKI. PKCS#11.
CRYPTOLIB-CPS-PCSC est le nom donné à un composant logiciel qui sait répondre à ces trois
langages en utilisant la carte CPS.
Ce composant présente donc les trois interfaces :
• La bibliothèque CryptoAPI : CSP-CPS
(environnements Windows).
• Le Tokend CDSA :
GIP-CPS.tokend (environnements Macintosh).
• La bibliothèque PKCS#11 : PKCS#11-CPS (environnements Windows, MacOSX et Linux).
2
Signature = garantie d’intégrité du message et d’authentification de son signataire (non répudiation).
Authentification = garantie sur l’identité de l’émetteur.
4 Dans le détail, il faudrait ajouter les Bi-Clés RSA et les fonctions cryptographiques RSA…
3
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 5 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
En complément, CRYPTOLIB-CPS-PCSC s’appuie sur :
• Le standard PC/SC pour accéder au lecteur de cartes de type PC/SC.
Et propose également l’ancienne bibliothèque d’interface d’accès à la carte CPS :
• Bibliothèque API-CPS de gestion de la carte CPS dans un lecteur5.
5
Cette bibliothèque est maintenue pour assurer la compatibilité avec des applications basées sur l’interface API-CPS.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 6 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
2.2.
ARCHITECTURE DES COMPOSANTS CRYPTOLIB-CPS-PCSC ET API-CPS
Le composant, CRYPTOLIB-CPS-PCSC (constitué des trois bibliothèques CSP-CPS, GIPCPS.tokend, et PKCS#11-CPS) et complété de l’API-CPS s’articulent suivant ce schéma de
principe :
SmartCardLogon
Navigateurs, Messageries ou autres
applications
(Windows uniquement)
Bibliothèque CSP-CPS
Applications
GIP-CPS.tokend
(Mac uniquement)
Bibliothèque PKCS#11-CPS-PCSC
Bibliothèque API-CPS
Ressource Manager PC/SC (intégré à l’OS)
Lecteur PC/SC
Figure 1 Architecture des composants CRYPTOLIB-CPS-PCSC et API-CPS
Remarques :
• Le SmartCardLogon est le mécanisme d’ouverture de session Windows en standard par
carte à puce et reposant sur PC/SC. CRYPTOLIB-CPS-PCSC est compatible avec ce
mécanisme et utilisable avec des cartes CPS adaptées.
• La bibliothèque CSP-CPS n’existe que pour les O.S. Windows.
• La bibliothèque GIP-CPS.tokend n’existe que pour les O.S. Macintosh.
• La bibliothèque PKCS#11-CPS-PCSC est implémentée pour les trois O.S. : Windows,
Mac-OSX et Linux.
• La bibliothèque API-CPS est utilisée par certaines applications à accès CPS (agent RSS,
lecture vitale, OSM, etc…)
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 7 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
2.3.
WINDOWS : LE PROGRAMME CPS_CCM_PCSC ASSOCIE A LA BIBLIOTHEQUE
CSP-CPS_PCSC
Si les deux bibliothèques CSP-CPS et PKCS#11-CPS offrent les mêmes fonctionnalités, leurs
modes de fonctionnement diffèrent.
Chacun des deux modes induit une logique particulière de gestion des certificats X.509 situés dans
la carte CPS.
Schématiquement, ces logiques sont :
• La bibliothèque PKCS#11-CPS renvoie ses certificats X.509 aux applications quand celles-ci la
sollicitent.
C’est donc à ce moment que la bibliothèque PKCS#11-CPS va rechercher les certificats X.509
dans la carte CPS.
• La bibliothèque CSP-CPS_PCSC doit remonter ses certificats X.509 vers les applications (en
fait, dans le magasin des certificats) pour que celles-ci la sollicitent…
La bibliothèque CSP-CPS_PCSC doit donc régulièrement rechercher les certificats X.509 dans
la carte CPS (ou tout au moins s’assurer de la présence de la carte CPS dans le lecteur et qu’elle
n’a pas été changée par une autre).
Cette fonction de surveillance de la présence d’une carte CPS dans le lecteur pour la bibliothèque
CSP-CPS est assurée par un utilitaire, noté CPS_CCM_PCSC 6 qui fonctionne en tâche de fond sur
le poste Windows et est complètement invisible pour l’utilisateur.
(Seul le processus cps_ccm_pcsc.exe est visible dans la liste des processus du gestionnaire des
tâches)
6
Comme pour la bibliothèque CSP-CPS-PCSC, ce CPS_CCM_PCSC n’existe que pour les OS Windows. Il se met en
attente d’évènement PC/SC d’insertion ou d’arrachage de la carte.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 8 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
2.4.
MACINTOSH : SPECIFICITES DE L’ARCHITECTURE CDSA / TOKEND
CDSA (Common Data Security Architecture) est un standard d’architecture de sécurité conçu par
Intel et implémenté par Apple dans son système d’exploitation Mac OS-X.
Le cœur de CDSA est le module « serveur de sécurité » (SecurityD), qui s’appuie à la fois sur le
protocole PC/SC (démon PCSCD) pour la gestion des lecteurs, et sur des modules appelés Tokend
fournis par chaque organisme émetteur de cartes à puces pour la gestion de celles-ci :
Applications
SecurityD
TokenD
TokenD
CPS Tokend
CPS PKCS#11
APIs CPS
PCSCD
Lecteur PC/SC
Le serveur de sécurité, avec l’aide du gestionnaire de ressources PC/SC, détecte l’insertion d’une
carte dans un lecteur. A ce moment là, le serveur de sécurité interroge les différents Tokend existant
afin d’identifier celui qui gère cette carte. Le Tokend identifié et chargé, il est en mesure d’effectuer
des opérations cryptographiques et de récupérer des objets (certificats, clés publiques…), à travers la
carte.
Certaines applications Macintosh (ex : le navigateur Safari) se basent sur cette architecture et ne
connaissent que celle-ci.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 9 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Les bibliothèques cryptographiques du GIP-CPS doivent donc s’intégrer dans CDSA pour que ces
applications soient capables de fonctionner avec la carte CPS. Pour cela, le GIP fournit le
composant CPS Tokend : module au standard Tokend d’Apple, qui permet de s’interfacer dans
CDSA afin d’offrir le support de la carte CPS comme module cryptographique. Le Tokend est fondé
sur l’architecture PC/SC pour la détection des cartes CPS et sur le module CPS PKCS#11 pour
réaliser les opérations cryptographiques.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 10 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
2.5.
LES CERTIFICATS X.509 DE LA CARTE CPS
Un certificat X.509 est un message (binaire) électronique, écrit suivant une syntaxe définie par la
norme X.509, et signé par une autorité pour en garantir l’intégrité et la véracité de ses informations.
Les informations principales certifiées portent sur :
• L’identification de l’autorité ou émetteur, qui a signé ce certificat.
• Les dates de début et de fin de validité du certificat.
• L’identification du sujet ou objet, pour qui a été délivré ce certificat.
• La clé publique RSA 7.
Figure 2 Exemple d’un certificat X.509 d’authentification d’une CPS2ter (CPA)
7
L’algorithme cryptographique RSA utilise une clé en deux parties (bi-clé) : l’une est publique (diffusée dans le
certificat X.509) et l’autre est privée (gardée secrète dans un coffre-fort logiciel ou dans une carte comme la CPS).
Il existe deux certificats X.509 (donc deux bi-clés) dans une CPS : l’un d’authentification et l’autre de signature.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 11 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
2.6.
CHAINES DE CONFIANCE DES CERTIFICATS X.509 DE LA CARTE CPS
Si un certificat X.509 est signé par une autorité, celle-ci a elle-même un certificat, lui aussi signé par
une autorité, et ainsi de suite jusqu’à rencontrer en tête de chaîne un certificat auto-signé (dit Racine
ou Root) pour lequel ce sera bel et bien à l’utilisateur de manifester explicitement sa confiance.
Dans le cas du GIP-CPS, les certificats racines sont publiés sur le site WEB du GIP-CPS8.
Toutes ces informations peuvent être vérifiées avant d’accorder sa confiance à ces certificats.
Figure 3 Exemples de chaînes de confiance de CPS
a) d’une CPS2ter (CPS et CPF)
8
b) d’une CPS2ter (CDE)
Le site WEB du GIP-CPS est lui-même authentifié afin de garantir l’exactitude des informations publiées.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 12 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
3. GUIDE D’INSTALLATION DE CRYPTOLIB-CPS PC/SC
Nous remercions l’utilisateur de suivre scrupuleusement ce guide…
3.1.
LES PRE REQUIS AVANT TOUTE INSTALLATION
1. Le système d’exploitation (O.S.) de votre machine doit être l’un des trois :
• Windows (98, NT, 2000, XP, Vista, Seven).
• Mac OS-X (à partir de la version 10.3 pour les processeurs PowerPC, 10.4 pour les Intel).
• Linux (toute distribution).
Et vous devez avoir les droits d’Administrateur sur cet O.S.
Sinon, abandonnez l’installation !
2. Il est conseillé d’avoir de connecté, et en état de bon fonctionnement, un lecteur de type
« PC/SC » quelque soit son type de connexion.
(Mais ce n’est pas indispensable pour l’installation, le lecteur peut être installé par la suite.)
3. Cas particulier : si vous aviez déjà effectué précédemment une installation de CRYPTOLIBCPS-PCSC sur votre machine Windows :
3.2.
•
Soit, vous supprimez d’abord cette installation par : « Démarrer » ; « Paramètres » ;
« Panneau de configuration » ; « Ajout/Suppression de programmes » ; « Composants
cryptographiques CPS PC/SC» ; « Supprimer ».
•
Soit, lorsque vous lancez le nouveau programme d’installation, vous choisissez d’abord
l’option : « Supprimer composants Cryptographiques CPS PC/SC »
L’INSTALLATION
4. Lancez le package d’installation de CRYPTOLIB-CPS-PCSC.
• Windows :
Lancez le programme « SetupCryptoCpsPcsc.vN.NN.msi ».
• Linux :
Lancez le programme « CryptoCpsPcsc-N.N.N-N.i386.rpm »
• Mac OSX : Lancez le programme « CryptoCpsPcsc.vN.NN.pkg »
5. L’installation de CRYPTOLIB-CPS-PCSC doit s’effectuer automatiquement
• Validez, après lecture, les différents écrans.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 13 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 14 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
6.
Remarque concernant l’environnement Windows : si la personne qui va utiliser CRYPTOLIBCPS-PCSC sur ce poste ne possède pas les droits d’Administrateur, l’opérateur doit s’assurer
que les répertoires Coffre et Log du dossier “[CommonAppDataFolder]santesocial\cps”
possèdent bien les droits de lecture et d’écriture pour cet utilisateur.
Si l’installation s’est bien terminée, les composants logiciels sont maintenant disponibles sur votre
machine.
Pour la version Windows : les chaînes de confiance du GIP-CPS sont maintenant installées sur le
poste.
Aucun élément visible n’est à contrôler…
Il reste maintenant à vérifier que leur utilisation rend bien le service attendu.
Vous allez effectuer ce test à partir de votre navigateur usuel (et le plus récent possible) tel que
décrit dans la partie guide d’utilisation de ce manuel : par une connexion en HTTPS.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 15 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4. GUIDE D’UTILISATION DE CRYPTOLIB-CPS PC/SC
Les trois exemples qui suivent montrent une connexion HTTPS sécurisée par CPS sur un site de test
du GIP-CPS (testssl.gip-cps.fr).
Ce serveur demande au poste client de s’authentifier par un certificat X.509 explicitement reconnu
comme appartenant à l’Infrastructure de Gestion des Clés (IGC) du GIP-CPS.
La connexion HTTPS se fera par un navigateur :
1. Internet Explorer montre une utilisation de la bibliothèque CSP-CPS-PCSC de CRYPTOLIBCPS-PCSC
Si cette connexion réussit, alors toute autre connexion sécurisée par CPS sur d’autres sites doit
aussi fonctionner ; ainsi que toute application développée sur ce standard Microsoft CryptoAPI.
2. Safari montre une utilisation de la bibliothèque GIP-CPS.tokend de CRYPTOLIB-CPS-PCSC.
Si cette connexion réussit, alors toute autre connexion sécurisée par CPS sur d’autres sites doit
aussi fonctionner ; ainsi que toute application développée sur ce standard Apple CDSA.
3. Mozilla FireFox montre une utilisation de la bibliothèque PKCS#11-CPS de CRYPTOLIBCPS-PCSC
Si cette connexion réussit, alors toute autre connexion sécurisée par CPS sur d’autres sites doit
aussi fonctionner ; ainsi que toute application développée sur ce standard RSA PKCS#11.
Le premier et le troisième exemple sont effectués sur l’environnement Windows. Mais celui de
Mozilla FireFox peut être transposé sur les deux autres environnements Linux et Mac-OSX car ce
navigateur existe pour les trois environnements. Le deuxième exemple est lui effectué sur
l’environnement Mac-OSX, car il concerne le navigateur Safari livré avec cet OS.
Attention : suivant la version de Windows (98, NT, XP, 2000, Vista ou Seven) il faut effectuer la
transposition suivante :
Exemple Windows 98
Exemple Windows 2000
%WINDIR% à changer en… C:\Windows
C:\Winnt
%WINSYS% à changer en… C:\Windows\System
C:\Winnt\System32
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 16 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4.1.
CONNEXION HTTPS PAR INTERNET EXPLORER (WINDOWS)
4.1.1. Contrôles sur l’utilitaire CPS_CCM_PCSC
Avant de travailler avec le navigateur, il faut s’assurer que l’utilitaire CPS_CCM_PCSC a bien
détecté la carte CPS dans le lecteur.
Cet utilitaire CPS_CCM_PCSC, tournant en fond de tâche, est invisible pour l’utilisateur. Il assure
la synchronisation entre le magasin Microsoft des certificats utilisateur et la carte CPS. Ce
programme n’existe que sous Windows.
Pour visualiser ce magasin de certificats, lancez Internet Explorer, sélectionnez le menu « Outils »,
puis « Options internet… », dans l’onglet « Contenu » cliquez sur le bouton « Certificats ». La
fenêtre qui apparaît affiche le magasin des certificats personnels de l’utilisateur.
• Si une carte CPS est introduite dans un lecteur connecté sur le poste, le CPS_CCM_PCSC
ajoute les certificats associés à cette carte au magasin de certificats personnel.
• Si une carte CPS est retirée d’un lecteur connecté sur le poste, le CPS_CCM_PCSC retire les
certificats associés à cette carte du magasin de certificats personnels.
Ce processus est indispensable si vous voulez utiliser votre carte CPS avec Internet Explorer,
OUTLOOK ou OUTLOOK Express.
Lors de l’installation, le programme cps_ccm_pcsc.exe est ajouté à la liste des programmes devant
être lancées au démarrage du poste.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 17 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4.1.2. Connexion HTTPS
Lancez Internet Explorer et saisissez dans la zone adresse : https://testssl.gip-cps.fr (ou
http://testssl.gip-cps.fr puis cliquez sur la proposition de https://testssl.gip-cps.fr)
Acceptez et validez les différents messages (POP-UP) jusqu’à voir celui-ci…
…qui correspond au certificat X.509 d’authentification de votre carte CPS (vous pouvez l’afficher).
Validez le message.
Attention sur cette invite suivante :
Il vous est demandé de saisir les 4 chiffres du code porteur de la carte CPS.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 18 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Jusqu’au succès de l’authentification qui se manifeste par ce type de fenêtre d’accueil du serveur9 :
9
Cette recopie d’écran est donnée à titre indicatif. La page réelle affichée sur le site de test du GIP-CPS peut être
différente.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 19 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4.2.
CONNEXION HTTPS PAR SAFARI (MACINTOSH)
4.2.1. Contrôles visuels de l’installation
Une fois l’installation effectuée il est possible de vérifier le bon fonctionnement du Tokend CDSA
(et donc de l’ensemble des éléments installés) à l’aide du programme de visualisation des clés et des
certificats inclus dans l’OS.
Insérez une carte CPS dans votre lecteur, puis lancez ce programme, nommé Trousseau d’accès, et
qui se trouve dans le dossier /Applications/Utilitaires/ :
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 20 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Une fois cette application lancée, vous pouvez voir la liste des « Trousseaux » au dessus de la zone
« Catégorie ». Si cette liste n’est pas affichée, cliquez sur le bouton « Afficher les trousseaux » (en
bas à gauche de la fenêtre).
Vérifiez alors que le nom de votre carte s’affiche bien dans cette liste, sous la forme CPxNuméroDeCarte10, ainsi que le montre l’exemple suivant :
La présence de ce trousseau indique la bonne installation et le bon fonctionnement de l’ensemble
des composants du GIP-CPS : la carte a été lue correctement et elle est bien vue comme un Tokend
par le système.
10
NuméroDeCarte = numéro à 10 chiffres inscrit sous le patronyme sur le visuel de la carte.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 21 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4.2.2. Connexion HTTPS
Lancez Safari et saisissez dans la zone adresse : https://testssl.gip-cps.fr (ou http://testssl.gip-cps.fr
puis cliquez sur la proposition de https://testssl.gip-cps.fr).
Attention sur cette invite suivante :
Il vous est demandé de saisir les 4 chiffres du code porteur de la carte CPS.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 22 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Jusqu’au succès de l’authentification qui se manifeste par ce type de fenêtre d’accueil du serveur11 :
11
Cette recopie d’écran est donnée à titre indicatif. La page réelle affichée sur le site de test du GIP-CPS peut être
différente.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 23 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4.3.
CONNEXION HTTPS PAR MOZILLA FIREFOX (WINDOWS, LINUX, MAC-OSX)
4.3.1. Ajout du périphérique PKCS#11-CPS dans Firefox
Après avoir lancé le navigateur Firefox, il faut le paramétrer (dans menu : « outils » ; « options » ;
« Avancé » ; éventuellement onglet « Chiffrement » selon votre version de Firefox) afin qu’il
connaisse la bibliothèque CRYPTOLIB-CPS-PCSC.
Cliquez sur « Gérer les périphériques de sécurité… » et demandez à « charger » un périphérique
PKCS#11 …
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 24 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Entrez les informations sur le module à ajouter :
Entrez :
Nom du module :
PKCS#11-CPS-PCSC
Nom du fichier du module : %WINDIR%\System32\cps_pkcs11_pcsc_w32.dll
Et validez…
Remarque : vous devez alors voir le(s) lecteur(s) de CPS (ici 2 lecteurs ont été détectés).
Validez les fenêtres ouvertes jusqu’à fermer la fenêtre « options »… L’ajout est terminé, le test de la
connexion peut se faire…
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 25 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
4.3.2. Connexion HTTPS
Vous pouvez maintenant saisir dans la zone adresse : https://testssl.gip-cps.fr (ou http://testssl.gipcps.fr puis cliquez sur la proposition de https://testssl.gip-cps.fr).
Attention sur cette invite suivante12 :
Il vous est en fait demandé de saisir les 4 chiffres du code porteur de la carte CPS.
Acceptez et validez les différents messages (POP-UP) jusqu’à voir celui-ci…
…qui correspond au certificat X.509 d’authentification de votre carte CPS.
12
Ce message, peu clair, est affiché par l’application Firefox qui ne sait pas qu’elle travaille avec une carte CPS…
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 26 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Jusqu’au succès de l’authentification qui se manifeste par ce type de fenêtre d’accueil du serveur13 :
13
Cette recopie d’écran est donnée à titre indicatif. La page réelle affichée sur le site de test du GIP-CPS peut être
différente.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 27 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
5. AIDES AUX DIAGNOSTICS
5.1.
AIDES AUX DIAGNOSTICS
En cas de dysfonctionnement, il faut différencier si le problème (ou sa source) vient des
bibliothèques CRYPTOLIB-CPS-PCSC ou des couches en dessous (PC/SC ; lecteur ; carte).
5.1.1. Test par le programme de gestion de la CPS
Une première approche consiste à lancer le programme de gestion de la CPS :
Exemple Windows : menu « Démarrer » ; « Programmes » ; « santesocial » ; « cps » ; « CPS gestion
» ou « double-click » sur cpgesw32.exe dans %ProgramFiles%\santesocial\cps
Si ce programme de gestion de la CPS parvient à afficher les données de votre carte CPS, les
couches (PC/SC ; lecteur ; carte) sont en bon état. Sinon, ce programme et son fichier de traces
CPS-TRAC.TXT permettront d’affiner le diagnostic (cf. son manuel utilisateur).
5.1.2. Vérification de la détection de la carte CPS
Si les connexions HTTPS décrites aux chapitres 4.1 et 4.3 ne fonctionnent pas, on peut vérifier si
les bibliothèques CRYPTOLIB-CPS-PCSC détectent bien la carte CPS et lisent bien les certificats
X.509. Si ce test est positif, l’anomalie vient plutôt d’un problème entre le serveur auquel vous vous
connectez et votre carte CPS.
Exemples :
a) Sous Internet Explorer, les menus « Outils » ; « Options Internet… » ; « Contenu » ;
« Certificats » doivent visualiser vos deux certificats de votre CPS :
b) Sous Firefox, les menus « outils » ; « options » ; « Avancé » ; « Certificats » ; « Gérer les
certificats » doivent visualiser vos deux certificats de votre CPS :
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 28 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
En cas d’échec, un diagnostic avancé consistera à vérifier les logiciels installés sur votre poste.
5.1.3. Contrôles des fichiers logiciels installés
Windows
Composant
Emplacement
Fichier
GestionCarteCPS
[SystemFolder]
cpsw32.dll
GestionDictionnaire
[SystemFolder]
cptabw32.dll
Dictionnaire
[CommonAppDataFolder]\santesocial\cps\coffre\
DICO-FR.GIP
Application de Gestion de
la CPS
CRYPTOLIB-PCSC
[ProgramFilesFolder]\santesocial\cps\
cpgesw32.exe
PKCS#11-CPS
[SystemFolder]
cps_pkcs11_pcsc_w32.dll
Configuration
[CommonAppDataFolder]\santesocial\cps\coffre\
cps_pkcs11_pcsc.ini
CSP-CPS
[SystemFolder]
cps_csp_pcsc_w32.dll
Extension CSP
[ProgramFilesFolder]\santesocial\cps\
cps_ccm_pcsc.exe
Certificats d’autorités
[CommonAppDataFolder]\santesocial\cps\coffre\
*.cer
API-CPS
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 29 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Linux
Composant
Emplacement
Fichier
/opt/santesocial/CPS/lib/
(lien symbolique : /usr/lib/)
/opt/santesocial/CPS/lib/
(lien symbolique : /usr/lib/)
/etc/opt/santesocial/CPS/
libcpslux.so
API-CPS
GestionCarteCPS
GestionDictionnaire
Dictionnaire
libcptablux.so
DICO-FR.GIP
Application de Gestion de
la CPS
CRYPTOLIB-PCSC
/opt/santesocial/CPS/bin/
(lien symbolique : /usr/bin/)
cpgeslux
PKCS#11-CPS
libcps_pkcs11_pcsc_lux.so
Configuration
/opt/santesocial/CPS/lib/
(lien symbolique : /usr/lib/)
/etc/opt/santesocial/CPS/
Certificats d’autorités
/etc/opt/santesocial/CPS/Certificats/
*.cer
cps_pkcs11_pcsc.ini
Mac OS-X
Composant
Emplacement
Fichier
GestionCarteCPS
/Library/Frameworks/
cpsosx.framework
GestionDictionnaire
/Library/Frameworks/
cptabosx.framework
App. d’affichage du
choix du lecteur
Dictionnaire
/Library/Application Support/santesocial/
ChoixLecteur.app
/Library/Preferences/santesocial/CPS/
DICO-FR.GIP
Application de
Gestion de la CPS
CRYPTOLIB-PCSC
/Applications/
cpgesosx.app
PKCS#11-CPS
/usr/lib/
libcps_pkcs11_pcsc_osx.dylib
Configuration
/Library/Preferences/santesocial/CPS/
cps_pkcs11_pcsc.ini
Token-D
/System/Library/Security/tokend/
GIP-CPS_PCSC.tokend
Certificats d’autorités
/Library/Preferences/santesocial/CPS/Certificats/
*.cer
API-CPS
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 30 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
5.1.4. Particularités Windows : utilisation de la « registry » (base de registres)
Lancement de la registry : Menu “Démarrer” ; “Exécuter « regedit »
Liste des clés ajoutées dans la registry, lors de l’installation :
Description : Exécutable à lancer automatiquement au démarrage de Windows.
Chemin : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Nom : CPS Certificate Manager
Type : REG_SZ
Données : C:\Program Files\santesocial\cps\cps_ccm_pcsc.exe
Description : Ajout d’un lien entre l’ATR d’une carte CPS et le CPS_CSP_PCSC.
(Pour l’utilisation du SmartCardLogon)
Chemin : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Carte CPS
Nom : Crypto Provider
Type : REG_SZ
Données : cps_csp_pcsc_w32
Nom : ATR
Type : REG_BINARY
Données : 3b ac 00 40 2a 00 12 25 00 64 80 00 03 10 00 90 00
Nom : ATRMask
Type : REG_BINARY
Données : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Description : Description du CPS_CSP_PCSC et de son chemin d’accès. (Pour l’utilisation du
SmartCardLogon)
Chemin :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\cps_csp_pcsc_w32
Nom : Image Path
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 31 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
Type : REG_SZ
Données : C:\WINDOWS\system32\cps_csp_pcsc_w32.dll
Nom : SigInFile
Type : REG_DWORD
Données : 0x0
Nom : Type
Type : REG_DWORD
Données : 0x1
5.1.5. Paramétrisation
Le fichier cps_pkcs11_pcsc.ini permet de configurer Cryptolib-cps-pcsc.
La section « config » regroupe en particulier les clés permettant de faire des ajustements sur le
fonctionnement des différents modules composant Cryptolib-cps-pcsc.
Ci-dessous la liste des sections et clés permettant de configurer le module Cryptolib-cps-pcsc :
[Section]
[config]14
[help]
[trace]
14
Clé
Défaut
Effet
tpc_polling_time
1
cps_open_session_max_try
10
cps_busy_reader_max_try
10
cps_busy_reader_try_sleep
1000
Délai en secondes entre 2 tests de présence carte
effectif
Nombre maximum de tentatives d’ouverture de
session CPS
Nombre maximum de tentatives consécutives
d’appel à une fonction CPS qui retourne un CR
« lecteur occupé »
Délai en milliseconde entre deux tentatives
consécutives d’appel à une fonction CPS qui
retourne un CR « lecteur occupé »
count
0
0 : Pas de coffres-forts en mode secours
level
0
0 : Pas de traces
50 : Trace de niveau DEBUG
100 : Traces de niveau MAX
Cette section [config] est facultative et peut être absente du fichier de configuration. Ce sont alors les valeurs par
défaut indiquées dans ce tableau qui sont utilisées par le module Cryptolib-pcsc.
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 32 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
5.2.
LISTE DES CERTIFICATS INSTALLES
Liste des certificats d’autorités (racines et intermédiaires) ajoutés au magasin des certificats
Microsoft, lors de l’installation :
Type
d’autorité
Délivré à
Délivré par
Empreinte numérique (SHA1)
Racine
GIP-CPS
GIP-CPS
8e 44 71 d3 08 42 b5 4b c7 e2 58 27 70 00 94 69 ab d0 2c c7
Racine
GIP-CPS ANONYME
GIP-CPS ANONYME
ad 6b bf c6 2d 90 73 6b d2 01 0d ea 1f d9 e2 ab a0 d4 37 85
Racine
GIP-CPS PROFESSIONNEL
GIP-CPS PROFESSIONNEL
4e 76 ba 5b ad e2 96 4a ff 34 d8 6e 97 7a 89 6b 5f e0 1e a9
Racine
GIP-CPS SERVEUR
GIP-CPS SERVEUR
2c c1 e5 d4 81 23 0d 0b 3e 30 1b 59 ad 34 6b f1 8a f1 f2 1a
Racine
GIP-CPS STRUCTURE
GIP-CPS STRUCTURE
d2 6d c5 61 59 59 be ae 92 52 d3 b3 8f f4 06 bf df 44 05 b7
Intermédiaire
AC-CLASSE-4
GIP-CPS
31 82 46 2f 18 0a e8 80 b6 f4 3f a0 40 ce c0 25 dc 2f 20 42
Intermédiaire
AC-CLASSE-5
GIP-CPS
5f 3c 2c 90 b9 74 fe 9f a8 f9 d2 bd e1 13 38 c4 d2 68 1e 37
Intermédiaire
AC-CLASSE-6
GIP-CPS
08 c0 53 b3 82 e9 d7 94 fd 7a 9c 44 67 9b 95 e5 c6 b2 1b 84
Intermédiaire
GIP-CPS
GIP-CPS
4a c2 fc 4b 4a d0 77 66 9a 9a 6c 4a cf 8f a7 18 10 71 74 07
Intermédiaire
GIP-CPS ANONYME
GIP-CPS ANONYME
76 8d 84 92 dc e0 fb 9e 7e 0a 8a 7c 6c 5e 11 e9 7d 79 8f c2
Intermédiaire
GIP-CPS CLASSE-0
GIP-CPS ANONYME
60 11 0e 69 4c 33 dc dd 55 a5 f5 ab 23 f5 65 33 e3 9f 09 f9
Intermédiaire
GIP-CPS CLASSE-0
GIP-CPS ANONYME
16 94 16 b1 0c a2 d2 e2 f6 c2 06 ca 48 68 dc cb 0f a0 3d 9f
Intermédiaire
GIP-CPS CLASSE-1
GIP-CPS PROFESSIONNEL
a1 68 e1 50 ba c3 1f ba 0c d9 4e 46 6f 07 5b 61 1e a2 c8 67
Intermédiaire
GIP-CPS CLASSE-1
GIP-CPS PROFESSIONNEL
26 c2 ae 33 28 91 5d a3 85 7b b8 38 fd 70 4e 80 25 55 43 fe
Intermédiaire
GIP-CPS CLASSE-2
GIP-CPS STRUCTURE
e4 66 5c 3b a1 50 2b eb a5 80 1d 85 2a 90 43 5f 22 26 48 20
Intermédiaire
GIP-CPS CLASSE-2
GIP-CPS STRUCTURE
1f 26 d9 3b d4 b5 f6 1e 8f ce 31 4c c1 6c 81 e5 d3 43 3a 62
Intermédiaire
GIP-CPS CLASSE-3
GIP-CPS STRUCTURE
bf 57 9b f3 34 ea 2a 98 d1 9c 12 1d 91 0f 0c 68 07 42 28 3a
Intermédiaire
GIP-CPS CLASSE-3
GIP-CPS STRUCTURE
b2 4a 51 6d e4 37 79 08 eb a1 de d7 a2 30 d1 d7 2a 2f 4e 27
Intermédiaire
GIP-CPS PROFESSIONNEL
GIP-CPS PROFESSIONNEL
11 83 a4 0a de 75 f6 9b 01 88 8e 66 64 e7 0d 12 cc 46 cf dd
Intermédiaire
GIP-CPS SERVEUR
GIP-CPS SERVEUR
0a 1b 2b b0 b3 9f bc fc 44 0b 1b a8 83 f8 49 8c 57 1d ba 84
Intermédiaire
GIP-CPS STRUCTURE
GIP-CPS STRUCTURE
e6 3a 45 93 be b2 01 c3 62 3a ca 42 68 71 d4 d7 22 e5 d8 5c
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 33 / 34
GIP-CPS
CRYPTOLIB-CPS
Version 1.07
Manuel utilisateur
SUIVI DES MODIFICATIONS DU MANUEL
1.
2.
3.
4.
5.
6.
7.
8.
Version 1.00, Septembre 2009 : Création du manuel d’installation de CRYPTOLIB-CPS-PCSC.
Version 1.01, Septembre 2009 : Corrections FBA et JLB
Version 1.02, Septembre 2009 : Modifications/Corrections FBA et JLB
Version 1.03, Octobre 2009 : Mise à jour de captures d’écran + Corrections par FBA.
Version 1.04, Octobre 2009 : Corrections FBA.
Version 1.05, Octobre 2009 : Corrections JLD et HDS.
Version 1.06, Octobre 2009 : Ajouts liste des certificats
Version 1.07, Janvier 2010 : Mise à jour des versions MAC et LINUX
20 Janvier 2010
Document GIP-CPS
© GIP-CPS : Ce document est la propriété du Groupement d'intérêt Public CPS.
Il ne peut être reproduit sans autorisation écrite.
Page 34 / 34

Documents pareils