diff options
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/dh/dh_backend.c | 9 | ||||
-rw-r--r-- | crypto/dsa/dsa_backend.c | 7 | ||||
-rw-r--r-- | crypto/dsa/dsa_lib.c | 7 | ||||
-rw-r--r-- | crypto/ec/ec_backend.c | 4 |
4 files changed, 0 insertions, 27 deletions
diff --git a/crypto/dh/dh_backend.c b/crypto/dh/dh_backend.c index 660bb4845a..6e545763dc 100644 --- a/crypto/dh/dh_backend.c +++ b/crypto/dh/dh_backend.c @@ -69,15 +69,6 @@ int dh_key_fromdata(DH *dh, const OSSL_PARAM params[]) param_priv_key = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PRIV_KEY); param_pub_key = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PUB_KEY); - /* - * DH documentation says that a public key must be present if a - * private key is present. - * We want to have at least a public key either way, so we end up - * requiring it unconditionally. - */ - if (param_priv_key != NULL && param_pub_key == NULL) - return 0; - if ((param_priv_key != NULL && !OSSL_PARAM_get_BN(param_priv_key, &priv_key)) || (param_pub_key != NULL diff --git a/crypto/dsa/dsa_backend.c b/crypto/dsa/dsa_backend.c index 4809b3100b..6a053611e1 100644 --- a/crypto/dsa/dsa_backend.c +++ b/crypto/dsa/dsa_backend.c @@ -39,13 +39,6 @@ int dsa_key_fromdata(DSA *dsa, const OSSL_PARAM params[]) if (param_priv_key == NULL && param_pub_key == NULL) return 1; - /* - * DSA documentation says that a public key must be present if a - * private key is present. - */ - if (param_priv_key != NULL && param_pub_key == NULL) - return 0; - if (param_pub_key != NULL && !OSSL_PARAM_get_BN(param_pub_key, &pub_key)) goto err; if (param_priv_key != NULL && !OSSL_PARAM_get_BN(param_priv_key, &priv_key)) diff --git a/crypto/dsa/dsa_lib.c b/crypto/dsa/dsa_lib.c index df9dd73dfd..7488fa2451 100644 --- a/crypto/dsa/dsa_lib.c +++ b/crypto/dsa/dsa_lib.c @@ -310,13 +310,6 @@ void DSA_get0_key(const DSA *d, int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) { - /* If the field pub_key in d is NULL, the corresponding input - * parameters MUST be non-NULL. The priv_key field may - * be left NULL. - */ - if (d->pub_key == NULL && pub_key == NULL) - return 0; - if (pub_key != NULL) { BN_free(d->pub_key); d->pub_key = pub_key; diff --git a/crypto/ec/ec_backend.c b/crypto/ec/ec_backend.c index dccf6a15b9..f950657173 100644 --- a/crypto/ec/ec_backend.c +++ b/crypto/ec/ec_backend.c @@ -245,10 +245,6 @@ int ec_key_fromdata(EC_KEY *ec, const OSSL_PARAM params[], int include_private) if (ctx == NULL) goto err; - /* OpenSSL decree: If there's a private key, there must be a public key */ - if (param_priv_key != NULL && param_pub_key == NULL) - goto err; - if (param_pub_key != NULL) if (!OSSL_PARAM_get_octet_string(param_pub_key, (void **)&pub_key, 0, &pub_key_len) |