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_REQ( bio: *mut BIO, out: *mut *mut X509_REQ, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut X509_REQ22 pub fn PEM_read_bio_X509_REQ( 23 bio: *mut BIO, 24 out: *mut *mut X509_REQ, 25 callback: pem_password_cb, 26 user_data: *mut c_void, 27 ) -> *mut X509_REQ; PEM_write_bio_X509_REQ(bio: *mut BIO, x509: *mut X509_REQ) -> c_int28 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 RSA29 pub fn PEM_read_bio_RSAPrivateKey( 30 bio: *mut BIO, 31 rsa: *mut *mut RSA, 32 callback: pem_password_cb, 33 user_data: *mut c_void, 34 ) -> *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_int35 pub fn PEM_write_bio_RSAPrivateKey( 36 bp: *mut BIO, 37 rsa: *mut RSA, 38 cipher: *const EVP_CIPHER, 39 kstr: *mut c_uchar, 40 klen: c_int, 41 callback: pem_password_cb, 42 user_data: *mut c_void, 43 ) -> c_int; PEM_read_bio_RSAPublicKey( bio: *mut BIO, rsa: *mut *mut RSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut RSA44 pub fn PEM_read_bio_RSAPublicKey( 45 bio: *mut BIO, 46 rsa: *mut *mut RSA, 47 callback: pem_password_cb, 48 user_data: *mut c_void, 49 ) -> *mut RSA; PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int50 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 RSA51 pub fn PEM_read_bio_RSA_PUBKEY( 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_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int57 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 DSA58 pub fn PEM_read_bio_DSAPrivateKey( 59 bp: *mut BIO, 60 dsa: *mut *mut DSA, 61 callback: pem_password_cb, 62 user_data: *mut c_void, 63 ) -> *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_int64 pub fn PEM_write_bio_DSAPrivateKey( 65 bp: *mut BIO, 66 dsa: *mut DSA, 67 cipher: *const EVP_CIPHER, 68 kstr: *mut c_uchar, 69 klen: c_int, 70 callback: pem_password_cb, 71 user_data: *mut c_void, 72 ) -> c_int; PEM_read_bio_DSA_PUBKEY( bp: *mut BIO, dsa: *mut *mut DSA, callback: pem_password_cb, user_data: *mut c_void, ) -> *mut DSA73 pub fn PEM_read_bio_DSA_PUBKEY( 74 bp: *mut BIO, 75 dsa: *mut *mut DSA, 76 callback: pem_password_cb, 77 user_data: *mut c_void, 78 ) -> *mut DSA; PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int79 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_KEY80 pub fn PEM_read_bio_ECPrivateKey( 81 bio: *mut BIO, 82 key: *mut *mut EC_KEY, 83 callback: pem_password_cb, 84 user_data: *mut c_void, 85 ) -> *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_int86 pub fn PEM_write_bio_ECPrivateKey( 87 bio: *mut BIO, 88 key: *mut EC_KEY, 89 cipher: *const EVP_CIPHER, 90 kstr: *mut c_uchar, 91 klen: c_int, 92 callback: pem_password_cb, 93 user_data: *mut c_void, 94 ) -> 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_KEY95 pub fn PEM_read_bio_EC_PUBKEY( 96 bp: *mut BIO, 97 ec: *mut *mut EC_KEY, 98 callback: pem_password_cb, 99 user_data: *mut c_void, 100 ) -> *mut EC_KEY; PEM_write_bio_EC_PUBKEY(bp: *mut BIO, ec: *mut EC_KEY) -> c_int101 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 DH102 pub fn PEM_read_bio_DHparams( 103 bio: *mut BIO, 104 out: *mut *mut DH, 105 callback: pem_password_cb, 106 user_data: *mut c_void, 107 ) -> *mut DH; PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int108 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_PKEY109 pub fn PEM_read_bio_PrivateKey( 110 bio: *mut BIO, 111 out: *mut *mut EVP_PKEY, 112 callback: pem_password_cb, 113 user_data: *mut c_void, 114 ) -> *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_int115 pub fn PEM_write_bio_PrivateKey( 116 bio: *mut BIO, 117 pkey: *mut EVP_PKEY, 118 cipher: *const EVP_CIPHER, 119 kstr: *mut c_uchar, 120 klen: c_int, 121 callback: pem_password_cb, 122 user_data: *mut c_void, 123 ) -> 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_PKEY124 pub fn PEM_read_bio_PUBKEY( 125 bio: *mut BIO, 126 out: *mut *mut EVP_PKEY, 127 callback: pem_password_cb, 128 user_data: *mut c_void, 129 ) -> *mut EVP_PKEY; PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int130 pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int; 131 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_int132 pub fn PEM_write_bio_PKCS8PrivateKey( 133 bio: *mut BIO, 134 pkey: *mut EVP_PKEY, 135 cipher: *const EVP_CIPHER, 136 kstr: *mut c_char, 137 klen: c_int, 138 callback: pem_password_cb, 139 user_data: *mut c_void, 140 ) -> c_int; d2i_PKCS8PrivateKey_bio( bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: pem_password_cb, u: *mut c_void, ) -> *mut EVP_PKEY141 pub fn d2i_PKCS8PrivateKey_bio( 142 bp: *mut BIO, 143 x: *mut *mut EVP_PKEY, 144 cb: pem_password_cb, 145 u: *mut c_void, 146 ) -> *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_INFO147 pub fn d2i_PKCS8_PRIV_KEY_INFO( 148 k: *mut *mut PKCS8_PRIV_KEY_INFO, 149 buf: *mut *const u8, 150 length: c_long, 151 ) -> *mut PKCS8_PRIV_KEY_INFO; PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO)152 pub fn PKCS8_PRIV_KEY_INFO_free(p8inf: *mut PKCS8_PRIV_KEY_INFO); 153 PEM_read_bio_PKCS7( bio: *mut BIO, out: *mut *mut PKCS7, cb: pem_password_cb, u: *mut c_void, ) -> *mut PKCS7154 pub fn PEM_read_bio_PKCS7( 155 bio: *mut BIO, 156 out: *mut *mut PKCS7, 157 cb: pem_password_cb, 158 u: *mut c_void, 159 ) -> *mut PKCS7; 160 PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int161 pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> c_int; 162 163 #[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_ContentInfo164 pub fn PEM_read_bio_CMS( 165 bio: *mut BIO, 166 out: *mut *mut CMS_ContentInfo, 167 callback: pem_password_cb, 168 user_data: *mut c_void, 169 ) -> *mut CMS_ContentInfo; 170 #[cfg(ossl101)] PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int171 pub fn PEM_write_bio_CMS(bio: *mut BIO, cms: *const CMS_ContentInfo) -> c_int; 172 } 173 174 pub const PEM_R_NO_START_LINE: c_int = 108; 175