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

Loading…
Cancel
Save