Como criar uma solicitação de certificado TLS SHA256


10

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.

tls  openssl 

Seria divertido para mim se você fosse uma das 12 pessoas que eu tinha que dizer hoje para voltar com um SHA256 CSR em vez de SHA1.
Hyppy

@Hyppy eu espero que você ainda encontrá-lo divertido, no final do ano :)
Maarten Bodewes

Respostas:


12

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 -sha256parâmetro para assinar seu CSR com SHA256 da seguinte maneira:

openssl req -new -newkey rsa: 2048 -nodes -sha256 -out www.example.com.sha256.csr -keyout www.example.com.key -subj "/ C = US / ST = ExampleState / L = ExampleLocation / O = ExampleOrganisation / CN = www.example.com "

Como verificar o tipo de hash de um CSR
E é assim que você descobre o tipo de hash do seu CSR:

$ openssl req -in www.example.com.sha256.csr -noout -text | grep Signature  
    Signature Algorithm: sha256WithRSAEncryption

Boa. Está usando o SHA256 exatamente como queríamos.


5

Se você estiver usando o OpenSSL, poderá simplesmente adicionar a -sha256opção de linha de comando, que irá gerar o CSR com o algoritmo de assinatura SHA-256.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.