如何使用 OpenSSL 命令验证 ECC 签名?

问题描述 投票:0回答:1

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

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

command-line openssl ecdsa
1个回答
5
投票

作为参考,可以使用以下命令创建 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
    
© www.soinside.com 2019 - 2024. All rights reserved.