我有一个公钥、一个192位散列和一个384位签名,全部为.txt十六进制文件,曲线是prime192v1。
我可以使用哪些命令行来通过 OpenSSL 验证消息?
作为参考,可以使用以下命令创建 EC 密钥:
创建 EC 密钥:
$ openssl ecparam -genkey -name prime192v1 > key.pem
提取公钥:
$ openssl ec -in key.pem -pubout > pub.pem
可以使用与其他密钥类型相同的方式对消息的哈希进行签名并使用 EC 密钥验证签名:
计算哈希(使用您选择的哈希函数):
$ openssl dgst -sha256 -binary message.txt > hash.txt
使用私钥对哈希进行签名:
$ openssl pkeyutl -sign -inkey key.pem -in hash.txt > sig.txt
用公钥验证签名:
$ openssl pkeyutl -verify -in hash.txt -sigfile sig.txt -inkey pub.pem -pubin
Signature Verified Successfully