Spaces:
Sleeping
Sleeping
/* | |
* Copyright 1995-2023 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 | |
* in the file LICENSE in the source distribution or at | |
* https://www.openssl.org/source/license.html | |
*/ | |
extern "C" { | |
/* DH parameter generation types used by EVP_PKEY_CTX_set_dh_paramgen_type() */ | |
int EVP_PKEY_CTX_set_dh_paramgen_type(EVP_PKEY_CTX *ctx, int typ); | |
int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex); | |
int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx, | |
const unsigned char *seed, | |
size_t seedlen); | |
int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits); | |
int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int qlen); | |
int EVP_PKEY_CTX_set_dh_paramgen_generator(EVP_PKEY_CTX *ctx, int gen); | |
int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid); | |
int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int gen); | |
int EVP_PKEY_CTX_set_dhx_rfc5114(EVP_PKEY_CTX *ctx, int gen); | |
int EVP_PKEY_CTX_set_dh_pad(EVP_PKEY_CTX *ctx, int pad); | |
int EVP_PKEY_CTX_set_dh_kdf_type(EVP_PKEY_CTX *ctx, int kdf); | |
int EVP_PKEY_CTX_get_dh_kdf_type(EVP_PKEY_CTX *ctx); | |
int EVP_PKEY_CTX_set0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT *oid); | |
int EVP_PKEY_CTX_get0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT **oid); | |
int EVP_PKEY_CTX_set_dh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); | |
int EVP_PKEY_CTX_get_dh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); | |
int EVP_PKEY_CTX_set_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int len); | |
int EVP_PKEY_CTX_get_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int *len); | |
int EVP_PKEY_CTX_set0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char *ukm, int len); | |
OSSL_DEPRECATEDIN_3_0 | |
int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm); | |
/* KDF types */ | |
/* | |
* Does nothing. Previously this switched off constant time behaviour. | |
*/ | |
/* | |
* If this flag is set the DH method is FIPS compliant and can be used in | |
* FIPS mode. This is set in the validated module method. If an application | |
* sets this flag in its own methods it is its responsibility to ensure the | |
* result is compliant. | |
*/ | |
/* | |
* If this flag is set the operations normally disabled in FIPS mode are | |
* permitted it is then the applications responsibility to ensure that the | |
* usage is compliant. | |
*/ | |
/* Already defined in ossl_typ.h */ | |
/* typedef struct dh_st DH; */ | |
/* typedef struct dh_method DH_METHOD; */ | |
DECLARE_ASN1_ITEM(DHparams) | |
/* DH_check error codes */ | |
/* | |
* NB: These values must align with the equivalently named macros in | |
* internal/ffc.h. | |
*/ | |
/* DH_check_pub_key error codes */ | |
/* | |
* primes p where (p-1)/2 is prime too are called "safe"; we define this for | |
* backward compatibility: | |
*/ | |
DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, DH, DHparams) | |
OSSL_DEPRECATEDIN_3_0 const DH_METHOD *DH_OpenSSL(void); | |
OSSL_DEPRECATEDIN_3_0 void DH_set_default_method(const DH_METHOD *meth); | |
OSSL_DEPRECATEDIN_3_0 const DH_METHOD *DH_get_default_method(void); | |
OSSL_DEPRECATEDIN_3_0 int DH_set_method(DH *dh, const DH_METHOD *meth); | |
OSSL_DEPRECATEDIN_3_0 DH *DH_new_method(ENGINE *engine); | |
OSSL_DEPRECATEDIN_3_0 DH *DH_new(void); | |
OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_up_ref(DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_bits(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_size(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_security_bits(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_set_ex_data(DH *d, int idx, void *arg); | |
OSSL_DEPRECATEDIN_3_0 void *DH_get_ex_data(const DH *d, int idx); | |
OSSL_DEPRECATEDIN_3_0 int DH_generate_parameters_ex(DH *dh, int prime_len, | |
int generator, | |
BN_GENCB *cb); | |
OSSL_DEPRECATEDIN_3_0 int DH_check_params_ex(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_check_ex(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key); | |
OSSL_DEPRECATEDIN_3_0 int DH_check_params(const DH *dh, int *ret); | |
OSSL_DEPRECATEDIN_3_0 int DH_check(const DH *dh, int *codes); | |
OSSL_DEPRECATEDIN_3_0 int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, | |
int *codes); | |
OSSL_DEPRECATEDIN_3_0 int DH_generate_key(DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_compute_key(unsigned char *key, | |
const BIGNUM *pub_key, DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_compute_key_padded(unsigned char *key, | |
const BIGNUM *pub_key, DH *dh); | |
DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0, DH, DHparams) | |
DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0, DH, DHxparams) | |
OSSL_DEPRECATEDIN_3_0 int DHparams_print_fp(FILE *fp, const DH *x); | |
OSSL_DEPRECATEDIN_3_0 int DHparams_print(BIO *bp, const DH *x); | |
/* RFC 5114 parameters */ | |
OSSL_DEPRECATEDIN_3_0 DH *DH_get_1024_160(void); | |
OSSL_DEPRECATEDIN_3_0 DH *DH_get_2048_224(void); | |
OSSL_DEPRECATEDIN_3_0 DH *DH_get_2048_256(void); | |
/* Named parameters, currently RFC7919 and RFC3526 */ | |
OSSL_DEPRECATEDIN_3_0 DH *DH_new_by_nid(int nid); | |
OSSL_DEPRECATEDIN_3_0 int DH_get_nid(const DH *dh); | |
/* RFC2631 KDF */ | |
OSSL_DEPRECATEDIN_3_0 int DH_KDF_X9_42(unsigned char *out, size_t outlen, | |
const unsigned char *Z, size_t Zlen, | |
ASN1_OBJECT *key_oid, | |
const unsigned char *ukm, | |
size_t ukmlen, const EVP_MD *md); | |
OSSL_DEPRECATEDIN_3_0 void DH_get0_pqg(const DH *dh, const BIGNUM **p, | |
const BIGNUM **q, const BIGNUM **g); | |
OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); | |
OSSL_DEPRECATEDIN_3_0 void DH_get0_key(const DH *dh, const BIGNUM **pub_key, | |
const BIGNUM **priv_key); | |
OSSL_DEPRECATEDIN_3_0 int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); | |
OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_p(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_q(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_g(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_priv_key(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_pub_key(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 void DH_clear_flags(DH *dh, int flags); | |
OSSL_DEPRECATEDIN_3_0 int DH_test_flags(const DH *dh, int flags); | |
OSSL_DEPRECATEDIN_3_0 void DH_set_flags(DH *dh, int flags); | |
OSSL_DEPRECATEDIN_3_0 ENGINE *DH_get0_engine(DH *d); | |
OSSL_DEPRECATEDIN_3_0 long DH_get_length(const DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_set_length(DH *dh, long length); | |
OSSL_DEPRECATEDIN_3_0 DH_METHOD *DH_meth_new(const char *name, int flags); | |
OSSL_DEPRECATEDIN_3_0 void DH_meth_free(DH_METHOD *dhm); | |
OSSL_DEPRECATEDIN_3_0 DH_METHOD *DH_meth_dup(const DH_METHOD *dhm); | |
OSSL_DEPRECATEDIN_3_0 const char *DH_meth_get0_name(const DH_METHOD *dhm); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set1_name(DH_METHOD *dhm, const char *name); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_get_flags(const DH_METHOD *dhm); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_flags(DH_METHOD *dhm, int flags); | |
OSSL_DEPRECATEDIN_3_0 void *DH_meth_get0_app_data(const DH_METHOD *dhm); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data); | |
OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_generate_key(DH_METHOD *dhm, | |
int (*generate_key) (DH *)); | |
OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) | |
(unsigned char *key, | |
const BIGNUM *pub_key, | |
DH *dh); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_compute_key(DH_METHOD *dhm, | |
int (*compute_key) | |
(unsigned char *key, | |
const BIGNUM *pub_key, | |
DH *dh)); | |
OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) | |
(const DH *, BIGNUM *, | |
const BIGNUM *, | |
const BIGNUM *, | |
const BIGNUM *, BN_CTX *, | |
BN_MONT_CTX *); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, | |
int (*bn_mod_exp) | |
(const DH *, BIGNUM *, | |
const BIGNUM *, const BIGNUM *, | |
const BIGNUM *, BN_CTX *, | |
BN_MONT_CTX *)); | |
OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)); | |
OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)); | |
OSSL_DEPRECATEDIN_3_0 int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) | |
(DH *, int, int, | |
BN_GENCB *); | |
OSSL_DEPRECATEDIN_3_0 int DH_meth_set_generate_params(DH_METHOD *dhm, | |
int (*generate_params) | |
(DH *, int, int, | |
BN_GENCB *)); | |
OSSL_DEPRECATEDIN_0_9_8 DH *DH_generate_parameters(int prime_len, int generator, | |
void (*callback) (int, int, | |
void *), | |
void *cb_arg); | |
} | |