1 use libc::*; 2 3 use *; 4 5 pub type pem_password_cb = Option< 6 unsafe extern "C" fn( 7 buf: *mut c_char, 8 size: c_int, 9 rwflag: c_int, 10 user_data: *mut c_void, 11 ) -> c_int, 12 >; 13 14 const_ptr_api! { 15 extern "C" { 16 pub fn PEM_write_bio_X509(bio: *mut BIO, x509: #[const_ptr_if(ossl300)] X509) -> c_int; 17 pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, x509: #[const_ptr_if(ossl300)] X509_REQ) -> c_int; 18 pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, x509: #[const_ptr_if(ossl300)] X509_CRL) -> c_int; 19 pub fn PEM_write_bio_RSAPrivateKey( 20 bp: *mut BIO, 21 rsa: #[const_ptr_if(ossl300)] RSA, 22 cipher: *const EVP_CIPHER, 23 kstr: #[const_ptr_if(ossl300)] c_uchar, 24 klen: c_int, 25 callback: pem_password_cb, 26 user_data: *mut c_void, 27 ) -> c_int; 28 pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: #[const_ptr_if(ossl300)] RSA) -> c_int; 29 pub fn PEM_write_bio_DSAPrivateKey( 30 bp: *mut BIO, 31 dsa: #[const_ptr_if(ossl300)] DSA, 32 cipher: *const EVP_CIPHER, 33 kstr: #[const_ptr_if(ossl300)] c_uchar, 34 klen: c_int, 35 callback: pem_password_cb, 36 user_data: *mut c_void, 37 ) -> c_int; 38 pub fn PEM_write_bio_ECPrivateKey( 39 bio: *mut BIO, 40 key: #[const_ptr_if(ossl300)] EC_KEY, 41 cipher: *const EVP_CIPHER, 42 kstr: #[const_ptr_if(ossl300)] c_uchar, 43 klen: c_int, 44 callback: pem_password_cb, 45 user_data: *mut c_void, 46 ) -> c_int; 47 pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: #[const_ptr_if(ossl300)] DSA) -> c_int; 48 pub fn PEM_write_bio_PrivateKey( 49 bio: *mut BIO, 50 pkey: #[const_ptr_if(ossl300)] EVP_PKEY, 51 cipher: *const EVP_CIPHER, 52 kstr: #[const_ptr_if(ossl300)] c_uchar, 53 klen: c_int, 54 callback: pem_password_cb, 55 user_data: *mut c_void, 56 ) -> c_int; 57 pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: #[const_ptr_if(ossl300)] EVP_PKEY) -> c_int; 58 pub fn PEM_write_bio_PKCS8PrivateKey( 59 bio: *mut BIO, 60 pkey: #[const_ptr_if(ossl300)] EVP_PKEY, 61 cipher: *const EVP_CIPHER, 62 kstr: #[const_ptr_if(ossl300)] c_char, 63 klen: c_int, 64 callback: pem_password_cb, 65 user_data: *mut c_void, 66 ) -> c_int; 67 pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: #[const_ptr_if(ossl300)] PKCS7) -> c_int; 68 pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: #[const_ptr_if(ossl300)] EC_KEY) -> c_int; 69 } 70 } 71 72 extern "C" { PEM_read_bio_X509( bio: *mut BIO, out: *mut *mut X509, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X50973 pub fn PEM_read_bio_X509( 74 bio: *mut BIO, 75 out: *mut *mut X509, 76 callback: pem_password_cb, 77 user_data: *mut c_void, 78 ) -> *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_REQ79 pub fn PEM_read_bio_X509_REQ( 80 bio: *mut BIO, 81 out: *mut *mut X509_REQ, 82 callback: pem_password_cb, 83 user_data: *mut c_void, 84 ) -> *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_CRL85 pub fn PEM_read_bio_X509_CRL( 86 bio: *mut BIO, 87 out: *mut *mut X509_CRL, 88 callback: pem_password_cb, 89 user_data: *mut c_void, 90 ) -> *mut X509_CRL; PEM_read_bio_RSAPrivateKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA91 pub fn PEM_read_bio_RSAPrivateKey( 92 bio: *mut BIO, 93 rsa: *mut *mut RSA, 94 callback: pem_password_cb, 95 user_data: *mut c_void, 96 ) -> *mut RSA; PEM_read_bio_RSAPublicKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA97 pub fn PEM_read_bio_RSAPublicKey( 98 bio: *mut BIO, 99 rsa: *mut *mut RSA, 100 callback: pem_password_cb, 101 user_data: *mut c_void, 102 ) -> *mut RSA; PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int103 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 RSA104 pub fn PEM_read_bio_RSA_PUBKEY( 105 bio: *mut BIO, 106 rsa: *mut *mut RSA, 107 callback: pem_password_cb, 108 user_data: *mut c_void, 109 ) -> *mut RSA; PEM_read_bio_DSAPrivateKey( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA110 pub fn PEM_read_bio_DSAPrivateKey( 111 bp: *mut BIO, 112 dsa: *mut *mut DSA, 113 callback: pem_password_cb, 114 user_data: *mut c_void, 115 ) -> *mut DSA; PEM_read_bio_DSA_PUBKEY( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA116 pub fn PEM_read_bio_DSA_PUBKEY( 117 bp: *mut BIO, 118 dsa: *mut *mut DSA, 119 callback: pem_password_cb, 120 user_data: *mut c_void, 121 ) -> *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_KEY122 pub fn PEM_read_bio_ECPrivateKey( 123 bio: *mut BIO, 124 key: *mut *mut EC_KEY, 125 callback: pem_password_cb, 126 user_data: *mut c_void, 127 ) -> *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_KEY128 pub fn PEM_read_bio_EC_PUBKEY( 129 bp: *mut BIO, 130 ec: *mut *mut EC_KEY, 131 callback: pem_password_cb, 132 user_data: *mut c_void, 133 ) -> *mut EC_KEY; PEM_read_bio_DHparams( bio: *mut BIO, out: *mut *mut DH, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DH134 pub fn PEM_read_bio_DHparams( 135 bio: *mut BIO, 136 out: *mut *mut DH, 137 callback: pem_password_cb, 138 user_data: *mut c_void, 139 ) -> *mut DH; PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int140 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_PKEY141 pub fn PEM_read_bio_PrivateKey( 142 bio: *mut BIO, 143 out: *mut *mut EVP_PKEY, 144 callback: pem_password_cb, 145 user_data: *mut c_void, 146 ) -> *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_PKEY147 pub fn PEM_read_bio_PUBKEY( 148 bio: *mut BIO, 149 out: *mut *mut EVP_PKEY, 150 callback: pem_password_cb, 151 user_data: *mut c_void, 152 ) -> *mut EVP_PKEY; 153 d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY154 pub fn d2i_PKCS8PrivateKey_bio( 155 bp: *mut BIO, 156 x: *mut *mut EVP_PKEY, 157 cb: pem_password_cb, 158 u: *mut c_void, 159 ) -> *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_INFO160 pub fn d2i_PKCS8_PRIV_KEY_INFO( 161 k: *mut *mut PKCS8_PRIV_KEY_INFO, 162 buf: *mut *const u8, 163 length: c_long, 164 ) -> *mut PKCS8_PRIV_KEY_INFO; PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO)165 pub fn PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO); 166 PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7167 pub fn PEM_read_bio_PKCS7( 168 bio: *mut BIO, 169 out: *mut *mut PKCS7, 170 cb: pem_password_cb, 171 u: *mut c_void, 172 ) -> *mut PKCS7; 173 174 #[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_ContentInfo175 pub fn PEM_read_bio_CMS( 176 bio: *mut BIO, 177 out: *mut *mut CMS_ContentInfo, 178 callback: pem_password_cb, 179 user_data: *mut c_void, 180 ) -> *mut CMS_ContentInfo; 181 #[cfg(ossl101)] PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int182 pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int; 183 } 184 185 pub const PEM_R_NO_START_LINE: c_int = 108; 186