Fixed check_signature().

This commit is contained in:
default 2022-09-30 04:33:42 +02:00
parent 73a02fca6f
commit 2688230a19

9
http.c
View file

@ -108,8 +108,6 @@ int check_signature(snac *snac, char *req)
xs *keyId = NULL; xs *keyId = NULL;
xs *headers = NULL; xs *headers = NULL;
xs *signature = NULL; xs *signature = NULL;
xs *sig_bin = NULL;
int s_size;
char *pubkey; char *pubkey;
char *p; char *p;
@ -127,7 +125,7 @@ int check_signature(snac *snac, char *req)
headers = xs_crop(xs_dup(v), 9, -1); headers = xs_crop(xs_dup(v), 9, -1);
else else
if (xs_startswith(v, "signature")) if (xs_startswith(v, "signature"))
signature = xs_crop(xs_dup(v), 12, -1); signature = xs_crop(xs_dup(v), 11, -1);
} }
} }
@ -187,10 +185,7 @@ int check_signature(snac *snac, char *req)
} }
} }
/* convert the signature to binary */ if (xs_evp_verify(pubkey, sig_str, strlen(sig_str), signature) != 1) {
sig_bin = xs_base64_dec(signature, &s_size);
if (xs_evp_verify(pubkey, sig_str, strlen(sig_str), sig_bin) != 1) {
snac_debug(snac, 1, xs_fmt("rsa verify error %s", keyId)); snac_debug(snac, 1, xs_fmt("rsa verify error %s", keyId));
} }