【发布时间】:2013-12-28 13:20:48
【问题描述】:
我有一个公钥、一个 192 位散列和一个 384 位签名,都是 .txt 十六进制文件,曲线是 prime192v1。
我可以使用哪些命令行来验证 OpenSSL 的消息?
【问题讨论】:
标签: command-line openssl ecdsa
我有一个公钥、一个 192 位散列和一个 384 位签名,都是 .txt 十六进制文件,曲线是 prime192v1。
我可以使用哪些命令行来验证 OpenSSL 的消息?
【问题讨论】:
标签: command-line openssl ecdsa
作为参考,可以使用以下命令创建 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 key.pem
Signature Verified Successfully
【讨论】: