17#ifndef OPENSSL_COMPAT_H
18#define OPENSSL_COMPAT_H
20#include <openssl/opensslv.h>
21#include <openssl/pem.h>
22#include <openssl/rsa.h>
24#if !defined(HAVE_RSA_GET0_KEY) && defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
25#define HAVE_RSA_GET0_KEY
26#define HAVE_RSA_SET0_KEY
27#define EVP_MD_CTX_cleanup EVP_MD_CTX_free
30#ifndef HAVE_RSA_GET0_KEY
40RSA_get0_key(
const RSA *rsa,
const BIGNUM **n,
41 const BIGNUM **e,
const BIGNUM **d)
45 *n = rsa ? rsa->n : NULL;
49 *e = rsa ? rsa->e : NULL;
53 *d = rsa ? rsa->d : NULL;
58#ifndef HAVE_RSA_SET0_KEY
69RSA_set0_key(RSA *rsa, BIGNUM *n, BIGNUM *e, BIGNUM *d)
71 if ((rsa->n == NULL && n == NULL)
72 || (rsa->e == NULL && e == NULL))