OpenSSL ECDSA签名和验证文件

Mic*_*ael 2 openssl cryptography digital-signature ecdsa

我想签名并验证带有椭圆曲线的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)

要签名和验证的部分不起作用.

Iri*_*ium 7

我不确定你从哪里获得这些命令行选项 - 帮助dgst没有表明-ecdsa-with-SHA1,-inkey或者-in是有效的选项.尝试:

标志:

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)