Mic*_*ael 7 cryptography openssl
我想用椭圆曲线签署和验证pdf。我得到了一些代码,但它不起作用。
创建私钥:
openssl ecparam -genkey -name secp384r1 -noout -out private.pem
Run Code Online (Sandbox Code Playgroud)
创建公钥:
openssl ec -in private.pem -pubout -out public.pem
Run Code Online (Sandbox Code Playgroud)
签名文件:
openssl dgst -ecdsa-with-SHA1 test.pdf > hash openssl dgst
openssl dgst -ecdsa-with-SHA1 -inkey private.pem -keyform PEM -in hash > signature
Run Code Online (Sandbox Code Playgroud)
验证文件:
openssl dgst -ecdsa-with-SHA1 -verify public.pem -signature signature.bin data
Run Code Online (Sandbox Code Playgroud)
签名和验证的部分不起作用。
我认为您实际上并没有签署文件,而是签署了哈希。
我尝试了以下操作,它给了我所需的输出:
Create signature:
openssl dgst -ecdsa-with-SHA1 -sign private.pem test.pdf > signature.bin
Verify signature:
openssl dgst -ecdsa-with-SHA1 -verify public.pem -signature signature.bin test.pdf
Run Code Online (Sandbox Code Playgroud)
小智 7
由于 -ecda-with-SHA1 不在 dgst 的人中,并且没有 -ecda-with-SHA256 我建议:
标志 :
openssl dgst -sha1 -sign private.pem test.pdf > signature.bin
Run Code Online (Sandbox Code Playgroud)
核实 :
openssl dgst -sha1 -verify public.pem -signature signature.bin test.pdf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34830 次 |
| 最近记录: |