Devo firmare un documento e quindi verificare la firma usando openssl.
Ecco i miei file: pk.pem (la chiave privata); pubk.pem (la chiave pubblica); data.txt (il documento da firmare); L'algoritmo hach è SHA256.
Ecco l'elenco dei comandi che devono essere utilizzati:
$ 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.
Questo insieme di comandi passa senza errori.
Inoltre ho bisogno di fare una verifica usando digest, quindi ogni volta che provo a verificare la firma, mi dà: Errore di verifica. Ecco il comando per questo scopo:
$ openssl dgst -sha256 -verify pubk.pem -signature rsasign.bin data.txt
Qualcuno può indicare dove ho sbagliato con i comandi? Grazie in anticipo.