- Problème : utilisation d’un certificat auto-signé ou émis par une autorité de certification non approuvée.
Solution : utilisez un certificat SSL émis par une autorité de certification publique pour le serveur de rappel de webhook.
Nouveautés
Commencer
Administration
Envoi, signature et gestion des accords
Fonctionnalités et workflows d’accord avancés
Intégration à d’autres produits
Développeur Acrobat Sign
Assistance et dépannage
Le protocole SSL bidirectionnel, souvent appelé SSL côté client ou TLS mutuel, est un mode de protocole SSL dans lequel le serveur et le client (navigateur web) présentent tous deux des certificats pour s’identifier.
Les administrateurs de compte peuvent configurer un certificat côté client dans la page Paramètres de sécurité.
Acrobat Sign vérifie les certificats SSL lors de la remise des payloads à l’URL du webhook. Les webhooks qui échouent à la vérification des certificats SSL ne remettent pas correctement la payload JSON.
Utilisez le protocole SSL bidirectionnel pour authentifier le client (Acrobat Sign) et le service d’écoute afin de vous assurer que seul Acrobat Sign peut accéder à l’URL du webhook.
Si le webhook a été créé par une application partenaire, il utilise un certificat client (le cas échéant) du compte de l’application partenaire pour s’identifier lors des envois de notifications du webhook.
Vous trouverez ci-dessous les questions les plus courantes concernant le processus de vérification du serveur web et la vérification de la certification du client.
Lors de l’enregistrement d’un webhook, Acrobat Sign vérifie l’URL du serveur webhook.
Les clients ne peuvent pas enregistrer le webhook si la connexion à l’URL de rappel du webhook ne peut pas être établie à partir d’Acrobat Sign.
Non.
L’URL de rappel de webhook ne peut être que HTTPS sur le port 443 ou 8443.
Acrobat Sign bloque le trafic HTTPS sortant vers tous les autres ports.
Un bon moyen de vérifier le certificat du serveur consiste à utiliser DigiCert® SSL Installation Diagnostics Tool.
Saisissez uniquement le nom d’hôte (par exemple, www.digicert.com).
Les problèmes courants sont les suivants :
Solution : utilisez un certificat SSL émis par une autorité de certification publique pour le serveur de rappel de webhook.
Solution : installez les certificats intermédiaires sur le serveur de rappel de webhook.
Pour en savoir plus, consultez le site https://www.digicert.com/kb/ssl-certificate-installation.htm.
Pour configurer un protocole SSL bidirectionnel pour un webhook, nous demandons à l’administrateur de charger un fichier .p12 (ou .pfx) contenant la clé privée. Le fichier est stocké de manière sécurisée dans le compte client, et l’administrateur a la possibilité de le supprimer à tout moment.
Dans une configuration de webhook bidirectionnel, Acrobat Sign est l’appelant/le client et a besoin de la clé privée pour prouver que l’appel est effectué par Acrobat Sign pour le compte du client.
Vérifiez que le protocole SSL bidirectionnel est activé
Le protocole SSL bidirectionnel doit être activé sur le serveur de rappel de webhook.
À l’aide d’un navigateur web, connectez-vous à l’URL de rappel de webhook. Vous devez obtenir :
400 Bad Request No required SSL certificate sent
Cela signifie que le serveur attend du client qu’il envoie des certificats clients (c.-à-d. : le protocole SSL bidirectionnel est activé pour le serveur).
Si vous ne voyez pas le message ci-dessus, alors le protocole SSL bidirectionnel n’est pas activé.
Vous pouvez utiliser Postman et effectuer une requête POST vers l’URL de rappel de webhook. Vous devez obtenir un résultat similaire.
Les informations d’identification du client peuvent être un certificat auto-signé ou un certificat émis par une autorité de certification. Toutefois, il doit être conforme au minimum aux extensions X.509 v3 suivantes :
Extension X.509 v3 |
Valeur |
---|---|
ExtendedKeyUsage |
clientAuth (OID: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
Le certificat client doit être un fichier PKCS12 avec l’extension .p12 ou .pfx. Il doit inclure à la fois le certificat client (afin que le serveur puisse vérifier l’identité du client) et la clé privée du client (afin que le client puisse signer numériquement les messages pour que le serveur les vérifie pendant la négociation SSL).
Utilisez la commande openssl pour vérifier le fichier p12 (pfx) :
openssl pkcs12 -info -in outfile.p12
La phrase secrète de la clé privée doit être demandée. La sortie doit contenir à la fois des certificats et une clé privée chiffrée :
Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB subject=/C=US/ST=California/L=San Jose/O=Adobe Inc./CN=sp.adobesignpreview.com issuer=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 -----BEGIN CERTIFICATE----- MIIGwDCCBaigAwIBAgIQAhJSKDdyQZjlbYO5MJAYOTANBgkqhkiG9w0BAQsFADBP MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE ... JAKQLQ== -----END CERTIFICATE----- Bag Attributes: <No Attributes> subject=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA -----BEGIN CERTIFICATE----- MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 ... -----END CERTIFICATE----- Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB Key Attributes: <No Attributes> -----BEGIN ENCRYPTED PRIVATE KEY----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI7eNh2qlsLPkCAggA ... FHE= -----END ENCRYPTED PRIVATE KEY-----
Les certificats doivent inclure au minimum le certificat d’entité finale et les certificats intermédiaires. Idéalement, il doit inclure également le certificat d’autorité de certification racine.
Assurez-vous que le fichier .p12 ou .pfx est protégé par une phrase secrète.
Créez un certificat client auto-signé (facultatif)
Les certificats clients peuvent être émis par une autorité de certification ou auto-signés, selon vos besoins.
Pour générer un certificat client auto-signé, utilisez la commande openssl suivante :
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
Gardez les fichiers obtenus secrets, car il s’agit de vos certificats d’autorité de certification auto-signés.
Ensuite, générez le fichier client .p12 :
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.req
openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer
openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
rm client.key client.cer client.req
Une fois la configuration effectuée, envoyez une requête POST à l’URL de rappel de webhook.
Vous devez recevoir une réponse 200.
Pourquoi l’application Acrobat Sign refuse-t-elle mon fichier PFX même après que je l’ai vérifié avec Postman ?
Si vous avez suivi le processus de vérification de fichier pfx ci-dessus et qu’Acrobat Sign rejette toujours le fichier pfx, il est probable que le fichier ait été généré par un outil Microsoft pouvant produire un fichier PKCS12 non standard.
Dans ce cas, utilisez les commandes openssl ci-dessous pour extraire les certificats et la clé privée du fichier pfx, puis générez un fichier PKCS12 correctement formaté :
// Extract certificates and private key from pfx file openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.crt -nokeys openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.key -nodes -nocerts // Create new PKCS12 file openssl pkcs12 -export -inkey clientcert.key -in clientcert.crt -out clientcert.pfx