【问题标题】:How to verify a ECC signature with OpenSSL command?如何使用 OpenSSL 命令验证 ECC 签名?
【发布时间】:2013-12-28 13:20:48
【问题描述】:

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

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

【问题讨论】:

    标签: command-line openssl ecdsa


    【解决方案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
      

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 2011-07-05
      • 2015-10-06
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多