Signature PDF

Comment signer un fichier PDF avec le composant CPS

Le composant CPS permet d’aposer une signature électronique par certificat provenant de l’IGC Santé à un document PDF. L’IGC Santé est une Infrastructure de Gestion de Clés défini par l’ANS :

Les certificats émis par l’ANS permettent d’identifier les acteurs du secteur, personnes physiques et organisations. Ils attestent également de la qualité des pratiques de gestion des clés publiques mises en oeuvre par ces autorités. Ils peuvent être révoqués en cas de défaillance.

Pour plus de renseignements, sur l’utilisation de signature par certificat dans un fichier PDF : https://helpx.adobe.com/fr/acrobat/kb/certificate-signatures.html

Comment signer un fichier PDF

Tout d’abord le résultat attendu :

PDF_signé

Explications :

Ici nous voyons que le document PDF a été signé par un professionnel de santé ayant pour RPPS 8997002296140, et qu’il a été émis par l’IGC-SANTE pour une authentification forte des personnes (de Test dans ce cas).

Ce sont ces mêmes mécanismes de signature qui sont mis en place dans le DMP. En effet, le DMP, comme tous les autres téléservices du Sesam-Vitale s’appuient sur cette même IGC-Santé pour réaliser les authentifications et les signatures des différents appels.

Pour générer, cette signature un seul appel rest du composant est nécessaire :

8ans swagger

Swagger

Avec curl :

curl -X 'POST' \
  'http://localhost:9999/cps/signPdf' \
  -H 'accept: application/pdf' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@1.pdf;type=application/pdf' \
  -F 'location=Bordeaux' \
  -F 'reason=Parce que'

Ou encore en java :

final PdfSignatureInfo pdfSignatureInfo = new PdfSignatureInfo();
pdfSignatureInfo.setLocation("Léognan, FRANCE");
pdfSignatureInfo.setReason("Parceque");

new PdfSigner(cps).sign(new FileOutputStream("exemple.pdf"), pdfSignatureInfo, new FileOutputStream("exemple-signe.pdf")));

Finalement avec l’outil de démonstration

Sur l’environnement de démonstration vous pouvez tester le composant en situation :

  • Récupération du fichier PDF à signer :

select pdf

  • Saisie du code pin si aucune session CPS n’est ouverte (durée de la session 1 heure)

cps pin asked

À savoir, l’IGC-santé n’est pas reconnu par défaut dans les logiciels d’ADOBE, il faut donc la rajouter dans le magasin d’Acrobat. Pour plus, de renseignements vous pouvez consulter l’article suivant

À savoir également, les visionneuses des navigateurs telles que celles de chrome ou firefox ne possèdent pas de panneau de signature. La signature n’est donc pas détectée dans ces visionneuses. Il faut utiliser Acrobat Reader.