Necesito firmar un documento y luego verificar la firma usando openssl.
Aquí están mis archivos: pk.pem (la clave privada); pubk.pem (la clave pública); data.txt (el documento a firmar); El algoritmo de hach es SHA256.
Aquí está la lista de comandos que deben usarse:
$ openssl dgst -sha256 -out print data.txt
// this command creates a file **print**
$ openssl rsautl -sign -in print -inkey pk.pem -out rsasign.bin
// this command does the signature using the private key and the outcome is the binary signature **rsasign.bin**
$ openssl rsautl -verify -in rsasign.bin -inkey pk.pem -out print2
// this command does the verification by creating the outcome **print2** which compared to **print** is the same, which means the signature is OK.
Este conjunto de comandos pasa sin ningún error.
Además, necesito realizar una verificación utilizando un resumen, por lo que cada vez que intento verificar la firma, aparece: Error de verificación. Aquí está el comando para ese propósito:
$ openssl dgst -sha256 -verify pubk.pem -signature rsasign.bin data.txt
¿Alguien puede indicar dónde estoy equivocado con los comandos? Gracias de antemano.