|
|
|
@ -113,10 +113,10 @@ int verifier_getissuer(char *buffer) { |
|
|
|
ecdaa_hextobin(current, binbuf, ECDAA_ISSUER_PUBLIC_KEY_FP256BN_LENGTH); |
|
|
|
ret = ecdaa_issuer_public_key_FP256BN_deserialize(&verifier.ipk, binbuf); |
|
|
|
if (-1 == ret) { |
|
|
|
printf("verifier_getpublic: member public key is malformed!\n"); |
|
|
|
printf("verifier_getpublic: issuer public key is malformed!\n"); |
|
|
|
ret = -1; |
|
|
|
} else if (-2 == ret) { |
|
|
|
printf("verifier_getpublic: signature of member public key is invalid\n"); |
|
|
|
printf("verifier_getpublic: signature of issuer public key is invalid\n"); |
|
|
|
ret = -1; |
|
|
|
} else { |
|
|
|
verifier.state = GOTISSUER; |
|
|
|
@ -182,7 +182,7 @@ int verifier_checkattest(char *buffer) { |
|
|
|
char *current = &buffer[7]; //"ATTEST "
|
|
|
|
|
|
|
|
char msg[MAX_MSGSIZE]; |
|
|
|
strncpy(msg, buffer, MAX_MSGSIZE); |
|
|
|
strncpy(msg, current, MAX_MSGSIZE); |
|
|
|
size_t msg_len = strlen(msg); |
|
|
|
current = ¤t[MAX_MSGSIZE]; |
|
|
|
|
|
|
|
@ -207,14 +207,17 @@ int verifier_checkattest(char *buffer) { |
|
|
|
struct ecdaa_signature_FP256BN sig; |
|
|
|
int ret = ecdaa_signature_FP256BN_deserialize(&sig, binbuf, has_nym); |
|
|
|
if (0 != ret) { |
|
|
|
printf("verifier_checkattest: error reading signature"); |
|
|
|
printf("verifier_checkattest: error reading signature\n"); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
printf("verifier_checkattest: msg: %s, len: %lu\n",msg, msg_len); |
|
|
|
printf("verifier_checkattest: bsn: %s, len: %lu\n",bsn, bsn_len); |
|
|
|
printf("verifier_checkattest: sig: %s", current); |
|
|
|
ret = ecdaa_signature_FP256BN_verify(&sig, &verifier.ipk.gpk, &verifier.revocations, (uint8_t *) msg, msg_len, |
|
|
|
(uint8_t *) bsn, bsn_len); |
|
|
|
if (0 == ret) { |
|
|
|
printf("verifier_checkattest: signature not valid"); |
|
|
|
if (0 != ret) { |
|
|
|
printf("verifier_checkattest: signature not valid\n"); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
|