Make no-rsa, no-dsa and no-dh compile again.

This commit is contained in:
Dr. Stephen Henson 2009-04-23 17:16:40 +00:00
parent fe41d9853c
commit 7134507de0
16 changed files with 75 additions and 11 deletions

View File

@ -918,7 +918,8 @@ if (defined($disabled{"tls1"}))
$disabled{"tlsext"} = "forced"; $disabled{"tlsext"} = "forced";
} }
if (defined($disabled{"ec"})) if (defined($disabled{"ec"}) || defined($disabled{"dsa"})
|| defined($disabled{"dh"}))
{ {
$disabled{"gost"} = "forced"; $disabled{"gost"} = "forced";
} }

View File

@ -921,11 +921,13 @@ EVP_PKEY *load_key(BIO *err, const char *file, int format, int maybe_stdin,
&pkey, NULL, NULL)) &pkey, NULL, NULL))
goto end; goto end;
} }
#if !defined(OPENSSL_NO_RSA) && !defined(OPENSSL_NO_DSA)
else if (format == FORMAT_MSBLOB) else if (format == FORMAT_MSBLOB)
pkey = b2i_PrivateKey_bio(key); pkey = b2i_PrivateKey_bio(key);
else if (format == FORMAT_PVK) else if (format == FORMAT_PVK)
pkey = b2i_PVK_bio(key, (pem_password_cb *)password_callback, pkey = b2i_PVK_bio(key, (pem_password_cb *)password_callback,
&cb_data); &cb_data);
#endif
else else
{ {
BIO_printf(err,"bad input format specified for key file\n"); BIO_printf(err,"bad input format specified for key file\n");
@ -989,6 +991,7 @@ EVP_PKEY *load_pubkey(BIO *err, const char *file, int format, int maybe_stdin,
{ {
pkey=d2i_PUBKEY_bio(key, NULL); pkey=d2i_PUBKEY_bio(key, NULL);
} }
#ifndef OPENSSL_NO_RSA
else if (format == FORMAT_ASN1RSA) else if (format == FORMAT_ASN1RSA)
{ {
RSA *rsa; RSA *rsa;
@ -1018,7 +1021,7 @@ EVP_PKEY *load_pubkey(BIO *err, const char *file, int format, int maybe_stdin,
else else
pkey = NULL; pkey = NULL;
} }
#endif
else if (format == FORMAT_PEM) else if (format == FORMAT_PEM)
{ {
pkey=PEM_read_bio_PUBKEY(key,NULL, pkey=PEM_read_bio_PUBKEY(key,NULL,
@ -1028,8 +1031,10 @@ EVP_PKEY *load_pubkey(BIO *err, const char *file, int format, int maybe_stdin,
else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC) else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC)
pkey = load_netscape_key(err, key, file, key_descrip, format); pkey = load_netscape_key(err, key, file, key_descrip, format);
#endif #endif
#if !defined(OPENSSL_NO_RSA) && !defined(OPENSSL_NO_DSA)
else if (format == FORMAT_MSBLOB) else if (format == FORMAT_MSBLOB)
pkey = b2i_PublicKey_bio(key); pkey = b2i_PublicKey_bio(key);
#endif
else else
{ {
BIO_printf(err,"bad input format specified for key file\n"); BIO_printf(err,"bad input format specified for key file\n");

View File

@ -349,4 +349,10 @@ end:
apps_shutdown(); apps_shutdown();
OPENSSL_EXIT(ret); OPENSSL_EXIT(ret);
} }
#else /* !OPENSSL_NO_DH */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -554,4 +554,10 @@ static int MS_CALLBACK dh_cb(int p, int n, BN_GENCB *cb)
return 1; return 1;
} }
#else /* !OPENSSL_NO_DH */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -334,6 +334,7 @@ bad:
i=PEM_write_bio_DSA_PUBKEY(out,dsa); i=PEM_write_bio_DSA_PUBKEY(out,dsa);
else i=PEM_write_bio_DSAPrivateKey(out,dsa,enc, else i=PEM_write_bio_DSAPrivateKey(out,dsa,enc,
NULL,0,NULL, passout); NULL,0,NULL, passout);
#ifndef OPENSSL_NO_RSA
} else if (outformat == FORMAT_MSBLOB || outformat == FORMAT_PVK) { } else if (outformat == FORMAT_MSBLOB || outformat == FORMAT_PVK) {
EVP_PKEY *pk; EVP_PKEY *pk;
pk = EVP_PKEY_new(); pk = EVP_PKEY_new();
@ -345,6 +346,7 @@ bad:
else else
i = i2b_PrivateKey_bio(out, pk); i = i2b_PrivateKey_bio(out, pk);
EVP_PKEY_free(pk); EVP_PKEY_free(pk);
#endif
} else { } else {
BIO_printf(bio_err,"bad output format specified for outfile\n"); BIO_printf(bio_err,"bad output format specified for outfile\n");
goto end; goto end;
@ -365,4 +367,10 @@ end:
apps_shutdown(); apps_shutdown();
OPENSSL_EXIT(ret); OPENSSL_EXIT(ret);
} }
#else /* !OPENSSL_NO_DSA */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -475,4 +475,10 @@ static int MS_CALLBACK dsa_cb(int p, int n, BN_GENCB *cb)
#endif #endif
return 1; return 1;
} }
#else /* !OPENSSL_NO_DSA */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -235,4 +235,10 @@ static int MS_CALLBACK dh_cb(int p, int n, BN_GENCB *cb)
#endif #endif
return 1; return 1;
} }
#else /* !OPENSSL_NO_DH */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -279,4 +279,10 @@ end:
apps_shutdown(); apps_shutdown();
OPENSSL_EXIT(ret); OPENSSL_EXIT(ret);
} }
#else /* !OPENSSL_NO_DSA */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -1715,7 +1715,7 @@ static EVP_PKEY_CTX *set_keygen_ctx(BIO *err, const char *gstr, int *pkey_type,
ERR_print_errors(err); ERR_print_errors(err);
return NULL; return NULL;
} }
#ifndef OPENSSL_NO_RSA
if ((*pkey_type == EVP_PKEY_RSA) && (keylen != -1)) if ((*pkey_type == EVP_PKEY_RSA) && (keylen != -1))
{ {
if (EVP_PKEY_CTX_set_rsa_keygen_bits(gctx, keylen) <= 0) if (EVP_PKEY_CTX_set_rsa_keygen_bits(gctx, keylen) <= 0)
@ -1726,6 +1726,7 @@ static EVP_PKEY_CTX *set_keygen_ctx(BIO *err, const char *gstr, int *pkey_type,
return NULL; return NULL;
} }
} }
#endif
return gctx; return gctx;
} }

View File

@ -409,6 +409,7 @@ bad:
} }
else i=PEM_write_bio_RSAPrivateKey(out,rsa, else i=PEM_write_bio_RSAPrivateKey(out,rsa,
enc,NULL,0,NULL,passout); enc,NULL,0,NULL,passout);
#ifndef OPENSSL_NO_DSA
} else if (outformat == FORMAT_MSBLOB || outformat == FORMAT_PVK) { } else if (outformat == FORMAT_MSBLOB || outformat == FORMAT_PVK) {
EVP_PKEY *pk; EVP_PKEY *pk;
pk = EVP_PKEY_new(); pk = EVP_PKEY_new();
@ -420,6 +421,7 @@ bad:
else else
i = i2b_PrivateKey_bio(out, pk); i = i2b_PrivateKey_bio(out, pk);
EVP_PKEY_free(pk); EVP_PKEY_free(pk);
#endif
} else { } else {
BIO_printf(bio_err,"bad output format specified for outfile\n"); BIO_printf(bio_err,"bad output format specified for outfile\n");
goto end; goto end;

View File

@ -342,4 +342,10 @@ static void usage()
} }
#else /* !OPENSSL_NO_RSA */
# if PEDANTIC
static void *dummy=&dummy;
# endif
#endif #endif

View File

@ -77,9 +77,15 @@ extern const EVP_PKEY_METHOD ec_pkey_meth, hmac_pkey_meth;
static const EVP_PKEY_METHOD *standard_methods[] = static const EVP_PKEY_METHOD *standard_methods[] =
{ {
#ifndef OPENSSL_NO_RSA
&rsa_pkey_meth, &rsa_pkey_meth,
#endif
#ifndef OPENSSL_NO_DH
&dh_pkey_meth, &dh_pkey_meth,
#endif
#ifndef OPENSSL_NO_DSA
&dsa_pkey_meth, &dsa_pkey_meth,
#endif
#ifndef OPENSSL_NO_EC #ifndef OPENSSL_NO_EC
&ec_pkey_meth, &ec_pkey_meth,
#endif #endif

View File

@ -63,6 +63,7 @@
#include <openssl/pem.h> #include <openssl/pem.h>
#include <openssl/rand.h> #include <openssl/rand.h>
#include <openssl/bn.h> #include <openssl/bn.h>
#if !defined(OPENSSL_NO_RSA) && !defined(OPENSSL_NO_DSA)
#include <openssl/dsa.h> #include <openssl/dsa.h>
#include <openssl/rsa.h> #include <openssl/rsa.h>
@ -933,3 +934,4 @@ int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel,
} }
return -1; return -1;
} }
#endif

View File

@ -56,12 +56,12 @@
#include <string.h> #include <string.h>
#include <openssl/crypto.h> #include <openssl/crypto.h>
#include <openssl/buffer.h> #include <openssl/buffer.h>
#include <openssl/rsa.h>
#include <openssl/bn.h> #include <openssl/bn.h>
#ifdef OPENSSL_SYS_WIN32 #ifdef OPENSSL_SYS_WIN32
#ifndef OPENSSL_NO_CAPIENG #ifndef OPENSSL_NO_CAPIENG
#include <openssl/rsa.h>
#include <windows.h> #include <windows.h>

View File

@ -85,7 +85,9 @@
#include <openssl/crypto.h> #include <openssl/crypto.h>
#include <openssl/buffer.h> #include <openssl/buffer.h>
#include <openssl/engine.h> #include <openssl/engine.h>
#ifndef OPENSSL_NO_RSA
#include <openssl/rsa.h> #include <openssl/rsa.h>
#endif
#include <openssl/bn.h> #include <openssl/bn.h>
#ifndef OPENSSL_NO_HW #ifndef OPENSSL_NO_HW

View File

@ -95,14 +95,14 @@ static int ubsec_finish(ENGINE *e);
static int ubsec_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void)); static int ubsec_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void));
static int ubsec_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, static int ubsec_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *m, BN_CTX *ctx); const BIGNUM *m, BN_CTX *ctx);
#ifndef OPENSSL_NO_RSA
static int ubsec_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, static int ubsec_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *q, const BIGNUM *dp, const BIGNUM *q, const BIGNUM *dp,
const BIGNUM *dq, const BIGNUM *qinv, BN_CTX *ctx); const BIGNUM *dq, const BIGNUM *qinv, BN_CTX *ctx);
#ifndef OPENSSL_NO_RSA
static int ubsec_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); static int ubsec_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx);
#endif
static int ubsec_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, static int ubsec_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx);
#endif
#ifndef OPENSSL_NO_DSA #ifndef OPENSSL_NO_DSA
#ifdef NOT_USED #ifdef NOT_USED
static int ubsec_dsa_mod_exp(DSA *dsa, BIGNUM *rr, BIGNUM *a1, static int ubsec_dsa_mod_exp(DSA *dsa, BIGNUM *rr, BIGNUM *a1,
@ -302,10 +302,10 @@ static t_UBSEC_diffie_hellman_generate_ioctl
*p_UBSEC_diffie_hellman_generate_ioctl = NULL; *p_UBSEC_diffie_hellman_generate_ioctl = NULL;
static t_UBSEC_diffie_hellman_agree_ioctl *p_UBSEC_diffie_hellman_agree_ioctl = NULL; static t_UBSEC_diffie_hellman_agree_ioctl *p_UBSEC_diffie_hellman_agree_ioctl = NULL;
#endif #endif
/* #ifndef OPENSSL_NO_RSA */
static t_UBSEC_rsa_mod_exp_ioctl *p_UBSEC_rsa_mod_exp_ioctl = NULL; static t_UBSEC_rsa_mod_exp_ioctl *p_UBSEC_rsa_mod_exp_ioctl = NULL;
#ifndef OPENSSL_NO_RSA
static t_UBSEC_rsa_mod_exp_crt_ioctl *p_UBSEC_rsa_mod_exp_crt_ioctl = NULL; static t_UBSEC_rsa_mod_exp_crt_ioctl *p_UBSEC_rsa_mod_exp_crt_ioctl = NULL;
/* #endif */ #endif
#ifndef OPENSSL_NO_DSA #ifndef OPENSSL_NO_DSA
static t_UBSEC_dsa_sign_ioctl *p_UBSEC_dsa_sign_ioctl = NULL; static t_UBSEC_dsa_sign_ioctl *p_UBSEC_dsa_sign_ioctl = NULL;
static t_UBSEC_dsa_verify_ioctl *p_UBSEC_dsa_verify_ioctl = NULL; static t_UBSEC_dsa_verify_ioctl *p_UBSEC_dsa_verify_ioctl = NULL;
@ -624,7 +624,6 @@ static int ubsec_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
err: err:
return to_return; return to_return;
} }
#endif
static int ubsec_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, static int ubsec_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *q, const BIGNUM *dp, const BIGNUM *q, const BIGNUM *dp,
@ -672,6 +671,7 @@ static int ubsec_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
r->top = (BN_num_bits(p) + BN_num_bits(q) + BN_BITS2 - 1)/BN_BITS2; r->top = (BN_num_bits(p) + BN_num_bits(q) + BN_BITS2 - 1)/BN_BITS2;
return 1; return 1;
} }
#endif
#ifndef OPENSSL_NO_DSA #ifndef OPENSSL_NO_DSA
#ifdef NOT_USED #ifdef NOT_USED
@ -704,6 +704,8 @@ static int ubsec_mod_exp_dsa(DSA *dsa, BIGNUM *r, BIGNUM *a,
#endif #endif
#endif #endif
#ifndef OPENSSL_NO_RSA
/* /*
* This function is aliased to mod_exp (with the mont stuff dropped). * This function is aliased to mod_exp (with the mont stuff dropped).
*/ */
@ -712,7 +714,6 @@ static int ubsec_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
{ {
int ret = 0; int ret = 0;
#ifndef OPENSSL_NO_RSA
/* Do in software if the key is too large for the hardware. */ /* Do in software if the key is too large for the hardware. */
if (BN_num_bits(m) > max_key_len) if (BN_num_bits(m) > max_key_len)
{ {
@ -720,13 +721,13 @@ static int ubsec_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
ret = (*meth->bn_mod_exp)(r, a, p, m, ctx, m_ctx); ret = (*meth->bn_mod_exp)(r, a, p, m, ctx, m_ctx);
} }
else else
#endif
{ {
ret = ubsec_mod_exp(r, a, p, m, ctx); ret = ubsec_mod_exp(r, a, p, m, ctx);
} }
return ret; return ret;
} }
#endif
#ifndef OPENSSL_NO_DH #ifndef OPENSSL_NO_DH
/* This function is aliased to mod_exp (with the dh and mont dropped). */ /* This function is aliased to mod_exp (with the dh and mont dropped). */