É possível assinar uma mensagem com um certificado SSL para um site?

1

Eu quero levar o certificado SSL do meu site e assinar uma mensagem para que outra pessoa possa levar o certificado SSL do meu site e a minha mensagem e verificar se ela foi assinada usando o meu certificado.

Como posso assinar uma mensagem usando meu certificado de site SSL?

    
por toddmo 10.05.2018 / 20:54

1 resposta

1

Isso acabou sendo direto. O crédito vai para o link . Eu apenas reescrevi para novatos como eu.

Digamos que o site seja example.com

Windows

Obtendo seu certificado

Se você estiver no lado da assinatura, você controla seu certificado. Você pode seguir as boas instruções em: link

Isso fornecerá sua chave privada e o certificado necessário para as etapas a seguir.

Se você está apenas no lado da verificação, pode clicar na fechadura ao lado do endereço da web em seu navegador, visualizar o certificado e exportá-lo para um arquivo crt ou cer. O nome do arquivo não é importante, mas domain.crt é um bom nome.

Instalar o openssl

Instale o openssl. Eu usei o link referido a mim por link . Extraia-o em uma pasta de instalação do openssl. Vou chamar isso de pasta openssl.

Executa o openssl

apenas vá para a pasta openssl, digite openssl e pressione enter. Agora você está em um prompt openssl .

Assinar

Você precisa da sua chave privada. Parece assim:

-----BEGIN RSA PRIVATE KEY-----
(bunch of base64 text)==
-----END RSA PRIVATE KEY-----

Salve em example.key , por exemplo. Mas o nome do arquivo não é importante, apenas é útil.

Em seguida, salve uma mensagem em um arquivo chamado message.txt . Pode estar vazio. E o nome do arquivo não é importante.

Em seguida, na sua pasta openssl (onde você extraiu os binários), execute

dgst -sha256 -sign example.key -out signature.txt message.txt

usa a mensagem e a chave para produzir a assinatura.

mensagem + tecla = > assinatura

Verificar

Você precisará do certificado do site. Parece assim:

-----BEGIN CERTIFICATE-----
(bunch of base64)==
-----END CERTIFICATE-----

Salve em example.crt . O nome não importa.

Primeiro, você precisará criar uma chave pública a partir do arquivo de certificado ( example.crt ) assim:

x509 -in example.crt -pubkey -noout -out example.pub

Isso usa o certificado para criar a chave pública.

certificado = > chave pública

Então você pode verificar a mensagem assim:

dgst -sha256 -verify example.pub -signature signature.txt -out result.txt message.txt

Ele usa a chave pública e a assinatura para verificar a mensagem, colocando o resultado da verificação no arquivo result.txt .

chave pública + assinatura + mensagem = > resultado

result.txt conterá "Verified OK" ou "Verification Failure".

Linux

Instruções em breve. Eu acho que é bem parecido, exceto pela menor sintaxe.

    
por 14.05.2018 / 02:57