diff --git a/openssl-sys/src/x509.rs b/openssl-sys/src/x509.rs index 3752af18..d9756fed 100644 --- a/openssl-sys/src/x509.rs +++ b/openssl-sys/src/x509.rs @@ -37,9 +37,6 @@ cfg_if! { } } -pub enum X509_REVOKED {} -stack!(stack_st_X509_REVOKED); - cfg_if! { if #[cfg(ossl110)] { pub enum X509_CRL {} @@ -78,13 +75,31 @@ cfg_if! { pub issuer: *mut X509_NAME, pub lastUpdate: *mut ASN1_TIME, pub nextUpdate: *mut ASN1_TIME, - revoked: *mut stack_st_X509_REVOKED, + pub revoked: *mut stack_st_X509_REVOKED, extensions: *mut stack_st_X509_EXTENSION, enc: ASN1_ENCODING, } } } +cfg_if! { + if #[cfg(ossl110)] { + pub enum X509_REVOKED {} + } else { + #[repr(C)] + pub struct X509_REVOKED { + pub serialNumber: *mut ASN1_INTEGER, + pub revocationDate: *mut ASN1_TIME, + extensions: *mut stack_st_X509_EXTENSION, + issuer: *mut stack_st_GENERAL_NAME, + reason: c_int, + sequence: c_int, + } + } +} + +stack!(stack_st_X509_REVOKED); + cfg_if! { if #[cfg(ossl110)] { pub enum X509_REQ {} @@ -225,6 +240,14 @@ extern "C" { pub fn X509_ALGOR_free(x: *mut X509_ALGOR); + pub fn X509_REVOKED_new() -> *mut X509_REVOKED; + pub fn X509_REVOKED_free(x: *mut X509_REVOKED); + pub fn d2i_X509_REVOKED( + a: *mut *mut X509_REVOKED, + pp: *mut *const c_uchar, + length: c_long, + ) -> *mut X509_REVOKED; + pub fn i2d_X509_REVOKED(x: *mut X509_REVOKED, buf: *mut *mut u8) -> c_int; pub fn X509_CRL_new() -> *mut X509_CRL; pub fn X509_CRL_free(x: *mut X509_CRL); pub fn d2i_X509_CRL( @@ -347,13 +370,25 @@ extern "C" { #[cfg(any(ossl110, libressl273))] pub fn X509_up_ref(x: *mut X509) -> c_int; - pub fn X509_CRL_verify(req: *mut X509_CRL, pkey: *mut EVP_PKEY) -> c_int; + #[cfg(ossl110)] + pub fn X509_REVOKED_get0_serialNumber(req: *const X509_REVOKED) -> *const ASN1_INTEGER; + #[cfg(ossl110)] + pub fn X509_REVOKED_get0_revocationDate(req: *const X509_REVOKED) -> *const ASN1_TIME; + + pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> c_int; + pub fn X509_CRL_get0_by_cert( + x: *mut X509_CRL, + ret: *mut *mut X509_REVOKED, + cert: *mut X509, + ) -> c_int; pub fn X509_CRL_get0_by_serial( x: *mut X509_CRL, ret: *mut *mut X509_REVOKED, serial: *mut ASN1_INTEGER, ) -> c_int; + #[cfg(ossl110)] + pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED; #[cfg(ossl110)] pub fn X509_CRL_get0_nextUpdate(x: *const X509_CRL) -> *const ASN1_TIME; #[cfg(ossl110)]