我在Wei Dai的Crypto ++应用程序中创建了一个ECDSA密钥对(secp128r1).签名和验证按预期工作.我没有将消息本身添加到签名中以最小化签名长度(正好是32字节).
但是,当我使用openssl创建签名时:
$ cat test.txt | openssl dgst -ecdsa-with-SHA1 -sign sample.key -keyform DER > act.bin
Run Code Online (Sandbox Code Playgroud)
OpenSSL显然将消息本身放到签名上,从而产生更大的签名(例如39字节).如果我设置,我可以使用Crypto ++验证签名CryptoPP::SignatureVerificationFilter::PUT_MESSAGE.
我是否可以告诉OpenSSL签署一条消息而不将消息放入签名,以便生成的签名完全是32字节?