Um de nossos parceiros de negócios está solicitando que usemos um certificado TLS SHA256 para conectar-se às suas APIs. Não tenho certeza de como gerar esses pedidos. Eu usei o openssl no passado para criar essas solicitações, mas ele gerou um certificado SSL usando SHa1. Posso usar o openssl para gerar esta solicitação? Caso contrário, como faço para gerar o que eles estão pedindo?
Como não sou especialista neste campo, nem sei se o que estou pedindo faz sentido.
Respostas:
Hash CSR e hash cert não relacionados
O tipo de hash na solicitação e no certificado real não está relacionado um ao outro.
A CA verifica a assinatura no CSR. Dessa forma, a CA pode verificar se o CSR não foi alterado em trânsito. Isso é tudo que a assinatura no CSR faz.
Não existe uma maneira oficial (ou mesmo semi-oficial) dentro da banda de dizer a uma CA o hash que você deseja. Em vez disso, uma empresa de CA pode executar várias CAs, uma das quais usa exclusivamente o SHA256. E se você quiser o SHA256, envie seu CSR no site dessa CA específica do SHA256 somente. (E não no site da SHA1-CA).
O que geralmente é teorizado é algo como isto: "Se eu enviar um CSR assinado com o SHA1, meu certificado será assinado com o SHA1". Isso geralmente não é feito. ( A única autoridade de certificação que conheço costumava fazer isso há algum tempo era o Gandi.net .)
Como assinar um CSR com SHA256
Dito isto, use o
-sha256
parâmetro para assinar seu CSR com SHA256 da seguinte maneira:Como verificar o tipo de hash de um CSR
E é assim que você descobre o tipo de hash do seu CSR:
Boa. Está usando o SHA256 exatamente como queríamos.
fonte
Se você estiver usando o OpenSSL, poderá simplesmente adicionar a
-sha256
opção de linha de comando, que irá gerar o CSR com o algoritmo de assinatura SHA-256.fonte