ONYX - Utilisation

Signature électronique de PDFs

De MappingDoc
Révision datée du 4 mai 2020 à 11:53 par Jdieu (discussion | contributions) (map_xps)
Autres langues :
English • ‎français

Introduction

Mapping donne la possibilité de signer les PDfs qu'il génère. Pour cela, des certificats électroniques associés à des clés privés sont utilisés.

Prérequis

Il faut au préalable avoir à disposition un certificat et une clé privée.

Génération d’un certificat et d’une clé privé (pour notre exemple via openssl) :

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.pem -out certificate.cer

Clé privé : private.pem Certificat : certificate.cer

Cette commande va générer un certificat et une clé privé sans contrôle des organisme de certification. Cela n’a de sens donc uniquement que pour des tests. Pour un usage réel, il faudra obtenir un certificat grâce à l’intermédiaire d'organismes agréés.

Limites

A définir

Remarque au sujet des certificats

Il est possible d'avoir le certificat et le clé privée dans des fichiers séparés ou bien dans le même fichier

Dans des fichiers séparés

Voici un exemple d'un certificat et une clé privée dans deux fichiers séparés

Fichier private.pem

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFA
...
HRgFVVNXS8jTjAo2LL7U6rZK8gwsXWzqaXNLsvwj9HoF89+reRosTfIIk
-----END PRIVATE KEY-----


Fichier certificate.cer

-----BEGIN CERTIFICATE-----
MIID2TCCAsGgAwIBAgIJAKcd3Qk2E
...
bJVSEN4kV0mdg5jrFhCCZjrlumzs+MQ=
-----END CERTIFICATE-----

Dans le même fichier

Voici un exemple d'un certificat et d'une clé privée définis dans le même fichier certifcle.pem

Fichier certifcle.pem

Son contenu est une simple concaténation du contenu du fichier clé privé et du certificat.

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFA
...
HRgFVVNXS8jTjAo2LL7U6rZK8gwsXWzqaXNLsvwj9HoF89+reRosTfIIk
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIID2TCCAsGgAwIBAgIJAKcd3Qk2E
...
bJVSEN4kV0mdg5jrFhCCZjrlumzs+MQ=
-----END CERTIFICATE-----

Paramétrage

L'utilisation de la signature électronique au sein de MAPPING nécessite la copie de la clé privé et du certificat sur le serveur.
Son utilisation est alors possible dans les workflows MAPPING ou bien en ligne de commande via la commande MAP_XPS

Copie des fichiers sur le serveur

Il faut mettre le fichier de la clé privé et le fichier du certificat sur le système de fichier de serveur

(Exemple : /apps/mapping/certificate)

Les différents paramètres

La signature électronique requiert l'utilisation de plusieurs paramètres. Vous trouverez la liste dans le tableau ci-dessous :

Nom du paramètre valeur Signification
signclass < 3 -
signdriver VIDE Signature électronique déactivée (les autres paramètres n'auront alors pas d'effet)
signdriver OPENSSL Le mode OPENSSL est compatible avec toutes les plateformes supportées par Mapping. Il utilise un ou deux fichiers contenant les clés publiques et privées. Les fichiers doivent se trouver sur le serveur Mapping (chemins réseaux non supportés).
signdriver FIRSTSIGNATURE Le mode FIRSTSIGNATURE est valable uniquement sous Windows car il utilise un certificat installé sur le poste. Le certificat utilisé est le premier de la liste des certificats affichés dans Internet Explorer.
signdriver WINDOWS Activation du mode SHA1. Ce est valable uniquement sous Windows car il utilise un certificat installé sur le poste. Le certificat utilisé est le défini par sa clé de hashage (empreinte numérique).
signmode FILENAME A utiliser si signature électronique activé en mode OPENSSL
signpassword Valeur de la passphrase du certificat Utilisé dans le cas ou le certificat contient une passphrase de sécurité
signsha1hash Valeur du SHA1 utilisé si le signdriver vaut WINDOWS
signpemfile Chemin + nom du fichier de la clé privé Utilisé dans le cas d'utilisation d'un fichier clé privé
signcerfile Chemin + nom du fichier du certificat Utilisé dans le cas d'utilisation d'un fichier certificat
signpfxfile Chemin + nom du fichier PFX Utilisé dans le cas d'utilisation d'un fichier pfx
timestampurl ?? A documenter

Utilisation

Workflow

La boite des workflows MAPPING à utilisée est la boite toPDF. (XPS to web format / toPDF) De base, cette boite permet de générer un PDF à partir d'un fichier XPS. Cependant il est possible d'y paramétrer une signature électronique.

Onglet Signature


OX S SIGNPDF1.jpg

Cet onglet permet l'initialisation des paramètres listés dans le tableau des paramètres.

remarque : A noté que le workflow inialise le paramètre signclass à la valeur 0.

map_xps

Il est également possible d'utiliser la commande MAPPING de conversion map_xps

Il faudra alors initialiser les paramètres de signature électronique via des paramètres -param:CLE=VALEUR

Exemple :

"/apps/mapping/bin/map_xps" "-infile:/apps/mapping/infile/infile.xps" "-param:signmode=FILENAME" "-param:signclass=0"
-param:signdriver=OPENSSL" '"-param:signpemfile=/apps/mapping/certificate/private.pem"
"-param:signcerfile=/apps/mapping/certificate/certificate.cer" "-toPDF" "-outfile:/apps/mapping/out/out.pdf"


Formats Designer

Sur le serveur Mapping 9.1 et au-delà, aller dans la Gestion des formats Designer:


Sur le menu Mapping, cliquer sur :
  1. Gestion de formats Designer
  2. Gestion des formats


La liste de formats Designer opérationnels s'affiche alors.


OX S VERSIONING1.jpg


Il est alors possible de rentrer dans la gestion des différentes versions d'un format donné en cliquant sur le i correspondant.


La fenêtre suivante listant toutes les versions et l'historique de toutes les activations du format s'ouvre alors :


OX S VERSIONING2.jpg


1 : Format concerné
2 : Numéro de version du format concerné
3 : Utilisateur ayant procédé à l'importation ou au dernier rollback
4 : Commentaire saisi lors d'un rollback
5 : Date et heure de l'activation de la version
6 : Date et heure de jusqu'à quand la version était active
7 : Bouton de rollback


Rollback de la version V4 :


Dans cet exemple, nous allons réactiver la version V4 en cliquant sur son bouton Rollback :


OX S VERSIONING3.jpg


Voici le résultat alors obtenu :


OX S VERSIONING4.jpg


La version 4 du format est alors activée.


Remarque : Il est également possible d'avoir une vue d'ensemble sur tous les formats et de toutes leurs versions. Pour cela, il faut aller sur le sous-menu Historique des formats du menu Gestion des formats Designer


OX S VERSIONING5.jpg

Format Connect

Le fonctionnement avec les formats Connect est le même qu'avec les formats Designer. Nous vous invitons à vous référer à la partie des formats Designer.

Ligne de commandes

Il est également possible de faire du versioning en ligne de commande en utilisant le binaire mapobjectversioncontrol


Exemple d'utilisation :

// Sauvegarde le projet KUHN en séquence 20 actuellement en production
mapobjectversioncontrol backup "KUHN" "00020"


// Restaure le projet KUHN en séquence 10 comme il était en production le 27 avril

mapobjectversioncontrol restore "2019-04-27T23:59:59.000Z" "KUHN" "00010"


// Liste les projets déjà versionnés

mapobjectversioncontrol list


Toutes les actions ayant un impact sur le repository sont versionnées automatiquement.


Il sera bientôt possible de restaurer grâce au numéro de version :

 mapobjectversioncontrol restore "KUHN" "00010" v3

Cas particulier

Cas des formats déjà présents

Dans le cas où des formats sont déjà présents dans l'environnement (créés grâce à la copie du contenu du répertoire MAP400 à partir d'un environnement sans mécanisme de versioning ou lors de l'upgrade d'une version antérieure à la V9.1), la version V0 de ce format ne sera pas sauvegardée dans le mécanisme de versioning.


Par conséquent, lors de l'import de la prochaine version V1 de ce format, la version V1 sera bien sauvegardée mais la V0 sera perdue.


Afin d'éviter cela, avant d'importer la V1 du format, il faut exécuter la commande suivante :

/apps/mapping/bin/mapobjectversioncontrol backup "format" "sequence"


Cela aura pour effet de créer une entrée de la version V0 dans le mécanisme de versioning. Cette version sera alors disponible dans l'interface de rollback des formats.