ec = OpenSSL::PKey::EC.new('secp256k1')
ec.generate_key
signature = ec.dsa_sign_asn1("A" * 64)
refute ec.dsa_verify_asn1("A" * 32, signature) # Fails here
Given the test code above, why dsa_sign_asn1 and dsa_verify_asn1 only considers the first 32 bytes of the provided data?
Environment:
Ruby 3.0, Ubuntu 21.04 running with multipass on Windows 10. OpenSSL::VERSION is 2.2.0