summaryrefslogtreecommitdiff
path: root/http.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-09-30 04:33:42 +0200
committerdefault <nobody@localhost>2022-09-30 04:33:42 +0200
commit2688230a190cc5a98bfb5e95b3a41864854b3151 (patch)
tree1f53ddd117a51f68422e7f85162b5d66916072e3 /http.c
parent73a02fca6f865d6cbb4060504c65212064c9e4fa (diff)
Fixed check_signature().
Diffstat (limited to 'http.c')
-rw-r--r--http.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/http.c b/http.c
index 1d8cc7d..a58aaf4 100644
--- a/http.c
+++ b/http.c
@@ -108,8 +108,6 @@ int check_signature(snac *snac, char *req)
xs *keyId = NULL;
xs *headers = NULL;
xs *signature = NULL;
- xs *sig_bin = NULL;
- int s_size;
char *pubkey;
char *p;
@@ -127,7 +125,7 @@ int check_signature(snac *snac, char *req)
headers = xs_crop(xs_dup(v), 9, -1);
else
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 */
- sig_bin = xs_base64_dec(signature, &s_size);
-
- if (xs_evp_verify(pubkey, sig_str, strlen(sig_str), sig_bin) != 1) {
+ if (xs_evp_verify(pubkey, sig_str, strlen(sig_str), signature) != 1) {
snac_debug(snac, 1, xs_fmt("rsa verify error %s", keyId));
}