- Проблема: использование ненадежного ЦС или самозаверяющего сертификата
Решение: использовать общий сертификат SSL, выданный ЦС, для сервера обратного вызова веб-перехватчика.
Руководство пользователя Adobe Acrobat Sign
Новые возможности
Начало работы
Администрирование
Отправка, подписание соглашений и управление ими
Расширенные возможности и рабочие процессы для работы с соглашениями
Интеграция с другими продуктами
Разработчик Acrobat Sign
Поддержка и устранение неполадок
Двусторонний протокол SSL, часто называемый Client-Side SSL или взаимный TLS, — это такой протокол SSL, в котором как сервер, так и клиент (веб-браузер) для своей идентификации представляют сертификаты.
Администраторы учетных записей могут настроить сертификат на стороне клиента на странице Параметры безопасности.
Acrobat Sign проверяет сертификаты SSL при доставке полезных данных на URL-адрес веб-перехватчика Веб-перехватчики, не выполнившие проверку сертификата SSL, не могут успешно доставлять полезные данные JSON.
Используйте двусторонний протокол SSL для аутентификации клиента (Acrobat Sign) и службы прослушивания, чтобы гарантировать, что только Acrobat Sign сможет получить доступ к URL-адресу веб-перехватчика.
Если веб-перехватчик создан партнерским приложением, при создании обратных вызовов он будет использовать для идентификации клиентский сертификат (если имеется) из учетной записи партнерского приложения.
Ниже приведены наиболее распространенные вопросы как для процесса проверки веб-сервера, так и для проверки сертификации клиента.
Во время регистрации веб-перехватчика Acrobat Sign проверяет URL-адрес сервера веб-перехватчика.
Клиенты не смогут зарегистрировать веб-перехватчик, если подключение к URL-адресу обратного вызова веб-перехватчика не может быть выполнено из Acrobat Sign.
Нет.
В качестве URL-адреса обратного вызова веб-перехватчика допускается только HTTPS на порте 443 или 8443.
Acrobat Sign блокирует исходящий трафик HTTPS на все другие порты.
Для проверки сертификата рекомендуется использовать Инструмент DigiCert® для диагностики установки SSL.
Введите только имя узла, например: www.digicert.com
Наиболее распространенные проблемы:
Решение: использовать общий сертификат SSL, выданный ЦС, для сервера обратного вызова веб-перехватчика.
Решение: установить промежуточные сертификаты на сервере обратного вызова веб-перехватчика.
См. https://www.digicert.com/kb/ssl-certificate-installation.htm для получения подробной информации.
Чтобы настроить двусторонний SSL для веб-перехватчика, администратор должен загрузить файл .p12 (или .pfx), содержащий секретный ключ. Файл надежно хранится в учетной записи клиента, и администратор имеет полный контроль, чтобы удалить его в любое время.
В двусторонней настройке веб-перехватчика Acrobat Sign является вызывающей стороной/клиентом, и ему требуется секретный ключ, чтобы подтвердить, что вызов выполняется с помощью Acrobat Sign от имени учетной записи клиента.
Проверить включение двустороннего SSL
Двусторонний SSL должен быть включен на сервере обратного вызова веб-перехватчика.
При помощи любого веб-браузера подключитесь к URL-адресу обратного вызова веб-перехватчика. Ожидаемый результат:
400, неверный запрос Требуемый сертификат SSL не отправлен
Это означает, что сервер ожидает, что клиент отправит сертификаты клиента (т.е. для сервера включен двусторонний SSL).
Если вы не видите приведенное выше сообщение, двусторонний SSL не включен.
Можно использовать Postman и выполнить запрос POST по URL-адресу обратного вызова веб-перехватчика. В этом случае должен быть получен аналогичный результат.
Учетные данные клиента могут быть либо самозаверяющим сертификатом, либо сертификатом, выданным ЦС. Однако они должны как минимум соответствовать следующим расширениям X.509 v3:
Расширение X.509 v3 |
Значение |
---|---|
ExtendedKeyUsage |
clientAuth (идентификатор объекта: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
Сертификат клиента должен являться файлом PKCS12 с расширением .p12 или .pfx и должен включать как сертификат клиента (чтобы сервер мог проверить личность клиента), так и секретный ключ клиента (чтобы клиент мог подписывать сообщения цифровой подписью для проверки сервером во время рукопожатия SSL).
Использовать команду openssl для проверки файла p12 (pfx):
openssl pkcs12 -info -in outfile.p12
Следует запросить кодовую фразу для секретного ключа. Выходные данные должны содержать оба сертификата, а также зашифрованный секретный ключ, например:
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-----
Сертификаты должны как минимум включать сертификат конечного субъекта и промежуточные сертификаты. В идеальном случае он также должен включать корневой сертификат ЦС.
Убедитесь, что файл .p12 или .pfx защищен кодовой фразой.
Создайте самозаверяющий сертификат клиента (необязательно)
Сертификаты клиента могут быть выданы ЦС или быть самозаверяющими, в зависимости от конкретных потребностей.
Чтобы создать самозаверяющий сертификат клиента, используйте следующий команду openssl:
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
Соблюдайте конфиденциальность полученных файлов, так как это ваши самозаверяющие сертификаты ЦС.
Затем создайте клиентский файл .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
После настройки отправьте запрос POST на URL-адрес обратного вызова веб-перехватчика.
Должен быть получен ответ 200 .
Почему Acrobat Sign отклоняет файл PFX даже после его проверки с помощью Postman?
Если вы следовали описанному выше процессу проверки файла pfx, но Acrobat Sign по-прежнему отклоняет файл pfx, вероятно, файл был создан с помощью инструмента Microsoft, который может формировать нестандартный файл PKCS12.
В этом случае используйте приведенные ниже команды openssl для извлечения сертификатов и секретного ключа из файла pfx, а затем создайте правильно отформатированный файл 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