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