Esup-Signature

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Info

Il est possible d'utiliser un certificat cachet d'établissement (personne morale). Le POC mené à Rouen repose sur l'utilisation d'un certificat cachet eIDAS (RGS**) obtenu auprès de Certinomis au format clé cryptographique.

La clé est de marque Feitian et la carte à puce de type Gemalto.

Depuis la version 1.27, il est possible d'utiliser OpenSC en lieu et place du driver safenet.
Depuis la version 1.34 la configuration de certificat a changée, il est maintenant possible de configurer plusieurs certificats.


Remarque

L'installation se passe coté serveur ce qui implique de connecter la clé usb sur le serveur hébergeant esup-signature. Cela implique des contraintes particulière par rapport aux serveurs virtuels.

Deux solution sont possibles :

  • Un port mappé sur le serveur hébergeant esup-signature. De ce fait, le serveur ne peux pas changer d'hyperviseur sans que la clé ne soit débranchée. Le débranchement de la clé est géré coté esup-signature pour permettre une continuité de service (en mode dégradé) lors des manipulations sur l'infra serveur.
  • Un hub USB (type AnywhereUSB) permettant de virtualiser le port usb et éviter les contraintes liées à la première solution

Sommaire

...

Pré-requis

Installation des paquets :

  • pcsc-tools
  • libpcsclite1
  • libpcsclite-dev

Installation de la clé USB :

  • directement sur le serveur
  • via un hub USB réseau Digi AnywhereUSB® (solution en place à Rouen)

https://fr.digi.com/products/networking/infrastructure-management/usb-connectivity/usb-over-ip/anywhereusb



...

Acquisition d'un certificat

Attention à bien vous équiper d'un certificat eIDas. Vous trouver la liste des fournisseurs et des certificats ici :

https://eidas.ec.europa.eu/efda/trust-services/browse/eidas/tls/tl/FR

En général ils sont fournis sur support cryptographique.

Si votre certificat n'est pas eIDas vous ne pourrez l'utiliser qu'en forçant le paramètre check-revocation-for-untrusted-chains à false

voir : Configuration - Section global#dss

...

Installation avec le driver SafeNet

Pour le materiel de type clé Feitian et carte sim Gemalto (comme fournis par Certinomis par example), les pilotes sont à télécharger ici : https://supportknowledge.globalsigndigicert.com/ssl/ssl-certificates-installation/safenet-drivers#Linux%20Debiangeneral-information/how-to-download-safenet-authentication-client

Bloc de code
languageshell
wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u4_amd64.deb
sudo dpkg -i libssl1.1_1.1.1w-0+deb11u4_amd64.deb
sudo apt install libgdk-pixbuf-2.0-0 libgdk-pixbuf-xlib-2.0-0
sudo dpkg -i safenetauthenticationclient-core_10.9.4723_amd64.deb

Une fois le paquet installé, on obtient le fichier fichier /lib/pkcs11/libIDPrimePKCS11.so qui est le pilote qui sera utilisé par esup-signature ci-après...

La configuration à mettre dans le fichier application.yml :

Bloc de code
languageyml
    seal-certificat-properties:
        default :
            seal-certificat-title: Cachet d'établissement eIDas		# Titre pour le certificat
            seal-certificat-type: pkcs11						    # Type du certificat PKCS11 ou PKCS12
            seal-certificat-driver: /lib/pkcs11/libIDPrimePKCS11.so # Pilote du certificat cachet dans le cas d'un PKCS11
            seal-certificat-pin: ******							    # Code pin du certificat cachet
            seal-certificat-slot-id: 0								# Identifiant de l'emplacement (slot) utilisé pour accéder au certificat cachet.
            roles:													# Rôles autorisés à utiliser ce certificat
                - ROLE_SEAL		

Le premier permet de préciser le type de certificat à utiliser, le deuxième pointe pilote de la clé USB, le dernier correspond au code pin du certificat

Remarque

Il est possible d'utiliser un certificat PKCS12 en guise de certificat cachet. Pour cela seal-certificat-type doit être PKSC12 et il faudra utiliser seal-certificat-file pour préciser l'emplacement du fichier .p12


...

Installation avec OpenSC

Afin d'éviter l'utilisation d'un pilote spécifique vous pouvez passer par OpenSC : https://github. com/OpenSC/OpenSC L'installation est documentée ici : https://github.com/OpenSC/OpenSC/wiki/Compiling-and-Installing-on-Unix-flavorset la vérification sont decrites ici : OpenSC

à mettre dans le fichier application.yml Sous debian il existe un paquet opensc, voici les comandes à lancer :

Bloc de code
languagebashyml
themeRDark
sudo apt-get install pcscd libccid libpcsclite-dev libssl-dev libreadline-dev autoconf automake build-essential docbook-xsl xsltproc libtool pkg-config
sudp apt install opensc

Pour tester le fonctionnement : 

La configuration à mettre dans le fichier application.yml :

Bloc de code
languageyml
themeRDark
seal-certificat-type: OPENSC
    seal-certificat-properties:
        default :
            seal-certificat-title: Cachet d'établissement eIDas		# Titre pour le certificat
            seal-certificat-type: opensc						    # Type du certificat PKCS11 ou PKCS12
            seal-certificat-pin: ******							    # Code pin du certificat cachet
            seal-certificat-slot-id: 0								# Identifiant de l'emplacement (slot) utilisé pour accéder au certificat cachet.
            roles:													# Rôles autorisés à utiliser ce certificat
                - ROLE_SEAL		


...

Mode d'accès

Cette signature éléctronique électronique est disponible de trois manières :

  • Les utilisateurs ayant obtenu le ROLE_SEAL ont la possibilité de signer avec le certificat d'établissement.
  • Il est possible de configurer esup-signature pour signer automatiquement tous les documents en fin de circuits avec le paramètre seal-all-docs: true
  • Enfin, il est possible de configurer la signature cachet automatique, circuit par circuit

...