这取决于您如何对签名进行编码。这是OpenSSL的代码段,用于测量DER格式的ECDSA签名的长度。
int ECDSA_size(const EC_KEY *r){ int ret,i; ASN1_INTEGER bs; BIGNUM *order=NULL; unsigned char buf[4]; const EC_GROUP *group; if (r == NULL) return 0; group = EC_KEY_get0_group(r); if (group == NULL) return 0; if ((order = BN_new()) == NULL) return 0; if (!EC_GROUP_get_order(group,order,NULL)) { BN_clear_free(order); return 0; } i=BN_num_bits(order); bs.length=(i+7)/8; bs.data=buf; bs.type=V_ASN1_INTEGER; buf[0]=0xff; i=i2d_ASN1_INTEGER(&bs,NULL); i+=i; ret=ASN1_object_size(1,i,V_ASN1_SEQUENCE); BN_clear_free(order); return(ret);}以prime256曲线上的EC_KEY作为参数的上述函数的结果是
sig_len = ECDSA_size(eckey);
sig_len在哪里
72。
您需要
72使用
256位EC密钥的字节来进行DER编码的ECDSA签名。



