Browse Source

fixing signature decoding with basename

master
Michael Preisach 4 years ago
parent
commit
c17621ba91
  1. 12
      verifier.c

12
verifier.c

@ -163,16 +163,17 @@ int verifier_verifymsg(char *buffer) {
uint8_t binbuf[MAX_BUFSIZE]; uint8_t binbuf[MAX_BUFSIZE];
size_t sig_len = 0; size_t sig_len = 0;
struct ecdaa_signature_FP256BN sig; struct ecdaa_signature_FP256BN sig;
int bytes = 0;
int ret = 0; int ret = 0;
bzero(msg, MAX_MSGSIZE); bzero(msg, MAX_MSGSIZE);
ret = ecdaa_decode(current, msg, MAX_MSGSIZE); bytes = ecdaa_decode(current, msg, MAX_MSGSIZE);
msg_len = strlen(msg); msg_len = strlen(msg);
current = &current[ret]; current = &current[bytes];
bzero(chksum, MAX_CHKSUMSIZE); bzero(chksum, MAX_CHKSUMSIZE);
ret = ecdaa_decode(current, chksum, MAX_CHKSUMSIZE); bytes = ecdaa_decode(current, chksum, MAX_CHKSUMSIZE);
chksum_len = strlen(chksum); chksum_len = strlen(chksum);
current = &current[ret]; current = &current[bytes];
has_nym = current[0] - '0'; has_nym = current[0] - '0';
current = &current[1]; current = &current[1];
bzero(bsn, MAX_BSNSIZE); bzero(bsn, MAX_BSNSIZE);
@ -182,8 +183,9 @@ int verifier_verifymsg(char *buffer) {
#ifdef DEBUG #ifdef DEBUG
printf("verifier_verifymsg: nym detected, signature length = %ld.\n",sig_len); printf("verifier_verifymsg: nym detected, signature length = %ld.\n",sig_len);
#endif #endif
ecdaa_decode(current, bsn, MAX_BSNSIZE); bytes = ecdaa_decode(current, bsn, MAX_BSNSIZE);
bsn_len = strlen(bsn); bsn_len = strlen(bsn);
current = &current[bytes];
} else { } else {
sig_len = ecdaa_signature_FP256BN_length(); sig_len = ecdaa_signature_FP256BN_length();
} }

Loading…
Cancel
Save