X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/260958d632506e2789fc632381f560f5a0c77ed7..617d39327e65b7fccc41a12b4a5e2940d6327c9f:/src/src/pdkim/signing.c diff --git a/src/src/pdkim/signing.c b/src/src/pdkim/signing.c index b61b42832..b182c9a20 100644 --- a/src/src/pdkim/signing.c +++ b/src/src/pdkim/signing.c @@ -1,7 +1,7 @@ /* * PDKIM - a RFC4871 (DKIM) implementation * - * Copyright (C) 2017 Exim maintainers + * Copyright (C) 1995 - 2018 Exim maintainers * * signing/verification interface */ @@ -86,7 +86,7 @@ return string_cat(g, s); Return: NULL for success, or an error string */ const uschar * -exim_dkim_signing_init(uschar * privkey_pem, es_ctx * sign_ctx) +exim_dkim_signing_init(const uschar * privkey_pem, es_ctx * sign_ctx) { gnutls_datum_t k = { .data = privkey_pem, .size = Ustrlen(privkey_pem) }; gnutls_x509_privkey_t x509_key; @@ -345,7 +345,7 @@ Only handles RSA keys. Return: NULL for success, or an error string */ const uschar * -exim_dkim_signing_init(uschar * privkey_pem, es_ctx * sign_ctx) +exim_dkim_signing_init(const uschar * privkey_pem, es_ctx * sign_ctx) { uschar * s1, * s2; blob der; @@ -401,7 +401,7 @@ Useful cmds: (not good for ed25519) */ - + if ( !(s1 = Ustrstr(CS privkey_pem, "-----BEGIN RSA PRIVATE KEY-----")) || !(s2 = Ustrstr(CS (s1+=31), "-----END RSA PRIVATE KEY-----" )) ) @@ -694,7 +694,7 @@ ERR_load_crypto_strings(); } -/* accumulate data (was gnutls-onl but now needed for OpenSSL non-EC too +/* accumulate data (was gnutls-only but now needed for OpenSSL non-EC too because now using hash-and-sign interface) */ gstring * exim_dkim_data_append(gstring * g, uschar * s) @@ -707,7 +707,7 @@ return string_cat(g, s); Return: NULL for success, or an error string */ const uschar * -exim_dkim_signing_init(uschar * privkey_pem, es_ctx * sign_ctx) +exim_dkim_signing_init(const uschar * privkey_pem, es_ctx * sign_ctx) { BIO * bp = BIO_new_mem_buf(privkey_pem, -1); @@ -752,10 +752,10 @@ if( (ctx = EVP_MD_CTX_create()) /* Initialise the DigestSign operation */ && EVP_DigestSignInit(ctx, NULL, md, NULL, sign_ctx->key) > 0 - + /* Call update with the message */ && EVP_DigestSignUpdate(ctx, data->data, data->len) > 0 - + /* Finalise the DigestSign operation */ /* First call EVP_DigestSignFinal with a NULL sig parameter to obtain the length of the * signature. Length is returned in slen */