1 use libc::*; 2 3 use *; 4 5 pub const OCSP_REVOKED_STATUS_NOSTATUS: c_int = -1; 6 pub const OCSP_REVOKED_STATUS_UNSPECIFIED: c_int = 0; 7 pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: c_int = 1; 8 pub const OCSP_REVOKED_STATUS_CACOMPROMISE: c_int = 2; 9 pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: c_int = 3; 10 pub const OCSP_REVOKED_STATUS_SUPERSEDED: c_int = 4; 11 pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: c_int = 5; 12 pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: c_int = 6; 13 pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: c_int = 8; 14 15 pub const OCSP_NOCERTS: c_ulong = 0x1; 16 pub const OCSP_NOINTERN: c_ulong = 0x2; 17 pub const OCSP_NOSIGS: c_ulong = 0x4; 18 pub const OCSP_NOCHAIN: c_ulong = 0x8; 19 pub const OCSP_NOVERIFY: c_ulong = 0x10; 20 pub const OCSP_NOEXPLICIT: c_ulong = 0x20; 21 pub const OCSP_NOCASIGN: c_ulong = 0x40; 22 pub const OCSP_NODELEGATED: c_ulong = 0x80; 23 pub const OCSP_NOCHECKS: c_ulong = 0x100; 24 pub const OCSP_TRUSTOTHER: c_ulong = 0x200; 25 pub const OCSP_RESPID_KEY: c_ulong = 0x400; 26 pub const OCSP_NOTIME: c_ulong = 0x800; 27 28 pub enum OCSP_CERTID {} 29 30 pub enum OCSP_ONEREQ {} 31 32 pub enum OCSP_REQUEST {} 33 34 pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: c_int = 0; 35 pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: c_int = 1; 36 pub const OCSP_RESPONSE_STATUS_INTERNALERROR: c_int = 2; 37 pub const OCSP_RESPONSE_STATUS_TRYLATER: c_int = 3; 38 pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: c_int = 5; 39 pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: c_int = 6; 40 41 pub const V_OCSP_CERTSTATUS_GOOD: c_int = 0; 42 pub const V_OCSP_CERTSTATUS_REVOKED: c_int = 1; 43 pub const V_OCSP_CERTSTATUS_UNKNOWN: c_int = 2; 44 45 pub enum OCSP_BASICRESP {} 46 47 const_ptr_api! { 48 extern "C" { 49 pub fn OCSP_cert_to_id( 50 dgst: *const EVP_MD, 51 subject: #[const_ptr_if(any(ossl110, libressl281))] X509, 52 issuer: #[const_ptr_if(any(ossl110, libressl281))] X509, 53 ) -> *mut OCSP_CERTID; 54 } 55 } 56 57 extern "C" { OCSP_request_add0_id(r: *mut OCSP_REQUEST, id: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ58 pub fn OCSP_request_add0_id(r: *mut OCSP_REQUEST, id: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ; 59 OCSP_resp_find_status( bs: *mut OCSP_BASICRESP, id: *mut OCSP_CERTID, status: *mut c_int, reason: *mut c_int, revtime: *mut *mut ASN1_GENERALIZEDTIME, thisupd: *mut *mut ASN1_GENERALIZEDTIME, nextupd: *mut *mut ASN1_GENERALIZEDTIME, ) -> c_int60 pub fn OCSP_resp_find_status( 61 bs: *mut OCSP_BASICRESP, 62 id: *mut OCSP_CERTID, 63 status: *mut c_int, 64 reason: *mut c_int, 65 revtime: *mut *mut ASN1_GENERALIZEDTIME, 66 thisupd: *mut *mut ASN1_GENERALIZEDTIME, 67 nextupd: *mut *mut ASN1_GENERALIZEDTIME, 68 ) -> c_int; OCSP_check_validity( thisupd: *mut ASN1_GENERALIZEDTIME, nextupd: *mut ASN1_GENERALIZEDTIME, sec: c_long, maxsec: c_long, ) -> c_int69 pub fn OCSP_check_validity( 70 thisupd: *mut ASN1_GENERALIZEDTIME, 71 nextupd: *mut ASN1_GENERALIZEDTIME, 72 sec: c_long, 73 maxsec: c_long, 74 ) -> c_int; 75 OCSP_response_status(resp: *mut OCSP_RESPONSE) -> c_int76 pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> c_int; OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP77 pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP; 78 OCSP_response_create(status: c_int, bs: *mut OCSP_BASICRESP) -> *mut OCSP_RESPONSE79 pub fn OCSP_response_create(status: c_int, bs: *mut OCSP_BASICRESP) -> *mut OCSP_RESPONSE; 80 OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP81 pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP; OCSP_BASICRESP_free(r: *mut OCSP_BASICRESP)82 pub fn OCSP_BASICRESP_free(r: *mut OCSP_BASICRESP); OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE83 pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE; OCSP_RESPONSE_free(r: *mut OCSP_RESPONSE)84 pub fn OCSP_RESPONSE_free(r: *mut OCSP_RESPONSE); 85 } 86 87 const_ptr_api! { 88 extern "C" { 89 pub fn i2d_OCSP_RESPONSE(a: #[const_ptr_if(ossl300)] OCSP_RESPONSE, pp: *mut *mut c_uchar) -> c_int; 90 } 91 } 92 93 extern "C" { d2i_OCSP_RESPONSE( a: *mut *mut OCSP_RESPONSE, pp: *mut *const c_uchar, length: c_long, ) -> *mut OCSP_RESPONSE94 pub fn d2i_OCSP_RESPONSE( 95 a: *mut *mut OCSP_RESPONSE, 96 pp: *mut *const c_uchar, 97 length: c_long, 98 ) -> *mut OCSP_RESPONSE; OCSP_ONEREQ_free(r: *mut OCSP_ONEREQ)99 pub fn OCSP_ONEREQ_free(r: *mut OCSP_ONEREQ); OCSP_CERTID_free(id: *mut OCSP_CERTID)100 pub fn OCSP_CERTID_free(id: *mut OCSP_CERTID); OCSP_REQUEST_new() -> *mut OCSP_REQUEST101 pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST; OCSP_REQUEST_free(r: *mut OCSP_REQUEST)102 pub fn OCSP_REQUEST_free(r: *mut OCSP_REQUEST); 103 } 104 105 const_ptr_api! { 106 extern "C" { 107 pub fn i2d_OCSP_REQUEST(a: #[const_ptr_if(ossl300)] OCSP_REQUEST, pp: *mut *mut c_uchar) -> c_int; 108 } 109 } 110 111 extern "C" { d2i_OCSP_REQUEST( a: *mut *mut OCSP_REQUEST, pp: *mut *const c_uchar, length: c_long, ) -> *mut OCSP_REQUEST112 pub fn d2i_OCSP_REQUEST( 113 a: *mut *mut OCSP_REQUEST, 114 pp: *mut *const c_uchar, 115 length: c_long, 116 ) -> *mut OCSP_REQUEST; 117 OCSP_basic_verify( bs: *mut OCSP_BASICRESP, certs: *mut stack_st_X509, st: *mut X509_STORE, flags: c_ulong, ) -> c_int118 pub fn OCSP_basic_verify( 119 bs: *mut OCSP_BASICRESP, 120 certs: *mut stack_st_X509, 121 st: *mut X509_STORE, 122 flags: c_ulong, 123 ) -> c_int; 124 } 125