]> git.ipfire.org Git - thirdparty/openssl.git/blame - include/crypto/dsa.h
dsa_check: Perform simple parameter check if seed is not available
[thirdparty/openssl.git] / include / crypto / dsa.h
CommitLineData
e683582b 1/*
8083fd3a 2 * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
e683582b
SL
3 *
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
80ce21fe
F
10#ifndef OSSL_CRYPTO_DSAERR_H
11# define OSSL_CRYPTO_DSAERR_H
12# pragma once
13
14# include <openssl/core.h>
15# include <openssl/dsa.h>
16# include "internal/ffc.h"
e683582b 17
b03ec3b5 18#define DSA_PARAMGEN_TYPE_FIPS_186_4 0 /* Use FIPS186-4 standard */
f11f86f6 19#define DSA_PARAMGEN_TYPE_FIPS_186_2 1 /* Use legacy FIPS186-2 standard */
f11f86f6 20
b4250010 21DSA *dsa_new_with_ctx(OSSL_LIB_CTX *libctx);
6963979f 22void ossl_dsa_set0_libctx(DSA *d, OSSL_LIB_CTX *libctx);
f11f86f6 23
4f2271d5
SL
24int dsa_generate_ffc_parameters(DSA *dsa, int type, int pbits, int qbits,
25 BN_GENCB *cb);
f11f86f6 26
8083fd3a 27int dsa_sign_int(int type, const unsigned char *dgst,
e683582b 28 int dlen, unsigned char *sig, unsigned int *siglen, DSA *dsa);
2888fc15
RL
29
30FFC_PARAMS *dsa_get0_params(DSA *dsa);
b03ec3b5 31int dsa_ffc_params_fromdata(DSA *dsa, const OSSL_PARAM params[]);
0abae163 32int dsa_key_fromdata(DSA *dsa, const OSSL_PARAM params[]);
2888fc15 33
8083fd3a
SL
34int dsa_generate_public_key(BN_CTX *ctx, const DSA *dsa, const BIGNUM *priv_key,
35 BIGNUM *pub_key);
ba37b820 36int dsa_check_params(const DSA *dsa, int checktype, int *ret);
8083fd3a
SL
37int dsa_check_pub_key(const DSA *dsa, const BIGNUM *pub_key, int *ret);
38int dsa_check_pub_key_partial(const DSA *dsa, const BIGNUM *pub_key, int *ret);
39int dsa_check_priv_key(const DSA *dsa, const BIGNUM *priv_key, int *ret);
40int dsa_check_pairwise(const DSA *dsa);
80ce21fe
F
41
42#endif