2016-09-26 27 views
1

У меня есть конфигурация подключения Docusign Connect к конечной точке API с опцией Подписать сообщение с сертификатом X509.Как проверить цифровую подпись на уровне Apache?

Какие конфигурации требуются на уровне Apache (Directory) для проверки цифровой подписи, которая отправляется вместе с Docusign Payload.

Я попытался положить

SSLVerifyClient требуют

на уровне каталогов. Он по-прежнему разрешает запрос, когда я снимаю галочку с сообщения с сертификатом X509.

Я хочу только те, которые разрешены, которые имеют действительную подпись. У меня есть открытый ключ, предоставленный Docusign для экземпляров DEMO.

Пожалуйста, помогите мне установить правильную конфигурацию для отклонения неподписанного запроса или запроса с измененной подписью.

ответ

0

Если вы хотите разрешать запросы только от DocuSign с Apache, вы должны использовать Mutual TLS вместо проверки подлинности.

Правильная проверка подписи может быть выполнена только с некоторым кодом за Apache.

Mutual TLS потребует проверки подлинности сертификата, чтобы иметь возможность пройти SSL Handcheck, это то, что вы пытались достичь с SSLVerifyClient

Итак, это то, что вы должны сделать

  1. Включить Mutual TLS в Подключение конфигурации
  2. настройка ваш апач с чем-то вроде

    SSLCACertificateFile /path/to/ca-bundle 
    SSLVerifyClient require 
    SSLVerifyDepth 3 
    SSLRequire %{SSL_CLIENT_S_DN_CN} eq "demo.connect.docusign.net" 
    

DocuSign Connect сертификат: https://trust.docusign.com/en-us/trust-certifications/docusign-public-certificates/

Проверил: https://httpd.apache.org/docs/2.4/en/mod/mod_ssl.html быть более точным с SSLRequire или экспликации о SSLCACertificateFile