Browse Source

added encoding for basename

master
Michael Preisach 4 years ago
parent
commit
7762bbe582
  1. 2
      common.h
  2. 7
      member-tpm.c
  3. 4
      member.c
  4. 2
      verifier.c

2
common.h

@ -18,7 +18,7 @@
#define NONCE_SIZE 64
#define MAX_MSGSIZE 15000
#define MAX_CHKSUMSIZE 1024
#define MAX_BUFSIZE (((MAX_MSGSIZE + 2) / 3) * 4) + (((MAX_CHKSUMSIZE + 2) / 3) * 4) + 2048
#define MAX_BUFSIZE (((MAX_MSGSIZE + 2) / 3) * 4) + (((MAX_CHKSUMSIZE + 2) / 3) * 4) + 1536
/* #define MAX_MSGSIZE ((MAX_BUFSIZE - 1536) / 2) - MAX_CHKSUMSIZE //for bin to hex*/
/* #define MAX_MSGSIZE ((MAX_BUFSIZE - 1536) / 4 * 3) - MAX_CHKSUMSIZE //for base64 */

7
member-tpm.c

@ -207,8 +207,8 @@ int member_signmsg(char *buffer) {
}
current[0] = '1';
current = &current[1];
strncpy(current, (char *)member.bsn, MAX_BSNSIZE);
current = &current[MAX_BSNSIZE];
bytes = ecdaa_encode(member.bsn, current, MAX_BSNSIZE);
current = &current[bytes];
} else {
if (0 != ecdaa_signature_TPM_FP256BN_sign(&sig, chksum, chksum_len, NULL, 0, &member.cred, ecdaa_rand, &(ctx.tpm_ctx))) {
printf("member_signmsg: Signing message failed.\n");
@ -220,14 +220,15 @@ int member_signmsg(char *buffer) {
bzero(binbuf, MAX_BUFSIZE);
ecdaa_signature_FP256BN_serialize(binbuf, &sig, has_nym);
bytes = ecdaa_encode(binbuf, current, sig_len);
current[bytes] = '\n';
#ifdef DEBUG
printf("%s",buffer);
printf("member_signmsg: has_nym: %u, sig_len: %lu\n",has_nym, sig_len);
printf("member_signmsg: msg: %s, len: %lu\n", msg, msg_len);
printf("member_signmsg: chksum: %s, len: %lu\n", chksum, chksum_len);
printf("member_signmsg: bsn: %s, len: %lu\n", (char *)member.bsn, strlen((char *)member.bsn));
printf("member_signmsg: sig: %s, len: %lu\n", current, sig_len);
#endif
current[bytes] = '\n';
tpm_cleanup(&ctx);
return 2; //send to verifier before closing
}

4
member.c

@ -192,8 +192,8 @@ int member_signmsg(char *buffer) {
}
current[0] = '1';
current = &current[1];
strncpy(current, (char *)member.bsn, MAX_BSNSIZE);
current = &current[MAX_BSNSIZE];
bytes = ecdaa_encode(member.bsn, current, MAX_BSNSIZE);
current = &current[bytes];
} else {
if (0 != ecdaa_signature_FP256BN_sign(&sig, chksum, chksum_len, NULL, 0, &member.msk, &member.cred, ecdaa_rand)) {
printf("member_signmsg: Signing message failed.\n");

2
verifier.c

@ -182,6 +182,8 @@ 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);
bsn_len = strlen(bsn);
} else {
sig_len = ecdaa_signature_FP256BN_length();
}

Loading…
Cancel
Save