diff options
| author | 2022-09-26 18:40:46 +0200 | |
|---|---|---|
| committer | 2022-09-26 18:40:46 +0200 | |
| commit | 725508640117c24150fb18811e477fae4e2e9c85 (patch) | |
| tree | 1755c8c07c5688eedf73ea7d15c4f8a1668e6412 /xs_openssl.h | |
| parent | Use xs_evp_sign() for signing. (diff) | |
| download | snac2-725508640117c24150fb18811e477fae4e2e9c85.tar.gz snac2-725508640117c24150fb18811e477fae4e2e9c85.tar.xz snac2-725508640117c24150fb18811e477fae4e2e9c85.zip | |
Backported from xs.
Diffstat (limited to 'xs_openssl.h')
| -rw-r--r-- | xs_openssl.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xs_openssl.h b/xs_openssl.h index d31442a..d172444 100644 --- a/xs_openssl.h +++ b/xs_openssl.h | |||
| @@ -185,7 +185,6 @@ d_char *xs_evp_sign(char *secret, char *mem, int size) | |||
| 185 | unsigned char *sig; | 185 | unsigned char *sig; |
| 186 | unsigned int sig_len; | 186 | unsigned int sig_len; |
| 187 | EVP_PKEY *pkey; | 187 | EVP_PKEY *pkey; |
| 188 | |||
| 189 | EVP_MD_CTX *mdctx; | 188 | EVP_MD_CTX *mdctx; |
| 190 | const EVP_MD *md; | 189 | const EVP_MD *md; |
| 191 | 190 | ||
| @@ -193,6 +192,10 @@ d_char *xs_evp_sign(char *secret, char *mem, int size) | |||
| 193 | b = BIO_new_mem_buf(secret, strlen(secret)); | 192 | b = BIO_new_mem_buf(secret, strlen(secret)); |
| 194 | pkey = PEM_read_bio_PrivateKey(b, NULL, NULL, NULL); | 193 | pkey = PEM_read_bio_PrivateKey(b, NULL, NULL, NULL); |
| 195 | 194 | ||
| 195 | /* I've learnt all these magical incantations by watching | ||
| 196 | the Python module code and the OpenSSL manual pages */ | ||
| 197 | /* Well, "learnt" may be an exaggeration */ | ||
| 198 | |||
| 196 | md = EVP_get_digestbyname("sha256"); | 199 | md = EVP_get_digestbyname("sha256"); |
| 197 | 200 | ||
| 198 | mdctx = EVP_MD_CTX_new(); | 201 | mdctx = EVP_MD_CTX_new(); |
| @@ -207,7 +210,6 @@ d_char *xs_evp_sign(char *secret, char *mem, int size) | |||
| 207 | signature = xs_base64_enc((char *)sig, sig_len); | 210 | signature = xs_base64_enc((char *)sig, sig_len); |
| 208 | 211 | ||
| 209 | EVP_MD_CTX_free(mdctx); | 212 | EVP_MD_CTX_free(mdctx); |
| 210 | |||
| 211 | BIO_free(b); | 213 | BIO_free(b); |
| 212 | free(sig); | 214 | free(sig); |
| 213 | 215 | ||