variant_ssl_sys/handwritten/
dsa.rs1use libc::*;
2
3use super::super::*;
4
5#[cfg(ossl300)]
6extern "C" {
7 pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx: *mut EVP_PKEY_CTX, nbits: c_int) -> c_int;
8}
9
10pub enum DSA_SIG {}
11
12#[cfg(not(osslconf = "OPENSSL_NO_DEPRECATED_3_0"))]
13extern "C" {
14 pub fn DSA_new() -> *mut DSA;
15 pub fn DSA_free(dsa: *mut DSA);
16 pub fn DSA_up_ref(dsa: *mut DSA) -> c_int;
17 pub fn DSA_size(dsa: *const DSA) -> c_int;
18 pub fn DSA_sign(
19 dummy: c_int,
20 dgst: *const c_uchar,
21 len: c_int,
22 sigret: *mut c_uchar,
23 siglen: *mut c_uint,
24 dsa: *mut DSA,
25 ) -> c_int;
26 pub fn DSA_verify(
27 dummy: c_int,
28 dgst: *const c_uchar,
29 len: c_int,
30 sigbuf: *const c_uchar,
31 siglen: c_int,
32 dsa: *mut DSA,
33 ) -> c_int;
34
35 pub fn d2i_DSAPublicKey(a: *mut *mut DSA, pp: *mut *const c_uchar, length: c_long) -> *mut DSA;
36 pub fn d2i_DSAPrivateKey(a: *mut *mut DSA, pp: *mut *const c_uchar, length: c_long)
37 -> *mut DSA;
38
39 pub fn DSA_generate_parameters_ex(
40 dsa: *mut DSA,
41 bits: c_int,
42 seed: *const c_uchar,
43 seed_len: c_int,
44 counter_ref: *mut c_int,
45 h_ret: *mut c_ulong,
46 cb: *mut BN_GENCB,
47 ) -> c_int;
48
49 pub fn DSA_generate_key(dsa: *mut DSA) -> c_int;
50 pub fn i2d_DSAPublicKey(a: *const DSA, pp: *mut *mut c_uchar) -> c_int;
51 pub fn i2d_DSAPrivateKey(a: *const DSA, pp: *mut *mut c_uchar) -> c_int;
52
53 pub fn DSA_get0_pqg(
54 d: *const DSA,
55 p: *mut *const BIGNUM,
56 q: *mut *const BIGNUM,
57 q: *mut *const BIGNUM,
58 );
59 pub fn DSA_set0_pqg(d: *mut DSA, p: *mut BIGNUM, q: *mut BIGNUM, q: *mut BIGNUM) -> c_int;
60 pub fn DSA_get0_key(d: *const DSA, pub_key: *mut *const BIGNUM, priv_key: *mut *const BIGNUM);
61 pub fn DSA_set0_key(d: *mut DSA, pub_key: *mut BIGNUM, priv_key: *mut BIGNUM) -> c_int;
62}
63
64extern "C" {
65 pub fn d2i_DSA_SIG(
66 sig: *mut *mut DSA_SIG,
67 pp: *mut *const c_uchar,
68 length: c_long,
69 ) -> *mut DSA_SIG;
70 pub fn i2d_DSA_SIG(a: *const DSA_SIG, pp: *mut *mut c_uchar) -> c_int;
71
72 pub fn DSA_SIG_new() -> *mut DSA_SIG;
73 pub fn DSA_SIG_free(sig: *mut DSA_SIG);
74
75 pub fn DSA_SIG_get0(sig: *const DSA_SIG, pr: *mut *const BIGNUM, ps: *mut *const BIGNUM);
76 pub fn DSA_SIG_set0(sig: *mut DSA_SIG, pr: *mut BIGNUM, ps: *mut BIGNUM) -> c_int;
77}