Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
1ff9f7433c
  1. 14
      iguana/iguana_secp.c

14
iguana/iguana_secp.c

@ -137,9 +137,9 @@ out:
return(be_sz); return(be_sz);
} }
bits256 bitcoin_pubkey33(secp256k1_context_t *ctx,uint8_t *data,bits256 privkey) bits256 bitcoin_pubkey33(secp256k1_context *ctx,uint8_t *data,bits256 privkey)
{ {
int32_t plen,flag=0; bits256 pubkey; secp256k1_pubkey_t secppub; int32_t flag=0; size_t plen; bits256 pubkey; secp256k1_pubkey secppub;
memset(pubkey.bytes,0,sizeof(pubkey)); memset(pubkey.bytes,0,sizeof(pubkey));
if ( ctx == 0 ) if ( ctx == 0 )
ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY), flag++; ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY), flag++;
@ -159,7 +159,7 @@ bits256 bitcoin_pubkey33(secp256k1_context_t *ctx,uint8_t *data,bits256 privkey)
int32_t bitcoin_sign(void *ctx,uint8_t *sig,int32_t maxlen,bits256 txhash2,bits256 privkey) int32_t bitcoin_sign(void *ctx,uint8_t *sig,int32_t maxlen,bits256 txhash2,bits256 privkey)
{ {
secp256k1_ecdsa_signature_t SIG; bits256 extra_entropy,seed; int32_t flag = 0,retval = -1,siglen = 72; secp256k1_ecdsa_signature SIG; bits256 extra_entropy,seed; int32_t flag = 0,retval = -1; size_t siglen = 72;
seed = rand256(0); seed = rand256(0);
extra_entropy = rand256(0); extra_entropy = rand256(0);
if ( ctx == 0 ) if ( ctx == 0 )
@ -168,10 +168,10 @@ int32_t bitcoin_sign(void *ctx,uint8_t *sig,int32_t maxlen,bits256 txhash2,bits2
{ {
if ( secp256k1_context_randomize(ctx,seed.bytes) > 0 ) if ( secp256k1_context_randomize(ctx,seed.bytes) > 0 )
{ {
if ( secp256k1_ecdsa_sign(ctx,txhash2.bytes,&SIG,privkey.bytes,secp256k1_nonce_function_rfc6979,extra_entropy.bytes) > 0 ) if ( secp256k1_ecdsa_sign(ctx,&SIG,txhash2.bytes,privkey.bytes,secp256k1_nonce_function_rfc6979,extra_entropy.bytes) > 0 )
{ {
if ( secp256k1_ecdsa_signature_serialize_der(ctx,sig,&siglen,&SIG) > 0 ) if ( secp256k1_ecdsa_signature_serialize_der(ctx,sig,&siglen,&SIG) > 0 )
retval = siglen; retval = (int32_t)siglen;
} }
} }
if ( flag != 0 ) if ( flag != 0 )
@ -299,7 +299,7 @@ int32_t oldbitcoin_sign(uint8_t *sig,int32_t maxlen,uint8_t *data,int32_t datale
bits256 oldbitcoin_pubkey33(uint8_t *data,bits256 privkey) bits256 oldbitcoin_pubkey33(uint8_t *data,bits256 privkey)
{ {
uint8_t oddeven,data2[65]; int32_t plen; bits256 pubkey; secp256k1_pubkey_t secppub; secp256k1_context_t *ctx; uint8_t oddeven,data2[65]; size_t plen; bits256 pubkey; secp256k1_pubkey secppub; secp256k1_context *ctx;
EC_KEY *KEY; EC_KEY *KEY;
if ( (KEY= oldbitcoin_privkeyset(&oddeven,&pubkey,privkey)) != 0 ) if ( (KEY= oldbitcoin_privkeyset(&oddeven,&pubkey,privkey)) != 0 )
{ {
@ -312,7 +312,7 @@ bits256 oldbitcoin_pubkey33(uint8_t *data,bits256 privkey)
{ {
secp256k1_ec_pubkey_serialize(ctx,data2,&plen,&secppub,1); secp256k1_ec_pubkey_serialize(ctx,data2,&plen,&secppub,1);
if ( memcmp(data2,data,plen) != 0 ) if ( memcmp(data2,data,plen) != 0 )
printf("pubkey compare error plen.%d\n",plen); printf("pubkey compare error plen.%d\n",(int32_t)plen);
else printf("pubkey verified\n"); else printf("pubkey verified\n");
} //else printf("error secp256k1_ec_pubkey_create\n"); } //else printf("error secp256k1_ec_pubkey_create\n");
secp256k1_context_destroy(ctx); secp256k1_context_destroy(ctx);

Loading…
Cancel
Save