• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use super::super::*;
2 use libc::*;
3 
4 pub type pem_password_cb = Option<
5     unsafe extern "C" fn(
6         buf: *mut c_char,
7         size: c_int,
8         rwflag: c_int,
9         user_data: *mut c_void,
10     ) -> c_int,
11 >;
12 
13 const_ptr_api! {
14     extern "C" {
15         pub fn PEM_write_bio_X509(bio: *mut BIO, x509: #[const_ptr_if(ossl300)] X509) -> c_int;
16         pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, x509: #[const_ptr_if(ossl300)] X509_REQ) -> c_int;
17         pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, x509: #[const_ptr_if(ossl300)] X509_CRL) -> c_int;
18         pub fn PEM_write_bio_RSAPrivateKey(
19             bp: *mut BIO,
20             rsa: #[const_ptr_if(ossl300)] RSA,
21             cipher: *const EVP_CIPHER,
22             kstr: #[const_ptr_if(ossl300)] c_uchar,
23             klen: c_int,
24             callback: pem_password_cb,
25             user_data: *mut c_void,
26         ) -> c_int;
27         pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: #[const_ptr_if(ossl300)] RSA) -> c_int;
28         pub fn PEM_write_bio_DSAPrivateKey(
29             bp: *mut BIO,
30             dsa: #[const_ptr_if(ossl300)] DSA,
31             cipher: *const EVP_CIPHER,
32             kstr: #[const_ptr_if(ossl300)] c_uchar,
33             klen: c_int,
34             callback: pem_password_cb,
35             user_data: *mut c_void,
36         ) -> c_int;
37         pub fn PEM_write_bio_ECPrivateKey(
38             bio: *mut BIO,
39             key: #[const_ptr_if(ossl300)] EC_KEY,
40             cipher: *const EVP_CIPHER,
41             kstr: #[const_ptr_if(ossl300)] c_uchar,
42             klen: c_int,
43             callback: pem_password_cb,
44             user_data: *mut c_void,
45         ) -> c_int;
46         pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: #[const_ptr_if(ossl300)] DSA) -> c_int;
47         pub fn PEM_write_bio_PrivateKey(
48             bio: *mut BIO,
49             pkey: #[const_ptr_if(ossl300)] EVP_PKEY,
50             cipher: *const EVP_CIPHER,
51             kstr: #[const_ptr_if(ossl300)] c_uchar,
52             klen: c_int,
53             callback: pem_password_cb,
54             user_data: *mut c_void,
55         ) -> c_int;
56         pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: #[const_ptr_if(ossl300)] EVP_PKEY) -> c_int;
57         pub fn PEM_write_bio_PKCS8PrivateKey(
58             bio: *mut BIO,
59             pkey: #[const_ptr_if(ossl300)] EVP_PKEY,
60             cipher: *const EVP_CIPHER,
61             kstr: #[const_ptr_if(ossl300)] c_char,
62             klen: c_int,
63             callback: pem_password_cb,
64             user_data: *mut c_void,
65         ) -> c_int;
66         pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: #[const_ptr_if(ossl300)] PKCS7) -> c_int;
67         pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: #[const_ptr_if(ossl300)] EC_KEY) -> c_int;
68         pub fn i2d_PKCS8PrivateKey_bio(
69             bp: *mut BIO,
70             x: #[const_ptr_if(ossl300)] EVP_PKEY,
71             enc: *const EVP_CIPHER,
72             kstr: #[const_ptr_if(ossl300)] c_char,
73             klen: c_int,
74             cb: pem_password_cb,
75             u: *mut c_void,
76         ) -> c_int;
77     }
78 }
79 
80 extern "C" {
PEM_read_bio_X509( bio: *mut BIO, out: *mut *mut X509, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X50981     pub fn PEM_read_bio_X509(
82         bio: *mut BIO,
83         out: *mut *mut X509,
84         callback: pem_password_cb,
85         user_data: *mut c_void,
86     ) -> *mut X509;
PEM_read_bio_X509_REQ( bio: *mut BIO, out: *mut *mut X509_REQ, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_REQ87     pub fn PEM_read_bio_X509_REQ(
88         bio: *mut BIO,
89         out: *mut *mut X509_REQ,
90         callback: pem_password_cb,
91         user_data: *mut c_void,
92     ) -> *mut X509_REQ;
PEM_read_bio_X509_CRL( bio: *mut BIO, out: *mut *mut X509_CRL, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_CRL93     pub fn PEM_read_bio_X509_CRL(
94         bio: *mut BIO,
95         out: *mut *mut X509_CRL,
96         callback: pem_password_cb,
97         user_data: *mut c_void,
98     ) -> *mut X509_CRL;
PEM_read_bio_RSAPrivateKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA99     pub fn PEM_read_bio_RSAPrivateKey(
100         bio: *mut BIO,
101         rsa: *mut *mut RSA,
102         callback: pem_password_cb,
103         user_data: *mut c_void,
104     ) -> *mut RSA;
PEM_read_bio_RSAPublicKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA105     pub fn PEM_read_bio_RSAPublicKey(
106         bio: *mut BIO,
107         rsa: *mut *mut RSA,
108         callback: pem_password_cb,
109         user_data: *mut c_void,
110     ) -> *mut RSA;
PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int111     pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int;
PEM_read_bio_RSA_PUBKEY( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA112     pub fn PEM_read_bio_RSA_PUBKEY(
113         bio: *mut BIO,
114         rsa: *mut *mut RSA,
115         callback: pem_password_cb,
116         user_data: *mut c_void,
117     ) -> *mut RSA;
PEM_read_bio_DSAPrivateKey( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA118     pub fn PEM_read_bio_DSAPrivateKey(
119         bp: *mut BIO,
120         dsa: *mut *mut DSA,
121         callback: pem_password_cb,
122         user_data: *mut c_void,
123     ) -> *mut DSA;
PEM_read_bio_DSA_PUBKEY( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA124     pub fn PEM_read_bio_DSA_PUBKEY(
125         bp: *mut BIO,
126         dsa: *mut *mut DSA,
127         callback: pem_password_cb,
128         user_data: *mut c_void,
129     ) -> *mut DSA;
PEM_read_bio_ECPrivateKey( bio: *mut BIO, key: *mut *mut EC_KEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EC_KEY130     pub fn PEM_read_bio_ECPrivateKey(
131         bio: *mut BIO,
132         key: *mut *mut EC_KEY,
133         callback: pem_password_cb,
134         user_data: *mut c_void,
135     ) -> *mut EC_KEY;
PEM_read_bio_EC_PUBKEY( bp: *mut BIO, ec: *mut *mut EC_KEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EC_KEY136     pub fn PEM_read_bio_EC_PUBKEY(
137         bp: *mut BIO,
138         ec: *mut *mut EC_KEY,
139         callback: pem_password_cb,
140         user_data: *mut c_void,
141     ) -> *mut EC_KEY;
PEM_read_bio_DHparams( bio: *mut BIO, out: *mut *mut DH, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DH142     pub fn PEM_read_bio_DHparams(
143         bio: *mut BIO,
144         out: *mut *mut DH,
145         callback: pem_password_cb,
146         user_data: *mut c_void,
147     ) -> *mut DH;
PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int148     pub fn PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int;
PEM_read_bio_PrivateKey( bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EVP_PKEY149     pub fn PEM_read_bio_PrivateKey(
150         bio: *mut BIO,
151         out: *mut *mut EVP_PKEY,
152         callback: pem_password_cb,
153         user_data: *mut c_void,
154     ) -> *mut EVP_PKEY;
PEM_read_bio_PUBKEY( bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EVP_PKEY155     pub fn PEM_read_bio_PUBKEY(
156         bio: *mut BIO,
157         out: *mut *mut EVP_PKEY,
158         callback: pem_password_cb,
159         user_data: *mut c_void,
160     ) -> *mut EVP_PKEY;
161 
d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY162     pub fn d2i_PKCS8PrivateKey_bio(
163         bp: *mut BIO,
164         x: *mut *mut EVP_PKEY,
165         cb: pem_password_cb,
166         u: *mut c_void,
167     ) -> *mut EVP_PKEY;
d2i_PKCS8_PRIV_KEY_INFO( k: *mut *mut PKCS8_PRIV_KEY_INFO, buf: *mut *const u8, length: c_long, ) -> *mut PKCS8_PRIV_KEY_INFO168     pub fn d2i_PKCS8_PRIV_KEY_INFO(
169         k: *mut *mut PKCS8_PRIV_KEY_INFO,
170         buf: *mut *const u8,
171         length: c_long,
172     ) -> *mut PKCS8_PRIV_KEY_INFO;
PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO)173     pub fn PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO);
174 
PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7175     pub fn PEM_read_bio_PKCS7(
176         bio: *mut BIO,
177         out: *mut *mut PKCS7,
178         cb: pem_password_cb,
179         u: *mut c_void,
180     ) -> *mut PKCS7;
181 
182     #[cfg(ossl101)]
PEM_read_bio_CMS( bio: *mut BIO, out: *mut *mut CMS_ContentInfo, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut CMS_ContentInfo183     pub fn PEM_read_bio_CMS(
184         bio: *mut BIO,
185         out: *mut *mut CMS_ContentInfo,
186         callback: pem_password_cb,
187         user_data: *mut c_void,
188     ) -> *mut CMS_ContentInfo;
189     #[cfg(ossl101)]
PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int190     pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int;
191 }
192