openssl_sys/handwritten/
pkcs12.rs

1use libc::*;
2
3use super::super::*;
4
5pub enum PKCS12 {}
6
7extern "C" {
8    pub fn PKCS12_free(p12: *mut PKCS12);
9}
10const_ptr_api! {
11    extern "C" {
12        pub fn i2d_PKCS12(a: #[const_ptr_if(ossl300)] PKCS12, buf: *mut *mut u8) -> c_int;
13    }
14}
15extern "C" {
16    pub fn d2i_PKCS12(a: *mut *mut PKCS12, pp: *mut *const u8, length: c_long) -> *mut PKCS12;
17
18    pub fn PKCS12_parse(
19        p12: *mut PKCS12,
20        pass: *const c_char,
21        pkey: *mut *mut EVP_PKEY,
22        cert: *mut *mut X509,
23        ca: *mut *mut stack_st_X509,
24    ) -> c_int;
25
26    pub fn PKCS12_set_mac(
27        p12: *mut PKCS12,
28        pass: *const c_char,
29        passlen: c_int,
30        salt: *mut c_uchar,
31        saltlen: c_int,
32        iter: c_int,
33        md_type: *const EVP_MD,
34    ) -> c_int;
35}
36const_ptr_api! {
37    extern "C" {
38        pub fn PKCS12_create(
39            pass: #[const_ptr_if(any(ossl110, libressl280))] c_char,
40            friendly_name: #[const_ptr_if(any(ossl110, libressl280))] c_char,
41            pkey: *mut EVP_PKEY,
42            cert: *mut X509,
43            ca: *mut stack_st_X509,
44            nid_key: c_int,
45            nid_cert: c_int,
46            iter: c_int,
47            mac_iter: c_int,
48            keytype: c_int,
49        ) -> *mut PKCS12;
50
51        pub fn i2d_PKCS12_bio(b: *mut BIO, a: #[const_ptr_if(ossl300)] PKCS12) -> c_int;
52    }
53}