Exemple de requête réalisant une signature XAdES détachée sur un document
Création de la requête provisionnée
L’application demandeuse initie une demande de signature :
POST /api/requests HTTP/1.1Authorization: ApiKey ELyx8gbdteZ9s4gigTAm4PQGvHu1zrA7Content-Type: application/jsonContent-Length: 150{"params" : {"signerEmail" : "john.doe@my-idp.com"},"profiles" : {"default" : {"signatureType" : "xadesDetached"}}}
Un objet demande est renvoyé :
{"clientId" : "01","created" : 1789468060198,"id" : "req_01_H38sdXgMt75Y4WuwEL1YDcmY","params" : {"bypassViewer" : "false","signerEmail" : "john.doe@my-idp.com"},"profiles" : {"default" : {"forceScrollDocument" : "false","signatureType" : "xadesDetached"}},"status" : "created","updated" : 1789468060198}
Téléversement du document à signer
L’application demandeuse téléverse le contenu du document (un PDF) :
POST /api/requests/req_01_H38sdXgMt75Y4WuwEL1YDcmY/profiles/default/documents HTTP/1.1Authorization: ApiKey ELyx8gbdteZ9s4gigTAm4PQGvHu1zrA7Content-Disposition: attachment; filename="document.pdf"Content-Type: application/pdf%PDF-1.3%[contenu binaire du fichier PDF]
Un objet document est renvoyé, avec cette fois une policyUri pointant vers la politique de signature CAdES/XAdES détachée de la Banque de France. L’application demandeuse démarre ensuite la demande :
{"created" : 1789468060211,"displayedParts" : [ {"contentType" : "application/pdf","filename" : "document.pdf","hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=","name" : "data","policyUri" : "https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf","profileId" : "default","size" : 12341} ],"id" : "doc_Hht54qmG7vBvkMKVj887UVX9","parts" : [ {"contentType" : "application/pdf","filename" : "document.pdf","hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=","name" : "data","policyUri" : "https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf","profileId" : "default","size" : 12341} ],"profileId" : "default","requestId" : "req_01_H38sdXgMt75Y4WuwEL1YDcmY","workflowIdx" : 0}
Lancement de la requête provisionnée
L’application demandeuse passe le statut de la demande de signature à started :
POST /api/requests/req_01_H38sdXgMt75Y4WuwEL1YDcmY/start HTTP/1.1Authorization: ApiKey ELyx8gbdteZ9s4gigTAm4PQGvHu1zrA7
L’URL de la page de consentement est renvoyée :
{"consentPageUrl" : "https://evidence-manager.lex-persona.com/?requestToken=eyJhbGciOiJIUzI1NiJ9.eyJjbGllbnRJZCI6IjAxIiwiY29uc2VudFZlcnNpb24iOiJWMiIsInNhbHQiOiIzOEphbGsrLyIsInJtVmVyc2...#requestId=req_01_H38sdXgMt75Y4WuwEL1YDcmY"}
Récupération des documents signés et des preuves
L’application demandeuse liste les documents signés :
GET /api/requests/req_01_H38sdXgMt75Y4WuwEL1YDcmY/signedDocuments HTTP/1.1Authorization: ApiKey ELyx8gbdteZ9s4gigTAm4PQGvHu1zrA7
Une liste d’objets document est renvoyée. Elle contient deux parties distinctes :
- le document PDF d’origine (
isOriginal: true), - un fichier
signature.xmlséparé contenant la signature XAdES détachée qui référence le PDF par son nom de fichier
[ {"created" : 1789468060575,"displayedParts" : [ {"contentType" : "application/pdf","filename" : "document.pdf","hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=","isOriginal" : true,"name" : "data","policyUri" : "https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf","profileId" : "default","size" : 12341}, {"contentType" : "text/xml","filename" : "signature.xml","hash" : "aYHfVpJF35w59Q9SC/tgBNkmYyHRGKMidJeZ9F4E98Q=","isOriginal" : false,"name" : "data","policyUri" : "https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf","profileId" : "default","size" : 26658} ],"id" : "doc_MsvB2ABSRDm5qPaWV5HViuGb","linkedDocumentId" : "doc_Hht54qmG7vBvkMKVj887UVX9","parts" : [ {"contentType" : "application/pdf","filename" : "document.pdf","hash" : "obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=","isOriginal" : true,"name" : "data","policyUri" : "https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf","profileId" : "default","size" : 12341}, {"contentType" : "text/xml","filename" : "signature.xml","hash" : "aYHfVpJF35w59Q9SC/tgBNkmYyHRGKMidJeZ9F4E98Q=","isOriginal" : false,"name" : "data","policyUri" : "https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf","profileId" : "default","size" : 26658} ],"profileId" : "default","requestId" : "req_01_H38sdXgMt75Y4WuwEL1YDcmY","workflowIdx" : 0} ]
Le téléchargement du document signé renvoie le fichier signature.xml : une signature XAdES détachée (ds:Signature) qui référence document.pdf par son URI, avec sa politique de signature (celle de la Banque de France), sa chaîne de certificats et son horodatage :
GET /api/requests/req_01_H38sdXgMt75Y4WuwEL1YDcmY/signedDocuments/doc_MsvB2ABSRDm5qPaWV5HViuGb HTTP/1.1Authorization: ApiKey ELyx8gbdteZ9s4gigTAm4PQGvHu1zrA7
<?xml version="1.0" encoding="UTF-8"?><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="id-6c91671cf270b22ca2e72b009c8bfde4"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference Id="id-6c91671cf270b22ca2e72b009c8bfde4-1" URI="document.pdf"><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>obcUcumzUOJsClVDv/jHTNefKTRlTJULnZx4dfOrx+I=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xades-id-6c91671cf270b22ca2e72b009c8bfde4"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>HedEVbfk9OODSQ4EytRuQ3pKnJeqgB7s8HuJunLnqbg=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="value-id-6c91671cf270b22ca2e72b009c8bfde4">MQMI3vOf0TnSUjS2VUxWCzvTWg3pUWgmzyO/hDqpmQ5MvSem4dccTxHseTTe2z0vqIlZkUDiY4W8KC89Qtfti8yNvBS9CajoKA7laCaIZhy5ms0P/Zx7D8C9...</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIGVjCCBD6gAwIBAgIIJ/TRdsPRnnUwDQYJKoZIhvcNAQELBQAwgYMxKzApBgNVBAMMIlN1bm55c3RhbXAgTGVnYWwgUGVyc29ucyBDQSAoVEVTVCkxFzAV...</ds:X509Certificate><ds:X509Certificate>MIIHADCCBOigAwIBAgIIXZTNpYsvZKAwDQYJKoZIhvcNAQENBQAwdjEeMBwGA1UEAwwVU3VubnlzdGFtcCBSb290IENBIEcyMRcwFQYDVQQLDA4wMDAyIDQ4...</ds:X509Certificate><ds:X509Certificate>MIIF5DCCA8ygAwIBAgIIds3Y5/Vg0IYwDQYJKoZIhvcNAQELBQAwdjEeMBwGA1UEAwwVU3VubnlzdGFtcCBSb290IENBIEcyMRcwFQYDVQQLDA4wMDAyIDQ4...</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xad:QualifyingProperties xmlns:xad="http://uri.etsi.org/01903/v1.3.2#" Target="#id-6c91671cf270b22ca2e72b009c8bfde4"><xad:SignedProperties Id="xades-id-6c91671cf270b22ca2e72b009c8bfde4"><xad:SignedSignatureProperties><xad:SigningTime>2026-09-15T10:27:40Z</xad:SigningTime><xad:SigningCertificate><xad:Cert><xad:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><ds:DigestValue>dvKAtWkBOHkI5CyXkIrL6iuBpkAbHJeVuSkDnY9BTXFm/RJGLohuM1JHxkYR80ctoo7O+8abBuFWmxOHB1/PWw==</ds:DigestValue></xad:CertDigest><xad:IssuerSerial><ds:X509IssuerName>C=FR,O=LEX PERSONA,2.5.4.97=#0c0f4e545246522d343830363232323537,OU=0002 480622257,CN=Sunnystamp Legal Persons CA (TEST)</ds:X509IssuerName><ds:X509SerialNumber>2879156369818230389</ds:X509SerialNumber></xad:IssuerSerial></xad:Cert></xad:SigningCertificate><xad:SignaturePolicyIdentifier><xad:SignaturePolicyId><xad:SigPolicyId><xad:Identifier Qualifier="OIDAsURN">urn:oid:1.2.250.1.115.200.300.4</xad:Identifier></xad:SigPolicyId><xad:SigPolicyHash><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>lLKFDAaR8NxNtrf1cIlmULQgp1GS+7igKN8p7pqy3G0=</ds:DigestValue></xad:SigPolicyHash><xad:SigPolicyQualifiers><xad:SigPolicyQualifier><xad:SPURI>https://sites.banque-france.fr/igc/signature/ps/ps_1_2_250_1_115_200_300_4.pdf</xad:SPURI></xad:SigPolicyQualifier></xad:SigPolicyQualifiers></xad:SignaturePolicyId></xad:SignaturePolicyIdentifier><xad:SignerRole><xad:ClaimedRoles><xad:ClaimedRole>Finance</xad:ClaimedRole></xad:ClaimedRoles></xad:SignerRole></xad:SignedSignatureProperties><xad:SignedDataObjectProperties><xad:DataObjectFormat ObjectReference="#id-6c91671cf270b22ca2e72b009c8bfde4-1"><xad:MimeType>application/pdf</xad:MimeType></xad:DataObjectFormat></xad:SignedDataObjectProperties></xad:SignedProperties><xad:UnsignedProperties><xad:UnsignedSignatureProperties><xad:SignatureTimeStamp Id="ts-id-28fe18bda3b822208a8f776057dc2bb7c218a193"><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><xad:EncapsulatedTimeStamp Id="ets-id-28fe18bda3b822208a8f776057dc2bb7c218a193">MIITiwYJKoZIhvcNAQcCoIITfDCCE3gCAQMxDTALBglghkgBZQMEAgMwgZoGCyqGSIb3DQEJEAEEoIGKBIGHMIGEAgEBBgorBgEEAYGwDgMBME8wCwYJYIZI...</xad:EncapsulatedTimeStamp></xad:SignatureTimeStamp><xad:CertificateValues><xad:EncapsulatedX509Certificate>MIIFFjCCAv6gAwIBAgIIbsY5xAkSkX4wDQYJKoZIhvcNAQELBQAwYjEgMB4GA1UEAwwXU3VubnlzdGFtcCBSb290IENBIFRFU1QxFzAVBgNVBAsMDjAwMDIg...</xad:EncapsulatedX509Certificate><xad:EncapsulatedX509Certificate>MIIF7jCCA9agAwIBAgIIP8OEn2s6EfQwDQYJKoZIhvcNAQELBQAwYjEgMB4GA1UEAwwXU3VubnlzdGFtcCBSb290IENBIFRFU1QxFzAVBgNVBAsMDjAwMDIg...</xad:EncapsulatedX509Certificate><xad:EncapsulatedX509Certificate>MIIEgDCCA2igAwIBAgIIKLkhbHKSuWowDQYJKoZIhvcNAQELBQAwdzEqMCgGA1UEAwwhU3VubnlzdGFtcCBUcnVzdCBTZXJ2aWNlcyBURVNUIENBMRcwFQYD...</xad:EncapsulatedX509Certificate></xad:CertificateValues><xad:RevocationValues><xad:CRLValues><xad:EncapsulatedCRLValue>MIIC8DCB2QIBATANBgkqhkiG9w0BAQsFADB2MR4wHAYDVQQDDBVTdW5ueXN0YW1wIFJvb3QgQ0EgRzIxFzAVBgNVBAsMDjAwMDIgNDgwNjIyMjU3MRgwFgYD...</xad:EncapsulatedCRLValue><xad:EncapsulatedCRLValue>MIIC3TCBxgIBATANBgkqhkiG9w0BAQsFADBiMSAwHgYDVQQDDBdTdW5ueXN0YW1wIFJvb3QgQ0EgVEVTVDEXMBUGA1UECwwOMDAwMiA0ODA2MjIyNTcxGDAW...</xad:EncapsulatedCRLValue><xad:EncapsulatedCRLValue>MIIB8jCB2wIBATANBgkqhkiG9w0BAQsFADB3MSowKAYDVQQDDCFTdW5ueXN0YW1wIFRydXN0IFNlcnZpY2VzIFRFU1QgQ0ExFzAVBgNVBAsMDjAwMDIgNDgw...</xad:EncapsulatedCRLValue><xad:EncapsulatedCRLValue>MIIC/zCB6AIBATANBgkqhkiG9w0BAQ0FADCBgzErMCkGA1UEAwwiU3VubnlzdGFtcCBMZWdhbCBQZXJzb25zIENBIChURVNUKTEXMBUGA1UECwwOMDAwMiA0...</xad:EncapsulatedCRLValue></xad:CRLValues></xad:RevocationValues></xad:UnsignedSignatureProperties></xad:UnsignedProperties></xad:QualifyingProperties></ds:Object></ds:Signature>

