Я хочу создать подпись и проверить ее с помощью openssl. Я хочу получить шестнадцатеричный вывод моей подписи.
это мой код
#create private key
openssl ecparam -genkey -name secp256k1 -rand /dev/urandom -noout -out private.pem
#public key derivation
openssl ec -in private.pem -pubout -out public.pem
#create signature
openssl dgst -sha256 -hex -sign private.pem msg.txt > signature.hex
#check signature
openssl dgst -sha256 -verify public.pem -signature signature.hex msg.txt
Я получаю эту ошибку:
Error Verifying Data
4573216364:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1220:
4573216364:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:386:Type=ECDSA_SIG
Если я удаляю -hex во время создания подписи , это работает.
$ openssl version
OpenSSL 1.0.2s 28 May 2019