- Problem: Korzystanie z niezaufanego urzędu certyfikacji lub z certyfikatu podpisywanego automatycznie
Rozwiązanie: Użyj certyfikatu SSL wystawionego przez publiczny urząd certyfikacji dla serwera wywołania zwrotnego elementu webhook.
Nowości
Pierwsze kroki
Administrowanie
Wysyłanie i podpisywanie umów oraz zarządzanie nimi
Zaawansowane możliwości umów i obiegów pracy
Integracja z innymi produktami
Programista Acrobat Sign
Pomoc techniczna i rozwiązywanie problemów
Dwukierunkowy protokół SSL, często określany nazwą „Client-Side SSL” lub „wspólny TLS”, to tryb protokołu SSL, w którym zarówno serwer, jak i klient (przeglądarka internetowa) przedstawiają certyfikaty w celu wzajemnej identyfikacji.
Administratorzy kont mogą skonfigurować certyfikat po stronie klienta na stronie Ustawienia zabezpieczeń.
Program Acrobat Sign weryfikuje certyfikaty SSL podczas dostarczania ładunków do adresu URL elementu webhook. Elementy webhook, które nie przejdą pomyślnie weryfikacji certyfikatu SSL, nie będą w stanie dostarczyć ładunku JSON.
Użyj dwukierunkowego protokołu SSL, aby uwierzytelnić klienta (Acrobat Sign) i usługę nasłuchiwania, aby zapewnić, że tylko Acrobat Sign może dotrzeć do adresu URL elementu webhook.
Jeśli element webhook został utworzony przez aplikację partnerską, będzie on używał certyfikatu klienta (jeśli jest dostępny) z konta aplikacji partnerskiej w celu identyfikacji podczas wysyłania powiadomień dotyczących elementów webhook.
Poniżej przedstawiono najczęściej zadawane pytania dotyczące procesu weryfikacji serwera internetowego i weryfikacji certyfikacji klienta.
Podczas rejestracji elementu webhook aplikacja Acrobat Sign weryfikuje adres URL serwera elementu webhook.
Klienci nie będą w stanie zarejestrować elementu webhook, jeśli nie będzie można nawiązać połączenia z adresem URL wywołania zwrotnego elementu webhook z poziomu aplikacji Acrobat Sign.
Nie.
Adres URL wywołania zwrotnego elementu webhook może być tylko adresem HTTPS na porcie 443 lub 8443.
Acrobat Sign blokuje wychodzący ruch HTTPS do wszystkich innych portów.
Dobrym sposobem sprawdzenia certyfikatu serwera jest użycie narzędzia DigiCert® SSL Installation Diagnostics Tool.
Wprowadź tylko nazwę hosta, np. www.digicert.com
Typowe problemy:
Rozwiązanie: Użyj certyfikatu SSL wystawionego przez publiczny urząd certyfikacji dla serwera wywołania zwrotnego elementu webhook.
Rozwiązanie: Zainstaluj certyfikaty pośrednie na serwerze wywołania zwrotnego elementu webhook.
Szczegółowe informacje: https://www.digicert.com/kb/ssl-certificate-installation.htm.
Aby skonfigurować dwukierunkowy protokół SSL dla elementu webhook, administrator musi przesłać plik .p12 (lub .pfx) zawierający klucz prywatny. Plik jest przechowywany bezpiecznie na koncie klienta, a administrator ma pełną kontrolę i może go usunąć w dowolnym momencie.
W konfiguracji dwukierunkowego elementu webhook Acrobat Sign jest rozmówcą/klientem i wymaga klucza prywatnego w celu udowodnienia, że połączenie zostało wykonane przez aplikację Acrobat Sign w imieniu konta klienta.
Sprawdź, czy jest włączony dwukierunkowy protokół SSL
Na serwerze wywołania zwrotnego elementu webhook musi być włączony dwukierunkowy protokół SSL.
Przy użyciu dowolnej przeglądarki sieci Web połącz się z adresem URL wywołania zwrotnego elementu webhook. Powinien wyświetlić się następujący komunikat:
400 Błędne żądanie Nie wysłano wymaganego certyfikatu SSL
Oznacza to, że serwer oczekuje od klienta wysłania certyfikatów klienta (tj. dla serwera jest włączony dwukierunkowy protokół SSL).
Jeśli powyższy komunikat nie jest widoczny, dwukierunkowy protokół SSL nie jest włączony.
Można użyć usługi Postman i zrealizować żądanie POST dla adresu URL wywołania zwrotnego elementu webhook. Uzyskany wynik powinien być podobny.
Poświadczenie klienta może stanowić certyfikat podpisany automatycznie lub certyfikat wystawionym przez urząd certyfikacji. Jednak musi on być minimalnie zgodny z następującymi rozszerzeniami X.509 v3:
Rozszerzenie X.509 v3 |
Wartość |
---|---|
ExtendedKeyUsage |
clientAuth (OID: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
Certyfikat klienta musi być plikiem PKCS12 z rozszerzeniem .p12 lub .pfx i musi zawierać zarówno certyfikat klienta (aby serwer mógł zweryfikować tożsamość klienta), jak i klucz prywatny klienta (aby klient mógł cyfrowo podpisywać wiadomości dla serwera w celu weryfikacji podczas uzgadniania SSL).
Użyj polecenia opensslw celu zweryfikowania pliku p12 (pfx):
openssl pkcs12 -info -in outfile.p12
Należy zażądać hasła dla klucza prywatnego. Dane wyjściowe powinny zawierać zarówno certyfikaty, jak i zaszyfrowany klucz prywatny, np:
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-----
Certyfikaty powinny obejmować co najmniej certyfikat podmiotu końcowego i certyfikaty pośrednie. Najlepiej, aby był również ujęty certyfikat głównego urzędu certyfikacji.
Plik .p12 lub .pfx musi być chroniony hasłem.
Utwórz automatycznie podpisywany certyfikat klienta (opcjonalnie)
W zależności od potrzeb certyfikaty klienta mogą być wystawiane przez urząd certyfikacji lub podpisywane automatycznie.
Aby wygenerować automatycznie podpisywany certyfikat klienta, użyj następującego polecenia openssl:
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
Pliki wynikowe należy przechowywać jako tajne, ponieważ stanowią one automatycznie podpisywane certyfikaty urzędu certyfikacji.
Następnie wygeneruj plik .p12 klienta:
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
Po skonfigurowaniu wyślij żądanie POST na adres URL wywołania zwrotnego elementu webhook.
Powinna zostać zwrócona odpowiedź 200.
Dlaczego aplikacja Acrobat Sign odrzuca mój plik PFX nawet po zweryfikowaniu go w usłudze Postman?
Jeśli po zrealizowaniu powyższego procesu weryfikacji pliku pfx usługa Acrobat Sign nadal odrzuca ten plik, prawdopodobnie został wygenerowany za pomocą narzędzia firmy Microsoft, które może wygenerować niestandardowy plik PKCS12.
W takim przypadku użyj poniższych poleceń openssl, aby wyodrębnić certyfikaty i klucz prywatny z pliku pfx, a następnie wygeneruj poprawnie sformatowany plik PKCS12:
// 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