2

我有一个公钥、一个 192 位哈希和一个 384 位签名,都是 .txt 十六进制文件,曲线是 prime192v1。

我可以使用哪些命令行来验证 OpenSSL 的消息?

4

1 回答 1

1

作为参考,可以使用以下命令创建 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
    
于 2020-09-10T20:46:01.157 回答