- Problema: usar uma autoridade de certificação não confiável ou um certificado autoassinado
Correção: use um certificado SSL emitido por uma CA pública para o servidor de retorno de chamada do webhook.
Novidades
Introdução
Administrar
Enviar, assinar e gerenciar contratos
Recursos e fluxos de trabalho avançados de contratos
Integrar a outros produtos
Acrobat Sign Developer
Suporte e solução de problemas
O SSL bidirecional, geralmente chamado de SSL do lado do cliente ou TLS mútuo, é um modo de SSL no qual o servidor e o cliente (navegador da Web) apresentam certificados para se identificarem.
Os administradores de conta podem configurar um certificado do lado do cliente na página Configurações de segurança.
O Acrobat Sign verifica os certificados SSL ao fornecer cargas para o URL do webhook. Os webhooks que falharem na verificação de certificado SSL não entregarão a carga JSON com sucesso.
Use o SSL bidirecional para autenticar o cliente (Acrobat Sign) e o serviço de escuta para garantir que apenas o Acrobat Sign possa acessar o URL do webhook.
Se o webhook foi criado por um Aplicativo de parceiro, ele usará um certificado de cliente (se disponível) da Conta de aplicativo do parceiro para se identificar ao fazer chamadas de retorno do webhook.
Veja a seguir as perguntas mais comuns sobre o processo de verificação do servidor Web e a verificação da certificação do cliente.
Durante o registro de um webhook, o Acrobat Sign verifica o URL do servidor do webhook.
Os clientes não poderão registrar o webhook se a conexão com o URL de retorno de chamada do webhook não puder ser concluída no Acrobat Sign.
Não.
O URL de retorno de chamada do webhook só pode ser HTTPS na porta 443 ou 8443.
O Acrobat Sign bloqueia o tráfego HTTPS de saída para todas as outras portas.
Uma boa maneira de verificar o certificado do servidor é usar a Ferramenta de diagnóstico de instalação DigiCert® SSL.
Insira apenas o nome do host, por exemplo: www.digicert.com
Problemas comuns incluem:
Correção: use um certificado SSL emitido por uma CA pública para o servidor de retorno de chamada do webhook.
Correção: instale os certificados intermediários no servidor de retorno de chamada do webhook.
Consulte https://www.digicert.com/kb/ssl-certificate-installation.htm para obter informações detalhadas.
Para configurar um SSL bidirecional para um webhook, exigimos que o administrador faça upload de um arquivo .p12 (ou .pfx) que contenha a chave privada. O arquivo é armazenado com segurança na conta do cliente e o administrador tem controle total para removê-lo a qualquer momento.
Em uma configuração de webhook bidirecional, o Acrobat Sign é o chamador/cliente e precisa da chave privada para provar que a chamada é feita pelo Acrobat Sign em nome da conta do cliente.
Verifique se o SSL bidirecional está habilitado
O SSL bidirecional deve estar habilitado no servidor de retorno de chamada do webhook.
Usando qualquer navegador da Web, conecte-se ao URL de retorno de chamada do webhook. Você deve obter:
400 Solicitação inválida Nenhum certificado SSL foi enviado
Isso significa que o servidor espera que o cliente envie certificados de cliente (ou seja, SSL bidirecional habilitado para o servidor).
Se você não vir a mensagem acima, o SSL bidirecional não está ativado.
Você pode usar o Postman e fazer uma solicitação POST para o URL de retorno de chamada do webhook. Você deve obter um resultado semelhante.
A credencial do cliente pode ser um certificado autoassinado ou um certificado emitido por uma autoridade de certificação. No entanto, ele deve estar em conformidade com as seguintes extensões X.509 v3:
Extensão X.509 v3 |
Valor |
---|---|
ExtendedKeyUsage |
clientAuth (OID: 1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
O certificado do cliente deve ser um arquivo PKCS12 com a extensão .p12 ou .pfx e deve incluir ambos os certificados do cliente (para que o servidor possa verificar a identidade do cliente) e a chave privada do cliente (para que o cliente possa assinar digitalmente mensagens para que o servidor verifique durante o handshake SSL).
Use o comando openssl para verificar o arquivo p12 (pfx):
openssl pkcs12 -info -in outfile.p12
A senha da chave privada deve ser solicitada. A saída deve conter ambos os certificados, bem como uma chave privada criptografada, como:
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-----
Os certificados devem incluir, no mínimo, o certificado da entidade final e os certificados intermédios. O ideal é incluir também o certificado da CA raiz.
Verifique se o arquivo .p12 ou .pfx está protegido por senha.
Criar um certificado de cliente autoassinado (opcional)
Os certificados do cliente podem ser emitidos por uma autoridade de certificação ou autoassinados, dependendo da sua necessidade.
Para gerar um certificado de cliente autoassinado, use o seguinte comando openssl:
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
Mantenha os arquivos resultantes em segredo, pois eles são seus certificados da CA autoassinados.
Em seguida, gere o arquivo .p12 do cliente:
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
Depois de configurado, envie uma solicitação POST para o URL de retorno de chamada do webhook.
Você deve obter uma resposta 200.
Por que o Acrobat Sign rejeita meu arquivo PFX mesmo depois de verificá-lo com o Postman?
Se você seguiu o processo acima para a verificação do arquivo pfx e o Acrobat Sign ainda rejeita o arquivo pfx, é provável que o arquivo tenha sido gerado por uma ferramenta da Microsoft que pode produzir um arquivo PKCS12 não padrão.
Nesse caso, use os comandos openssl abaixo para extrair os certificados e a chave privada do arquivo pfx e, em seguida, gere um arquivo PKCS12 formatado corretamente:
// Extrair certificados e chave privada do arquivo .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 // Criar novo arquivo PKCS12 openssl pkcs12 -export -inkey clientcert.key -in clientcert.crt -out clientcert.pfx