summaryrefslogtreecommitdiff
path: root/http.c
diff options
context:
space:
mode:
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)
108 xs *keyId = NULL; 108 xs *keyId = NULL;
109 xs *headers = NULL; 109 xs *headers = NULL;
110 xs *signature = NULL; 110 xs *signature = NULL;
111 xs *sig_bin = NULL;
112 int s_size;
113 char *pubkey; 111 char *pubkey;
114 char *p; 112 char *p;
115 113
@@ -127,7 +125,7 @@ int check_signature(snac *snac, char *req)
127 headers = xs_crop(xs_dup(v), 9, -1); 125 headers = xs_crop(xs_dup(v), 9, -1);
128 else 126 else
129 if (xs_startswith(v, "signature")) 127 if (xs_startswith(v, "signature"))
130 signature = xs_crop(xs_dup(v), 12, -1); 128 signature = xs_crop(xs_dup(v), 11, -1);
131 } 129 }
132 } 130 }
133 131
@@ -187,10 +185,7 @@ int check_signature(snac *snac, char *req)
187 } 185 }
188 } 186 }
189 187
190 /* convert the signature to binary */ 188 if (xs_evp_verify(pubkey, sig_str, strlen(sig_str), signature) != 1) {
191 sig_bin = xs_base64_dec(signature, &s_size);
192
193 if (xs_evp_verify(pubkey, sig_str, strlen(sig_str), sig_bin) != 1) {
194 snac_debug(snac, 1, xs_fmt("rsa verify error %s", keyId)); 189 snac_debug(snac, 1, xs_fmt("rsa verify error %s", keyId));
195 } 190 }
196 191