Gerando, assinando e verificando certificados digitais

1

Então, aqui está uma pergunta do meu projeto.

In this task, we will use OpenSSL to generate digital signatures. Please prepare a file (example.txt) of any size. Also prepare an RSA public/private key pair. Then do the following:

1.  Sign the SHA256 hash of example.txt; save the output in example.sha256.
2.  Verify the digital signature in example.sha256.
3.  Slightly modify example.txt, and verify the digital signature again.

Please describe how you performed the above three operations (e.g., the exact commands that you used, etc.). Describe what you observed and explain your observations. Please also explain why digital signatures are useful in general.

Então, faço o seguinte.

1.Criar o par de chaves privada / pública

openssl genrsa -out private.pem 1024

2. Extraindo chave pública.

openssl rsa -in private.pem -out public.pem -outform PEM -pubout

3. Crie um hash dos dados.

echo 'data to sign' > example.txt

openssl dgst -sha256 < example.txt > hash

4. Assine o hash usando a chave privada em um arquivo chamado example.sha256

openssl rsautl -sign -inkey private.pem -keyform PEM -in hash  > example.sha256

5. Verifique o arquivo (example.txt) e a assinatura digital (example.sha256)

openssl dgst -sha256 -verify public.pem -signature example.sha256 example.txt

Depois de fazer tudo isso, recebo uma mensagem de erro dizendo " Falha de verificação "

Por favor, corrija-me se eu tiver errado em algum lugar.

    
por Data Shark 12.11.2016 / 08:50

1 resposta

0

Generating private/public key pair.
1. openssl genrsa -out private.pem 1024
2. openssl rsa -in private.pem -out public.pem -outform PEM -pubout


Sign.
openssl dgst -sha256 -sign private.pem -out SLA.txt.sha256 SLA.txt 

Verify
openssl dgst -sha256 -verify public.pem -signature SLA.txt.sha256 SLA.txt

    
por Sampath 02.09.2017 / 08:36