|
|
@ -1,6 +1,7 @@ |
|
|
#include "verifier.h" |
|
|
#include "verifier.h" |
|
|
|
|
|
|
|
|
typedef enum verifierstate { |
|
|
typedef enum verifierstate { |
|
|
|
|
|
ON, |
|
|
ASKISSUER, |
|
|
ASKISSUER, |
|
|
GOTISSUER, |
|
|
GOTISSUER, |
|
|
} verifierstate_e; |
|
|
} verifierstate_e; |
|
|
@ -26,10 +27,11 @@ int verifier_checklink(char *buffer); |
|
|
|
|
|
|
|
|
int verifier_verifymsg(char *buffer); |
|
|
int verifier_verifymsg(char *buffer); |
|
|
|
|
|
|
|
|
int main() { |
|
|
int main(int argc, char **argv) { |
|
|
verifier.revocations.sk_list = NULL; |
|
|
verifier.revocations.sk_list = NULL; |
|
|
verifier.revocations.bsn_list = NULL; |
|
|
verifier.revocations.bsn_list = NULL; |
|
|
char *remote_ip; |
|
|
char *remote_ip; |
|
|
|
|
|
int ret = 0; |
|
|
|
|
|
|
|
|
switch(argc) { |
|
|
switch(argc) { |
|
|
case 1: |
|
|
case 1: |
|
|
@ -69,18 +71,16 @@ int process_verifier(char *buffer) { |
|
|
printf("> VERIFIER: %s\n", buffer); |
|
|
printf("> VERIFIER: %s\n", buffer); |
|
|
|
|
|
|
|
|
if (0 == strncasecmp("VERIFYMSG", buffer, 9)) { |
|
|
if (0 == strncasecmp("VERIFYMSG", buffer, 9)) { |
|
|
ret = verifier_verifymsg(&buffer[10]); |
|
|
ret = verifier_verifymsg(&buffer[10]); |
|
|
bzero(buffer, MAX_BUFSIZE); |
|
|
bzero(buffer, MAX_BUFSIZE); |
|
|
if (-1 == ret) { |
|
|
if (-1 == ret) { |
|
|
printf("process_verifier: member public key is malformed!\n"); |
|
|
printf("process_verifier: member public key is malformed!\n"); |
|
|
strncpy(buffer, "ERR\n", 4); |
|
|
strncpy(buffer, "ERR\n", 4); |
|
|
} else if (-2 == ret) { |
|
|
} else if (-2 == ret) { |
|
|
printf("process_verifier: signature of member public key is invalid\n"); |
|
|
printf("process_verifier: signature of member public key is invalid\n"); |
|
|
strncpy(buffer, "ERR\n", 4); |
|
|
strncpy(buffer, "ERR\n", 4); |
|
|
} else { |
|
|
} else { |
|
|
strncpy(buffer, "OK\n", 3); |
|
|
strncpy(buffer, "OK\n", 3); |
|
|
} |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
} |
|
|
ret = 0; |
|
|
ret = 0; |
|
|
} else if (0 == strncasecmp("EXIT", buffer, 4)) { |
|
|
} else if (0 == strncasecmp("EXIT", buffer, 4)) { |
|
|
@ -97,7 +97,7 @@ int process_verifier(char *buffer) { |
|
|
ret = 0; |
|
|
ret = 0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if(0 == ret) { |
|
|
if (0 == ret) { |
|
|
printf("< VERIFIER: %s\n", buffer); |
|
|
printf("< VERIFIER: %s\n", buffer); |
|
|
} |
|
|
} |
|
|
return ret; |
|
|
return ret; |
|
|
@ -198,8 +198,9 @@ int verifier_verifymsg(char *buffer) { |
|
|
return -1; |
|
|
return -1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
printf("writing message to %s\n", verifier_message_file); |
|
|
printf("writing message to %s\n", MSGFILE); |
|
|
ecdaa_write_buffer_to_file(MSGFILE, msg, msg_len); |
|
|
ecdaa_write_buffer_to_file(MSGFILE, msg, msg_len); |
|
|
|
|
|
printf("writing checksum to %s\n", CHKSUMFILE); |
|
|
ecdaa_write_buffer_to_file(CHKSUMFILE, chksum, chksum_len); |
|
|
ecdaa_write_buffer_to_file(CHKSUMFILE, chksum, chksum_len); |
|
|
return 0; |
|
|
return 0; |
|
|
} |
|
|
} |
|
|
|