Latest update.

This commit is contained in:
2020-04-25 19:56:17 +09:00
parent 2015c00c43
commit 80ef640063
5977 changed files with 13451 additions and 5979 deletions
+11 -50
View File
@@ -20,6 +20,10 @@
#include <openssl/x509v3.h>
#include "internal/cryptlib.h"
DEFINE_STACK_OF(X509_NAME)
DEFINE_STACK_OF(X509)
DEFINE_STACK_OF_CONST(SSL_CIPHER)
#define TLS13_NUM_CIPHERS OSSL_NELEM(tls13_ciphers)
#define SSL3_NUM_CIPHERS OSSL_NELEM(ssl3_ciphers)
#define SSL3_NUM_SCSVS OSSL_NELEM(ssl3_scsvs)
@@ -4424,8 +4428,10 @@ int ssl3_get_req_cert_type(SSL *s, WPACKET *pkt)
#ifndef OPENSSL_NO_GOST
if (s->version >= TLS1_VERSION && (alg_k & SSL_kGOST))
return WPACKET_put_bytes_u8(pkt, TLS_CT_GOST01_SIGN)
&& WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_SIGN)
&& WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_512_SIGN);
&& WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_IANA_SIGN)
&& WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_IANA_512_SIGN)
&& WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_LEGACY_SIGN)
&& WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_LEGACY_512_SIGN);
#endif
if ((s->version == SSL3_VERSION) && (alg_k & SSL_kDHE)) {
@@ -4790,40 +4796,10 @@ EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id)
goto err;
}
gtype = ginf->flags & TLS_GROUP_TYPE;
/*
* TODO(3.0): Convert these EVP_PKEY_CTX_new_id calls to ones that take
* s->ctx->libctx and s->ctx->propq when keygen has been updated to be
* provider aware.
*/
# ifndef OPENSSL_NO_DH
if (gtype == TLS_GROUP_FFDHE)
# if 0
pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, "DH", s->ctx->propq);
# else
pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_DH, NULL);
# endif
# ifndef OPENSSL_NO_EC
else
# endif /* OPENSSL_NO_EC */
# endif /* OPENSSL_NO_DH */
# ifndef OPENSSL_NO_EC
{
/*
* TODO(3.0): When provider based EC key gen is present we can enable
* this code.
*/
if (gtype == TLS_GROUP_CURVE_CUSTOM)
pctx = EVP_PKEY_CTX_new_id(ginf->nid, NULL);
else
# if 0
pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, "EC",
s->ctx->propq);
# else
pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL);
# endif
}
# endif /* OPENSSL_NO_EC */
pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, ginf->keytype,
s->ctx->propq);
if (pctx == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP,
ERR_R_MALLOC_FAILURE);
@@ -4889,11 +4865,7 @@ EVP_PKEY *ssl_generate_param_group(SSL *s, uint16_t id)
EVP_PKEY_CTX *pctx = NULL;
EVP_PKEY *pkey = NULL;
const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id);
#if 0
const char *pkey_ctx_name;
#else
int pkey_ctx_id;
#endif
if (ginf == NULL)
goto err;
@@ -4906,20 +4878,9 @@ EVP_PKEY *ssl_generate_param_group(SSL *s, uint16_t id)
return NULL;
}
/*
* TODO(3.0): Convert this EVP_PKEY_CTX_new_id call to one that takes
* s->ctx->libctx and s->ctx->propq when paramgen has been updated to be
* provider aware.
*/
#if 0
pkey_ctx_name = (ginf->flags & TLS_GROUP_FFDHE) != 0 ? "DH" : "EC";
pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, pkey_ctx_name,
s->ctx->propq);
#else
pkey_ctx_id = (ginf->flags & TLS_GROUP_FFDHE)
? EVP_PKEY_DH : EVP_PKEY_EC;
pctx = EVP_PKEY_CTX_new_id(pkey_ctx_id, NULL);
#endif
if (pctx == NULL)
goto err;