2 * PDKIM - a RFC4871 (DKIM) implementation
4 * Copyright (C) 2016 Exim maintainers
6 * RSA signing/verification interface
11 #ifndef DISABLE_DKIM /* entire file */
13 #include "crypt_ver.h"
16 # include <openssl/rsa.h>
17 # include <openssl/ssl.h>
18 # include <openssl/err.h>
19 #elif defined(RSA_GNUTLS)
20 # include <gnutls/gnutls.h>
21 # include <gnutls/x509.h>
22 # include <gnutls/abstract.h>
23 #elif defined(RSA_GCRYPT)
25 # include <libtasn1.h>
41 #elif defined(RSA_GNUTLS)
44 gnutls_x509_privkey_t rsa;
51 #elif defined(RSA_GCRYPT)
72 extern void exim_rsa_init(void);
73 extern blob * exim_rsa_data_append(blob *, int *, uschar *);
75 extern const uschar * exim_rsa_signing_init(uschar *, es_ctx *);
76 extern const uschar * exim_rsa_sign(es_ctx *, BOOL, blob *, blob *);
77 extern const uschar * exim_rsa_verify_init(blob *, ev_ctx *);
78 extern const uschar * exim_rsa_verify(ev_ctx *, BOOL, blob *, blob *);
80 #endif /*DISABLE_DKIM*/