mercredi 19 octobre 2011

Carte CPS sous ubuntu karmic ou plus

Introduction

Cet article se propose de vous guider dans l’installation des librairies cryptographiques CPS sous Ubuntu version karmick ou plus.

Préparation

Téléchargez les librairies cryptographiques soit sur le site du ASIP Santé Editeurs rubrique Téléchargement logiciels.

L’archive pour linux est mal nommée. Renommez-la correctement :
:~$ mv cryptocpspcsc-101-1i386rpmtar.gz cryptocpspcsc-101-1i386rpm.tar.gz
Extrayez le paquet rpm contenu dans cette archive :
:~$ tar xvzf cryptocpspcsc-101-1i386rpm.tar.gz
Fabriquez le paquet debian :
:~$ fakeroot alien CryptoCpsPcsc-1.0.1-1.i386.rpm

Installation

Installez le paquet avec gdebi (il installera aussi toutes les dépendances)
:~$ sudo gdebi cryptocpspcsc_1.0.1-2_i386.deb
Si ce n’est déjà fait ajoutez-vous au groupe pcscd (puis déconnectez-vous et reconnectez-vous)
:~$ sudo adduser trucmuche pcscd

Correction de l’installation

Créez le répertoire dans lequel les API Cps tracent leurs opérations :
:~$ sudo mkdir -p /var/opt/santesocial/CPS/log
:~$ sudo chmod 775 /var/opt/santesocial/CPS/log
:~$ sudo chgrp pcscd /var/opt/santesocial/CPS/log
Créez un fichier de configuration PKCS11 pour java
:~$ sudo vi /etc/opt/santesocial/CPS/pkcs11.cfg
#
# Configuration du provider PKCS#11 java Sun
#
# Tester avec la commande suivante :
# keytool -keystore NONE -storetype pkcs11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg ./pkcs11.cfg -list
name=GipCpsiTest
library=/usr/lib/libcps_pkcs11_pcsc_lux.so
description=Librairie cryptographique du GIP-CPS
Insérez une carte dans le lecteur et lancez la lecture de la carte depuis java en tant que root :
:~$ sudo keytool -keystore NONE -storetype pkcs11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg /etc/opt/santesocial/CPS/pkcs11.cfg -list
Saisissez votre code pin lorsque le programme vous de demande et vérifiez que vous obtenez quelque chose du genre :
Type Keystore : PKCS11
Fournisseur Keystore : SunPKCS11-GipCpsiTest
Votre Keystore contient 2 entrée(s)
MARIE SAGE0422 (signature), PrivateKeyEntry,
Empreinte du certificat (MD5) : 7A:BD:A5:79:05:7D:4A:C7:AA:81:65:7E:12:0C:23:30
MARIE SAGE0422 (authentification), PrivateKeyEntry,
Empreinte du certificat (MD5) : BC:B0:37:F3:7A:7A:49:8C:D5:B5:68:BA:C8:9B:7B:0A
Modifiez les permissions du fichier créé par la commande précédente :
:~$ sudo chmod 664 /etc/opt/santesocial/CPS/ccert.bin
:~$ sudo chgrp pcscd /etc/opt/santesocial/CPS/ccert.bin
Relancez la lecture de la carte sous votre propre identité :
:~$ keytool -keystore NONE -storetype pkcs11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg /etc/opt/santesocial/CPS/pkcs11.cfg -list
Tapez votre code pin et vérifiez que vous obtenez les mêmes informations que précédemment.
Si c’est la cas : vous avez terminé !

2 commentaires:

  1. Bonjour,

    Nous aurions besoin de détail la partie cryptolib de la procédure.
    Nous avons bien accès au lecteur de carte, et au contenu de la carte avec l'utilitaire binaire "cpgeslux". Le lecteur et la carte fonctionnent bien.

    Nous souhaitons maintenant passer à l'étape cryptolib, afin de charger la librairie libcps_pkcs11_pcsc_lux.so dans notre navigateur firefox afin d'avoir accès aux consultations des droits en ligne (CDR).

    Je ne comprends pas bien l'objectif de la commande keytool. Pouvez-vous préciser?
    Chez nous (debian 6 et 7 - java 5, 6 et 7), l'utilitaire keytool reste en suspens, et on est obligé de la stopper.

    Bien à vous,
    Michel

    RépondreSupprimer
  2. Bonsoir Michel,

    l'objectif du keytool est de vérifier que le lecteur est accessible (donc que les différents modules sont bien installés), et que la carte insérée est bien correctement lue.

    Si keytool reste en suspens, cela doit probablement traduire une non communication avec le périphérique de lecture de carte. Avez vous utilisé le driver full PC/SC compatible, ou l'antédiluvienne version avec son fameux fichier galss.ini ? Quelle est la marque du lecteur incriminé ?

    >Nous aurions besoin de détail la partie cryptolib de la procédure.
    A quelle partie faites vous référence ?

    >Nous souhaitons maintenant passer à l'étape cryptolib, afin de charger la librairie libcps_pkcs11_pcsc_lux.so dans notre navigateur firefox afin d'avoir accès aux consultations des droits en ligne (CDR).
    Je ne connais pas le module de la CNAMTS. Je ne sais donc pas s'il repose sur une composante logicielle compatible avec autre chose que du Windows (95 ? ;-)). Si leur module fait appel à un composant JNI, peut être que oui. Sinon il y a peu de chances.

    De mon point de vue, je tenterais la configuration du lecteur avec l'ancienne version des drivers (galls.ini) et non le driver "full" PC/SC.

    A bientôt !

    RépondreSupprimer