summaryrefslogtreecommitdiffstats
path: root/include/crypto/dsa.h
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-02-16 13:03:46 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-02-16 13:03:46 +1000
commit8083fd3a183d4c881d6b15727cbc6cb7faeb3280 (patch)
tree82e998aa30cc9dc610b4f262df1f7ef73b23edad /include/crypto/dsa.h
parent98ad3fe82bd3e7e7f929dd1fa4ef3915426002c0 (diff)
Add FFC param/key validation
Embed libctx in dsa and dh objects and cleanup internal methods to not pass libctx (This makes it consistent with the rsa changes) Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10910)
Diffstat (limited to 'include/crypto/dsa.h')
-rw-r--r--include/crypto/dsa.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/include/crypto/dsa.h b/include/crypto/dsa.h
index 1865fe0f77..1da23a8a7b 100644
--- a/include/crypto/dsa.h
+++ b/include/crypto/dsa.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -12,16 +12,19 @@
#define DSA_PARAMGEN_TYPE_FIPS_186_2 1 /* Use legacy FIPS186-2 standard */
#define DSA_PARAMGEN_TYPE_FIPS_186_4 2 /* Use FIPS186-4 standard */
-int dsa_generate_parameters_ctx(OPENSSL_CTX *libctx, DSA *dsa, int bits,
- const unsigned char *seed_in, int seed_len,
- int *counter_ret, unsigned long *h_ret,
- BN_GENCB *cb);
+DSA *dsa_new_with_ctx(OPENSSL_CTX *libctx);
-int dsa_generate_ffc_parameters(OPENSSL_CTX *libctx, DSA *dsa, int type,
+int dsa_generate_ffc_parameters(DSA *dsa, int type,
int pbits, int qbits, int gindex,
BN_GENCB *cb);
-int dsa_sign_int(OPENSSL_CTX *libctx, int type, const unsigned char *dgst,
+int dsa_sign_int(int type, const unsigned char *dgst,
int dlen, unsigned char *sig, unsigned int *siglen, DSA *dsa);
-int dsa_generate_key_ctx(OPENSSL_CTX *libctx, DSA *dsa);
const unsigned char *dsa_algorithmidentifier_encoding(int md_nid, size_t *len);
+int dsa_generate_public_key(BN_CTX *ctx, const DSA *dsa, const BIGNUM *priv_key,
+ BIGNUM *pub_key);
+int dsa_check_params(const DSA *dsa, int *ret);
+int dsa_check_pub_key(const DSA *dsa, const BIGNUM *pub_key, int *ret);
+int dsa_check_pub_key_partial(const DSA *dsa, const BIGNUM *pub_key, int *ret);
+int dsa_check_priv_key(const DSA *dsa, const BIGNUM *priv_key, int *ret);
+int dsa_check_pairwise(const DSA *dsa);