- Problém: Použití nedůvěryhodné certifikační autority nebo certifikát s vlastním podpisem
Náprava: Pro server zpětného volání webhooku použijte certifikát SSL vydaný veřejnou certifikační autoritou.
Příručka služby Adobe Acrobat Sign
Co je nového
Začínáme
Správa
Odesílání, podepisování a správa dohod
Rozšířené možnosti a pracovní postupy dohod
Integrace s jinými produkty
Vývojář služby Acrobat Sign
Podpora a řešení problémů
Obousměrný protokol SSL, často označovaný jako protokol SSL nebo oboustranný protokol TLS na straně klienta, je režim protokolu SSL, v němž server i klient (webový prohlížeč) předkládají certifikáty pro svou identifikaci.
Správci účtu mohou konfigurovat certifikát na straně klienta na stránce Nastavení zabezpečení.
Služba Acrobat Sign ověřuje certifikáty SSL při doručování datových částí na adresu URL webhooku. Webhooky, které neuspějí při ověřování certifikátu SSL, nedoručí datovou část JSON úspěšně.
K ověření klienta (Acrobat Sign) a naslouchající služby použijte obousměrný protokol SSL, abyste zajistili, že přístup k adrese URL webhooku získá pouze služba Acrobat Sign.
Pokud byl webhook vytvořen partnerskou aplikací, použije ke své identifikaci při odesílání oznámení webhooku klientský certifikát (je-li k dispozici) z účtu partnerské aplikace.
Níže jsou nejčastější otázky týkající procesu ověřování webového serveru a ověřování certifikace klienta.
Během registrace webhooku služba Acrobat Sign ověřuje adresu URL serveru webhooku.
Zákazníci nebudou moci webhook zaregistrovat, pokud nelze ze služby Acrobat Sign dokončit zpětné volání adresy URL webhooku.
bez.
Adresa URL pro zpětné volání webhooku může být pouze typu HTTPS na portu 443 nebo 8443.
Služba Acrobat Sign blokuje odchozí datové přenosy HTTPS do všech ostatních portů.
Dobrý způsob, jak ověřit certifikát serveru, je použít nástroj DigiCert® SSL Installation Diagnostics Tool.
Stačí zadat pouze název hostitele, např.: www.digicert.com
K běžným problémům patří:
Náprava: Pro server zpětného volání webhooku použijte certifikát SSL vydaný veřejnou certifikační autoritou.
Náprava: Nainstalujte zprostředkující certifikáty na server zpětného volání webhooku.
Viz webová stránka https://www.digicert.com/kb/ssl-certificate-installation.htm, kde najdete podrobné informace.
Aby bylo možné nastavit obousměrný protokol SSL pro webhook, vyžadujeme aby správce nahrál soubor .p12 (nebo .pfx), který obsahuje pouze soukromý klíč. Soubor je bezpečně uložen v účtu zákazníka a správce má nad ním plnou kontrolu a může jej kdykoli odebrat.
V konfiguraci obousměrného webhooku je služba Acrobat Sign volající/klient a potřebuje soukromý klíč jako důkaz, že volání pochází ze služby Acrobat Sign jménem účtu zákazníka.
Ověření, že je povolený obousměrný protokol SSL
Na serveru zpětného volání webhooku musí být povolený obousměrný protokol SSL.
Pomocí libovolného webového prohlížeče se připojte k adrese URL zpětného volání webhooku. Měla by se zobrazit zpráva:
400 Špatný požadavek Nebyl odeslán požadovaný certifikát SSL
To znamená, že server očekává od klienta zaslání klientských certifikátů (tj. na serveru je povolený obousměrný protokol SSL).
Pokud se vám výše uvedená zpráva nezobrazí, pak obousměrný protokol SSL povolený není.
K vyžádání adresy URL zpětného volání webhooku můžete použít aplikaci Postman a provést požadavek POST. Výsledek by měl být podobný.
Ověřovací údaje klienta může tvořit buď certifikát s vlastním podpisem, nebo certifikát vydaný certifikační autoritou. Musí však splňovat minimálně tyto přípony X.509 v3:
přípona X.509 v3 |
Hodnota |
---|---|
ExtendedKeyUsage |
clientAuth (OID: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
Klientský certifikát musí být soubor PKCS12 s příponou .p12 nebo .pfx, a musí obsahovat jak klientský certifikát (aby mohl server ověřit identitu klienta), tak klientův soukromý klíč (aby mohl klient digitálně podepisovat zprávy pro server pro účely ověření během procesu SSL handshake).
Použijte příkaz openssl k ověření souboru p12 (pfx):
openssl pkcs12 -info -in outfile.p12
Mělo by být vyžádáno heslo pro soukromý klíč. Výstup by měl obsahovat oba certifikáty i šifrovaný soukromý klíč, jako je například:
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-----
Certifikáty by měly obsahovat přinejmenším certifikát koncového subjektu a zprostředkující certifikáty. V ideálním případě budou zahrnovat také certifikát kořenové certifikační autority.
Ujistěte se, že je soubor .p12 nebo .pfx chráněn heslem.
Vytvořte klientský certifikát s vlastním podpisem (volitelné)
Klientské certifikáty mohou být vydané certifikační autoritou nebo certifikáty s vlastním podpisem, podle vašich potřeb.
Chcete-li generovat klientský certifikát s vlastním podpisem, použijte následující příkaz openssl :
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
Výsledné soubory uchovávejte v tajnosti, protože se jedná o vaše certifikáty certifikační autority (CA) s vlastním podpisem.
V dalším kroku vygenerujte klientský soubor .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
Jakmile je konfigurace hotova, odešlete požadavek POST na adresu URL zpětného volání webhooku.
Měli byste dostat odpověď 200.
Proč služba Acrobat Sign odmítá můj soubor PFX i po ověření pomocí aplikace Postman?
Pokud jste dodrželi výše uvedený proces ověření souboru pfx a služba Acrobat Sign přesto odmítá soubor pfx, byl pravděpodobně generován pomocí nástroje Microsoft, který může vytvořit nestandardní soubor PKCS12.
V takovém případě použijte níže uvedené příkazy openssl k extrahování certifikátů a soukromého klíče ze souboru pfx a poté vygenerujte správně naformátovaný soubor PKCS12:
// Extrahujte certifikáty a soukromý klíč ze souboru pfx 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 // Vytvořte nový soubor PKCS12 openssl pkcs12 -export -inkey clientcert.key -in clientcert.crt -out clientcert.pfx