diff options
| author | jsing <> | 2020-05-19 16:35:21 +0000 |
|---|---|---|
| committer | jsing <> | 2020-05-19 16:35:21 +0000 |
| commit | 369bbcd163f15f6e452e14282f0a65dafde2f5ab (patch) | |
| tree | 5ff7e57b9c4172ec2feea5a8c0a76ee21339a4af /src/lib/libssl/ssl_lib.c | |
| parent | 5ce16e8a6720f50f7054baab450a98b2791794fc (diff) | |
| download | openbsd-369bbcd163f15f6e452e14282f0a65dafde2f5ab.tar.gz openbsd-369bbcd163f15f6e452e14282f0a65dafde2f5ab.tar.bz2 openbsd-369bbcd163f15f6e452e14282f0a65dafde2f5ab.zip | |
Replace SSL_PKEY_RSA_ENC/SSL_PKEY_RSA_SIGN with SSL_PKEY_RSA.
Some time prior to SSLeay 0.8.1b, SSL_PKEY_RSA_SIGN got added with the
intention of handling RSA sign only certificates... this incomplete code
had the following comment:
/* check to see if this is a signing only certificate */
/* EAY EAY EAY EAY */
And while the comment was removed in 2005, the incomplete RSA sign-only
handling has remained ever since.
Remove SSL_PKEY_RSA_SIGN and rename SSL_PKEY_RSA_ENC to SSL_PKEY_RSA. While
here also remove the unused SSL_PKEY_DH_RSA.
ok tb@
Diffstat (limited to 'src/lib/libssl/ssl_lib.c')
| -rw-r--r-- | src/lib/libssl/ssl_lib.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 1c4ab636a1..fa1d209c8c 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_lib.c,v 1.213 2020/05/10 14:17:47 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.214 2020/05/19 16:35:20 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -1968,7 +1968,7 @@ SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth) | |||
| 1968 | void | 1968 | void |
| 1969 | ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) | 1969 | ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) |
| 1970 | { | 1970 | { |
| 1971 | int rsa_enc, rsa_sign, dh_tmp; | 1971 | int rsa, dh_tmp; |
| 1972 | int have_ecc_cert; | 1972 | int have_ecc_cert; |
| 1973 | unsigned long mask_k, mask_a; | 1973 | unsigned long mask_k, mask_a; |
| 1974 | X509 *x = NULL; | 1974 | X509 *x = NULL; |
| @@ -1980,10 +1980,8 @@ ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) | |||
| 1980 | dh_tmp = (c->dh_tmp != NULL || c->dh_tmp_cb != NULL || | 1980 | dh_tmp = (c->dh_tmp != NULL || c->dh_tmp_cb != NULL || |
| 1981 | c->dh_tmp_auto != 0); | 1981 | c->dh_tmp_auto != 0); |
| 1982 | 1982 | ||
| 1983 | cpk = &(c->pkeys[SSL_PKEY_RSA_ENC]); | 1983 | cpk = &(c->pkeys[SSL_PKEY_RSA]); |
| 1984 | rsa_enc = (cpk->x509 != NULL && cpk->privatekey != NULL); | 1984 | rsa = (cpk->x509 != NULL && cpk->privatekey != NULL); |
| 1985 | cpk = &(c->pkeys[SSL_PKEY_RSA_SIGN]); | ||
| 1986 | rsa_sign = (cpk->x509 != NULL && cpk->privatekey != NULL); | ||
| 1987 | cpk = &(c->pkeys[SSL_PKEY_ECC]); | 1985 | cpk = &(c->pkeys[SSL_PKEY_ECC]); |
| 1988 | have_ecc_cert = (cpk->x509 != NULL && cpk->privatekey != NULL); | 1986 | have_ecc_cert = (cpk->x509 != NULL && cpk->privatekey != NULL); |
| 1989 | 1987 | ||
| @@ -1996,13 +1994,13 @@ ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher) | |||
| 1996 | mask_a |= SSL_aGOST01; | 1994 | mask_a |= SSL_aGOST01; |
| 1997 | } | 1995 | } |
| 1998 | 1996 | ||
| 1999 | if (rsa_enc) | 1997 | if (rsa) |
| 2000 | mask_k |= SSL_kRSA; | 1998 | mask_k |= SSL_kRSA; |
| 2001 | 1999 | ||
| 2002 | if (dh_tmp) | 2000 | if (dh_tmp) |
| 2003 | mask_k |= SSL_kDHE; | 2001 | mask_k |= SSL_kDHE; |
| 2004 | 2002 | ||
| 2005 | if (rsa_enc || rsa_sign) | 2003 | if (rsa) |
| 2006 | mask_a |= SSL_aRSA; | 2004 | mask_a |= SSL_aRSA; |
| 2007 | 2005 | ||
| 2008 | mask_a |= SSL_aNULL; | 2006 | mask_a |= SSL_aNULL; |
| @@ -2085,10 +2083,7 @@ ssl_get_server_send_pkey(const SSL *s) | |||
| 2085 | if (alg_a & SSL_aECDSA) { | 2083 | if (alg_a & SSL_aECDSA) { |
| 2086 | i = SSL_PKEY_ECC; | 2084 | i = SSL_PKEY_ECC; |
| 2087 | } else if (alg_a & SSL_aRSA) { | 2085 | } else if (alg_a & SSL_aRSA) { |
| 2088 | if (c->pkeys[SSL_PKEY_RSA_ENC].x509 == NULL) | 2086 | i = SSL_PKEY_RSA; |
| 2089 | i = SSL_PKEY_RSA_SIGN; | ||
| 2090 | else | ||
| 2091 | i = SSL_PKEY_RSA_ENC; | ||
| 2092 | } else if (alg_a & SSL_aGOST01) { | 2087 | } else if (alg_a & SSL_aGOST01) { |
| 2093 | i = SSL_PKEY_GOST01; | 2088 | i = SSL_PKEY_GOST01; |
| 2094 | } else { /* if (alg_a & SSL_aNULL) */ | 2089 | } else { /* if (alg_a & SSL_aNULL) */ |
| @@ -2113,10 +2108,7 @@ ssl_get_sign_pkey(SSL *s, const SSL_CIPHER *cipher, const EVP_MD **pmd, | |||
| 2113 | c = s->cert; | 2108 | c = s->cert; |
| 2114 | 2109 | ||
| 2115 | if (alg_a & SSL_aRSA) { | 2110 | if (alg_a & SSL_aRSA) { |
| 2116 | if (c->pkeys[SSL_PKEY_RSA_SIGN].privatekey != NULL) | 2111 | idx = SSL_PKEY_RSA; |
| 2117 | idx = SSL_PKEY_RSA_SIGN; | ||
| 2118 | else if (c->pkeys[SSL_PKEY_RSA_ENC].privatekey != NULL) | ||
| 2119 | idx = SSL_PKEY_RSA_ENC; | ||
| 2120 | } else if ((alg_a & SSL_aECDSA) && | 2112 | } else if ((alg_a & SSL_aECDSA) && |
| 2121 | (c->pkeys[SSL_PKEY_ECC].privatekey != NULL)) | 2113 | (c->pkeys[SSL_PKEY_ECC].privatekey != NULL)) |
| 2122 | idx = SSL_PKEY_ECC; | 2114 | idx = SSL_PKEY_ECC; |
