Skip to main content

botan_sys/
srp6.rs

1use crate::ffi_types::{c_char, c_int};
2use crate::rng::botan_rng_t;
3
4pub enum botan_srp6_server_session_struct {}
5pub type botan_srp6_server_session_t = *mut botan_srp6_server_session_struct;
6
7botan_ffi_functions! {
8    #[cfg(botan_ffi_20230403)]
9    pub fn botan_srp6_server_session_init(srp6: *mut botan_srp6_server_session_t) -> c_int;
10
11    #[cfg(botan_ffi_20230403)]
12    pub fn botan_srp6_server_session_destroy(srp6: botan_srp6_server_session_t) -> c_int;
13
14    #[cfg(botan_ffi_20230403)]
15    pub fn botan_srp6_server_session_step1(
16        srp6: botan_srp6_server_session_t,
17        verifier: *const u8,
18        verifier_len: usize,
19        group_id: *const c_char,
20        hash_id: *const c_char,
21        rng_obj: botan_rng_t,
22        B_pub: *mut u8,
23        B_pub_len: *mut usize,
24    ) -> c_int;
25
26    #[cfg(botan_ffi_20230403)]
27    pub fn botan_srp6_server_session_step2(
28        srp6: botan_srp6_server_session_t,
29        A: *const u8,
30        A_len: usize,
31        key: *mut u8,
32        key_len: *mut usize,
33    ) -> c_int;
34
35    #[cfg(botan_ffi_20230403)]
36    pub fn botan_srp6_generate_verifier(
37        identifier: *const c_char,
38        password: *const c_char,
39        salt: *const u8,
40        salt_len: usize,
41        group_id: *const c_char,
42        hash_id: *const c_char,
43        verifier: *mut u8,
44        verifier_len: *mut usize,
45    ) -> c_int;
46
47    #[cfg(botan_ffi_20230403)]
48    pub fn botan_srp6_client_agree(
49        username: *const c_char,
50        password: *const c_char,
51        group_id: *const c_char,
52        hash_id: *const c_char,
53        salt: *const u8,
54        salt_len: usize,
55        B: *const u8,
56        B_len: usize,
57        rng_obj: botan_rng_t,
58        A: *mut u8,
59        A_len: *mut usize,
60        K: *mut u8,
61        K_len: *mut usize,
62    ) -> c_int;
63
64    #[cfg(botan_ffi_20230403)]
65    pub fn botan_srp6_group_size(group_id: *const c_char, group_p_bytes: *mut usize) -> c_int;
66}