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 extern "C" { PEM_read_bio_X509( bio: *mut BIO, out: *mut *mut X509, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X50915 pub fn PEM_read_bio_X509( 16 bio: *mut BIO, 17 out: *mut *mut X509, 18 callback: pem_password_cb, 19 user_data: *mut c_void, 20 ) -> *mut X509; PEM_write_bio_X509(bio: *mut BIO, x509: *mut X509) -> c_int21 pub fn PEM_write_bio_X509(bio: *mut BIO, x509: *mut X509) -> c_int; PEM_read_bio_X509_CRL( bio: *mut BIO, out: *mut *mut X509_CRL, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_CRL22 pub fn PEM_read_bio_X509_CRL( 23 bio: *mut BIO, 24 out: *mut *mut X509_CRL, 25 callback: pem_password_cb, 26 user_data: *mut c_void, 27 ) -> *mut X509_CRL; PEM_write_bio_X509_CRL(bio: *mut BIO, x509: *mut X509_CRL) -> c_int28 pub fn PEM_write_bio_X509_CRL(bio: *mut BIO, x509: *mut X509_CRL) -> c_int; PEM_read_bio_X509_REQ( bio: *mut BIO, out: *mut *mut X509_REQ, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_REQ29 pub fn PEM_read_bio_X509_REQ( 30 bio: *mut BIO, 31 out: *mut *mut X509_REQ, 32 callback: pem_password_cb, 33 user_data: *mut c_void, 34 ) -> *mut X509_REQ; PEM_write_bio_X509_REQ(bio: *mut BIO, x509: *mut X509_REQ) -> c_int35 pub fn PEM_write_bio_X509_REQ(bio: *mut BIO, x509: *mut X509_REQ) -> c_int; PEM_read_bio_RSAPrivateKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA36 pub fn PEM_read_bio_RSAPrivateKey( 37 bio: *mut BIO, 38 rsa: *mut *mut RSA, 39 callback: pem_password_cb, 40 user_data: *mut c_void, 41 ) -> *mut RSA; PEM_write_bio_RSAPrivateKey( bp: *mut BIO, rsa: *mut RSA, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int42 pub fn PEM_write_bio_RSAPrivateKey( 43 bp: *mut BIO, 44 rsa: *mut RSA, 45 cipher: *const EVP_CIPHER, 46 kstr: *mut c_uchar, 47 klen: c_int, 48 callback: pem_password_cb, 49 user_data: *mut c_void, 50 ) -> c_int; PEM_read_bio_RSAPublicKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA51 pub fn PEM_read_bio_RSAPublicKey( 52 bio: *mut BIO, 53 rsa: *mut *mut RSA, 54 callback: pem_password_cb, 55 user_data: *mut c_void, 56 ) -> *mut RSA; PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int57 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 RSA58 pub fn PEM_read_bio_RSA_PUBKEY( 59 bio: *mut BIO, 60 rsa: *mut *mut RSA, 61 callback: pem_password_cb, 62 user_data: *mut c_void, 63 ) -> *mut RSA; PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int64 pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int; PEM_read_bio_DSAPrivateKey( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA65 pub fn PEM_read_bio_DSAPrivateKey( 66 bp: *mut BIO, 67 dsa: *mut *mut DSA, 68 callback: pem_password_cb, 69 user_data: *mut c_void, 70 ) -> *mut DSA; PEM_write_bio_DSAPrivateKey( bp: *mut BIO, dsa: *mut DSA, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int71 pub fn PEM_write_bio_DSAPrivateKey( 72 bp: *mut BIO, 73 dsa: *mut DSA, 74 cipher: *const EVP_CIPHER, 75 kstr: *mut c_uchar, 76 klen: c_int, 77 callback: pem_password_cb, 78 user_data: *mut c_void, 79 ) -> c_int; PEM_read_bio_DSA_PUBKEY( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA80 pub fn PEM_read_bio_DSA_PUBKEY( 81 bp: *mut BIO, 82 dsa: *mut *mut DSA, 83 callback: pem_password_cb, 84 user_data: *mut c_void, 85 ) -> *mut DSA; PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int86 pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int; PEM_read_bio_ECPrivateKey( bio: *mut BIO, key: *mut *mut EC_KEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EC_KEY87 pub fn PEM_read_bio_ECPrivateKey( 88 bio: *mut BIO, 89 key: *mut *mut EC_KEY, 90 callback: pem_password_cb, 91 user_data: *mut c_void, 92 ) -> *mut EC_KEY; PEM_write_bio_ECPrivateKey( bio: *mut BIO, key: *mut EC_KEY, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int93 pub fn PEM_write_bio_ECPrivateKey( 94 bio: *mut BIO, 95 key: *mut EC_KEY, 96 cipher: *const EVP_CIPHER, 97 kstr: *mut c_uchar, 98 klen: c_int, 99 callback: pem_password_cb, 100 user_data: *mut c_void, 101 ) -> c_int; PEM_read_bio_EC_PUBKEY( bp: *mut BIO, ec: *mut *mut EC_KEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EC_KEY102 pub fn PEM_read_bio_EC_PUBKEY( 103 bp: *mut BIO, 104 ec: *mut *mut EC_KEY, 105 callback: pem_password_cb, 106 user_data: *mut c_void, 107 ) -> *mut EC_KEY; PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: *mut EC_KEY) -> c_int108 pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: *mut EC_KEY) -> c_int; PEM_read_bio_DHparams( bio: *mut BIO, out: *mut *mut DH, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DH109 pub fn PEM_read_bio_DHparams( 110 bio: *mut BIO, 111 out: *mut *mut DH, 112 callback: pem_password_cb, 113 user_data: *mut c_void, 114 ) -> *mut DH; PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int115 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_PKEY116 pub fn PEM_read_bio_PrivateKey( 117 bio: *mut BIO, 118 out: *mut *mut EVP_PKEY, 119 callback: pem_password_cb, 120 user_data: *mut c_void, 121 ) -> *mut EVP_PKEY; PEM_write_bio_PrivateKey( bio: *mut BIO, pkey: *mut EVP_PKEY, cipher: *const EVP_CIPHER, kstr: *mut c_uchar, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int122 pub fn PEM_write_bio_PrivateKey( 123 bio: *mut BIO, 124 pkey: *mut EVP_PKEY, 125 cipher: *const EVP_CIPHER, 126 kstr: *mut c_uchar, 127 klen: c_int, 128 callback: pem_password_cb, 129 user_data: *mut c_void, 130 ) -> c_int; PEM_read_bio_PUBKEY( bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut EVP_PKEY131 pub fn PEM_read_bio_PUBKEY( 132 bio: *mut BIO, 133 out: *mut *mut EVP_PKEY, 134 callback: pem_password_cb, 135 user_data: *mut c_void, 136 ) -> *mut EVP_PKEY; PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int137 pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int; 138 PEM_write_bio_PKCS8PrivateKey( bio: *mut BIO, pkey: *mut EVP_PKEY, cipher: *const EVP_CIPHER, kstr: *mut c_char, klen: c_int, callback: pem_password_cb, user_data: *mut c_void, ) -> c_int139 pub fn PEM_write_bio_PKCS8PrivateKey( 140 bio: *mut BIO, 141 pkey: *mut EVP_PKEY, 142 cipher: *const EVP_CIPHER, 143 kstr: *mut c_char, 144 klen: c_int, 145 callback: pem_password_cb, 146 user_data: *mut c_void, 147 ) -> c_int; d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY148 pub fn d2i_PKCS8PrivateKey_bio( 149 bp: *mut BIO, 150 x: *mut *mut EVP_PKEY, 151 cb: pem_password_cb, 152 u: *mut c_void, 153 ) -> *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_INFO154 pub fn d2i_PKCS8_PRIV_KEY_INFO( 155 k: *mut *mut PKCS8_PRIV_KEY_INFO, 156 buf: *mut *const u8, 157 length: c_long, 158 ) -> *mut PKCS8_PRIV_KEY_INFO; PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO)159 pub fn PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO); 160 PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7161 pub fn PEM_read_bio_PKCS7( 162 bio: *mut BIO, 163 out: *mut *mut PKCS7, 164 cb: pem_password_cb, 165 u: *mut c_void, 166 ) -> *mut PKCS7; 167 PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int168 pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int; 169 170 #[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_ContentInfo171 pub fn PEM_read_bio_CMS( 172 bio: *mut BIO, 173 out: *mut *mut CMS_ContentInfo, 174 callback: pem_password_cb, 175 user_data: *mut c_void, 176 ) -> *mut CMS_ContentInfo; 177 #[cfg(ossl101)] PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int178 pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int; 179 } 180 181 pub const PEM_R_NO_START_LINE: c_int = 108; 182