Loading openssl/src/asn1.rs +41 −63 Original line number Diff line number Diff line Loading @@ -83,99 +83,77 @@ impl fmt::Display for Asn1GeneralizedTimeRef { } } /// An ASN.1 tag value /// The type of an ASN.1 value. #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct Asn1Tag(c_int); pub struct Asn1Type(c_int); impl Asn1Tag { /// Return the underlying c_int value pub fn as_c_int(&self) -> c_int { self.0 } #[allow(missing_docs)] // no need to document the constants impl Asn1Type { pub const EOC: Asn1Type = Asn1Type(ffi::V_ASN1_EOC); pub const BOOLEAN: Asn1Type = Asn1Type(ffi::V_ASN1_BOOLEAN); /// Equivalent to OpenSSL Constant: V_ASN1_EOC pub const EOC: Asn1Tag = Asn1Tag(ffi::V_ASN1_EOC); pub const INTEGER: Asn1Type = Asn1Type(ffi::V_ASN1_INTEGER); /// Equivalent to OpenSSL Constant: V_ASN1_BOOLEAN pub const BOOLEAN: Asn1Tag = Asn1Tag(ffi::V_ASN1_BOOLEAN); pub const BIT_STRING: Asn1Type = Asn1Type(ffi::V_ASN1_BIT_STRING); /// Equivalent to OpenSSL Constant: V_ASN1_INTEGER pub const INTEGER: Asn1Tag = Asn1Tag(ffi::V_ASN1_INTEGER); pub const OCTET_STRING: Asn1Type = Asn1Type(ffi::V_ASN1_OCTET_STRING); /// Equivalent to OpenSSL Constant: V_ASN1_BIT_STRING pub const BIT_STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_BIT_STRING); pub const NULL: Asn1Type = Asn1Type(ffi::V_ASN1_NULL); /// Equivalent to OpenSSL Constant: V_ASN1_OCTET_STRING pub const OCTET_STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_OCTET_STRING); pub const OBJECT: Asn1Type = Asn1Type(ffi::V_ASN1_OBJECT); /// Equivalent to OpenSSL Constant: V_ASN1_NULL pub const NULL: Asn1Tag = Asn1Tag(ffi::V_ASN1_NULL); pub const OBJECT_DESCRIPTOR: Asn1Type = Asn1Type(ffi::V_ASN1_OBJECT_DESCRIPTOR); /// Equivalent to OpenSSL Constant: V_ASN1_OBJECT pub const OBJECT: Asn1Tag = Asn1Tag(ffi::V_ASN1_OBJECT); pub const EXTERNAL: Asn1Type = Asn1Type(ffi::V_ASN1_EXTERNAL); /// Equivalent to OpenSSL Constant: V_ASN1_OBJECT_DESCRIPTOR pub const OBJECT_DESCRIPTOR: Asn1Tag = Asn1Tag(ffi::V_ASN1_OBJECT_DESCRIPTOR); pub const REAL: Asn1Type = Asn1Type(ffi::V_ASN1_REAL); /// Equivalent to OpenSSL Constant: V_ASN1_EXTERNAL pub const EXTERNAL: Asn1Tag = Asn1Tag(ffi::V_ASN1_EXTERNAL); pub const ENUMERATED: Asn1Type = Asn1Type(ffi::V_ASN1_ENUMERATED); /// Equivalent to OpenSSL Constant: V_ASN1_REAL pub const REAL: Asn1Tag = Asn1Tag(ffi::V_ASN1_REAL); pub const UTF8STRING: Asn1Type = Asn1Type(ffi::V_ASN1_UTF8STRING); /// Equivalent to OpenSSL Constant: V_ASN1_ENUMERATED pub const ENUMERATED: Asn1Tag = Asn1Tag(ffi::V_ASN1_ENUMERATED); pub const SEQUENCE: Asn1Type = Asn1Type(ffi::V_ASN1_SEQUENCE); /// Equivalent to OpenSSL Constant: V_ASN1_UTF8STRING pub const UTF8STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_UTF8STRING); pub const SET: Asn1Type = Asn1Type(ffi::V_ASN1_SET); /// Equivalent to OpenSSL Constant: V_ASN1_SEQUENCE pub const SEQUENCE: Asn1Tag = Asn1Tag(ffi::V_ASN1_SEQUENCE); pub const NUMERICSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_NUMERICSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_SET pub const SET: Asn1Tag = Asn1Tag(ffi::V_ASN1_SET); pub const PRINTABLESTRING: Asn1Type = Asn1Type(ffi::V_ASN1_PRINTABLESTRING); /// Equivalent to OpenSSL Constant: V_ASN1_NUMERICSTRING pub const NUMERICSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_NUMERICSTRING); pub const T61STRING: Asn1Type = Asn1Type(ffi::V_ASN1_T61STRING); /// Equivalent to OpenSSL Constant: V_ASN1_PRINTABLESTRING pub const PRINTABLESTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_PRINTABLESTRING); pub const TELETEXSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_TELETEXSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_T61STRING pub const T61STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_T61STRING); pub const VIDEOTEXSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_VIDEOTEXSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_TELETEXSTRING pub const TELETEXSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_TELETEXSTRING); pub const IA5STRING: Asn1Type = Asn1Type(ffi::V_ASN1_IA5STRING); /// Equivalent to OpenSSL Constant: V_ASN1_VIDEOTEXSTRING pub const VIDEOTEXSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_VIDEOTEXSTRING); pub const UTCTIME: Asn1Type = Asn1Type(ffi::V_ASN1_UTCTIME); /// Equivalent to OpenSSL Constant: V_ASN1_IA5STRING pub const IA5STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_IA5STRING); pub const GENERALIZEDTIME: Asn1Type = Asn1Type(ffi::V_ASN1_GENERALIZEDTIME); /// Equivalent to OpenSSL Constant: V_ASN1_UTCTIME pub const UTCTIME: Asn1Tag = Asn1Tag(ffi::V_ASN1_UTCTIME); pub const GRAPHICSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_GRAPHICSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_GENERALIZEDTIME pub const GENERALIZEDTIME: Asn1Tag = Asn1Tag(ffi::V_ASN1_GENERALIZEDTIME); pub const ISO64STRING: Asn1Type = Asn1Type(ffi::V_ASN1_ISO64STRING); /// Equivalent to OpenSSL Constant: V_ASN1_GRAPHICSTRING pub const GRAPHICSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_GRAPHICSTRING); pub const VISIBLESTRING: Asn1Type = Asn1Type(ffi::V_ASN1_VISIBLESTRING); /// Equivalent to OpenSSL Constant: V_ASN1_ISO64STRING pub const ISO64STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_ISO64STRING); pub const GENERALSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_GENERALSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_VISIBLESTRING pub const VISIBLESTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_VISIBLESTRING); pub const UNIVERSALSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_UNIVERSALSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_GENERALSTRING pub const GENERALSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_GENERALSTRING); pub const BMPSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_BMPSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_UNIVERSALSTRING pub const UNIVERSALSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_UNIVERSALSTRING); /// Constructs an `Asn1Type` from a raw OpenSSL value. pub fn from_raw(value: c_int) -> Self { Asn1Type(value) } /// Equivalent to OpenSSL Constant: V_ASN1_BMPSTRING pub const BMPSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_BMPSTRING); /// Returns the raw OpenSSL value represented by this type. pub fn as_raw(&self) -> c_int { self.0 } } /// Difference between two ASN1 times. Loading openssl/src/x509/mod.rs +7 −7 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ use std::ptr; use std::slice; use std::str; use asn1::{Asn1BitStringRef, Asn1IntegerRef, Asn1ObjectRef, Asn1StringRef, Asn1Tag, Asn1TimeRef}; use asn1::{Asn1BitStringRef, Asn1IntegerRef, Asn1ObjectRef, Asn1StringRef, Asn1TimeRef, Asn1Type}; use bio::MemBioSlice; use conf::ConfRef; use error::ErrorStack; Loading Loading @@ -824,7 +824,7 @@ impl X509NameBuilder { } } /// Add a field entry by str with a specific type. See [Asn1Tag](openssl::asn1::Asn1Tag) /// Add a field entry by str with a specific type. /// /// This corresponds to [`X509_NAME_add_entry_by_txt`]. /// Loading @@ -833,7 +833,7 @@ impl X509NameBuilder { &mut self, field: &str, value: &str, ty: Asn1Tag, ty: Asn1Type, ) -> Result<(), ErrorStack> { unsafe { let field = CString::new(field).unwrap(); Loading @@ -841,7 +841,7 @@ impl X509NameBuilder { cvt(ffi::X509_NAME_add_entry_by_txt( self.0.as_ptr(), field.as_ptr() as *mut _, ty.as_c_int(), ty.as_raw(), value.as_ptr(), value.len() as c_int, -1, Loading Loading @@ -872,7 +872,7 @@ impl X509NameBuilder { } } /// Add a field entry by NID with a specific type. See [Asn1Tag](openssl::asn1::Asn1Tag) /// Add a field entry by NID with a specific type. /// /// This corresponds to [`X509_NAME_add_entry_by_NID`]. /// Loading @@ -881,14 +881,14 @@ impl X509NameBuilder { &mut self, field: Nid, value: &str, ty: Asn1Tag, ty: Asn1Type, ) -> Result<(), ErrorStack> { unsafe { assert!(value.len() <= c_int::max_value() as usize); cvt(ffi::X509_NAME_add_entry_by_NID( self.0.as_ptr(), field.as_raw(), ty.as_c_int(), ty.as_raw(), value.as_ptr() as *mut _, value.len() as c_int, -1, Loading Loading
openssl/src/asn1.rs +41 −63 Original line number Diff line number Diff line Loading @@ -83,99 +83,77 @@ impl fmt::Display for Asn1GeneralizedTimeRef { } } /// An ASN.1 tag value /// The type of an ASN.1 value. #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct Asn1Tag(c_int); pub struct Asn1Type(c_int); impl Asn1Tag { /// Return the underlying c_int value pub fn as_c_int(&self) -> c_int { self.0 } #[allow(missing_docs)] // no need to document the constants impl Asn1Type { pub const EOC: Asn1Type = Asn1Type(ffi::V_ASN1_EOC); pub const BOOLEAN: Asn1Type = Asn1Type(ffi::V_ASN1_BOOLEAN); /// Equivalent to OpenSSL Constant: V_ASN1_EOC pub const EOC: Asn1Tag = Asn1Tag(ffi::V_ASN1_EOC); pub const INTEGER: Asn1Type = Asn1Type(ffi::V_ASN1_INTEGER); /// Equivalent to OpenSSL Constant: V_ASN1_BOOLEAN pub const BOOLEAN: Asn1Tag = Asn1Tag(ffi::V_ASN1_BOOLEAN); pub const BIT_STRING: Asn1Type = Asn1Type(ffi::V_ASN1_BIT_STRING); /// Equivalent to OpenSSL Constant: V_ASN1_INTEGER pub const INTEGER: Asn1Tag = Asn1Tag(ffi::V_ASN1_INTEGER); pub const OCTET_STRING: Asn1Type = Asn1Type(ffi::V_ASN1_OCTET_STRING); /// Equivalent to OpenSSL Constant: V_ASN1_BIT_STRING pub const BIT_STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_BIT_STRING); pub const NULL: Asn1Type = Asn1Type(ffi::V_ASN1_NULL); /// Equivalent to OpenSSL Constant: V_ASN1_OCTET_STRING pub const OCTET_STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_OCTET_STRING); pub const OBJECT: Asn1Type = Asn1Type(ffi::V_ASN1_OBJECT); /// Equivalent to OpenSSL Constant: V_ASN1_NULL pub const NULL: Asn1Tag = Asn1Tag(ffi::V_ASN1_NULL); pub const OBJECT_DESCRIPTOR: Asn1Type = Asn1Type(ffi::V_ASN1_OBJECT_DESCRIPTOR); /// Equivalent to OpenSSL Constant: V_ASN1_OBJECT pub const OBJECT: Asn1Tag = Asn1Tag(ffi::V_ASN1_OBJECT); pub const EXTERNAL: Asn1Type = Asn1Type(ffi::V_ASN1_EXTERNAL); /// Equivalent to OpenSSL Constant: V_ASN1_OBJECT_DESCRIPTOR pub const OBJECT_DESCRIPTOR: Asn1Tag = Asn1Tag(ffi::V_ASN1_OBJECT_DESCRIPTOR); pub const REAL: Asn1Type = Asn1Type(ffi::V_ASN1_REAL); /// Equivalent to OpenSSL Constant: V_ASN1_EXTERNAL pub const EXTERNAL: Asn1Tag = Asn1Tag(ffi::V_ASN1_EXTERNAL); pub const ENUMERATED: Asn1Type = Asn1Type(ffi::V_ASN1_ENUMERATED); /// Equivalent to OpenSSL Constant: V_ASN1_REAL pub const REAL: Asn1Tag = Asn1Tag(ffi::V_ASN1_REAL); pub const UTF8STRING: Asn1Type = Asn1Type(ffi::V_ASN1_UTF8STRING); /// Equivalent to OpenSSL Constant: V_ASN1_ENUMERATED pub const ENUMERATED: Asn1Tag = Asn1Tag(ffi::V_ASN1_ENUMERATED); pub const SEQUENCE: Asn1Type = Asn1Type(ffi::V_ASN1_SEQUENCE); /// Equivalent to OpenSSL Constant: V_ASN1_UTF8STRING pub const UTF8STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_UTF8STRING); pub const SET: Asn1Type = Asn1Type(ffi::V_ASN1_SET); /// Equivalent to OpenSSL Constant: V_ASN1_SEQUENCE pub const SEQUENCE: Asn1Tag = Asn1Tag(ffi::V_ASN1_SEQUENCE); pub const NUMERICSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_NUMERICSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_SET pub const SET: Asn1Tag = Asn1Tag(ffi::V_ASN1_SET); pub const PRINTABLESTRING: Asn1Type = Asn1Type(ffi::V_ASN1_PRINTABLESTRING); /// Equivalent to OpenSSL Constant: V_ASN1_NUMERICSTRING pub const NUMERICSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_NUMERICSTRING); pub const T61STRING: Asn1Type = Asn1Type(ffi::V_ASN1_T61STRING); /// Equivalent to OpenSSL Constant: V_ASN1_PRINTABLESTRING pub const PRINTABLESTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_PRINTABLESTRING); pub const TELETEXSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_TELETEXSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_T61STRING pub const T61STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_T61STRING); pub const VIDEOTEXSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_VIDEOTEXSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_TELETEXSTRING pub const TELETEXSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_TELETEXSTRING); pub const IA5STRING: Asn1Type = Asn1Type(ffi::V_ASN1_IA5STRING); /// Equivalent to OpenSSL Constant: V_ASN1_VIDEOTEXSTRING pub const VIDEOTEXSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_VIDEOTEXSTRING); pub const UTCTIME: Asn1Type = Asn1Type(ffi::V_ASN1_UTCTIME); /// Equivalent to OpenSSL Constant: V_ASN1_IA5STRING pub const IA5STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_IA5STRING); pub const GENERALIZEDTIME: Asn1Type = Asn1Type(ffi::V_ASN1_GENERALIZEDTIME); /// Equivalent to OpenSSL Constant: V_ASN1_UTCTIME pub const UTCTIME: Asn1Tag = Asn1Tag(ffi::V_ASN1_UTCTIME); pub const GRAPHICSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_GRAPHICSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_GENERALIZEDTIME pub const GENERALIZEDTIME: Asn1Tag = Asn1Tag(ffi::V_ASN1_GENERALIZEDTIME); pub const ISO64STRING: Asn1Type = Asn1Type(ffi::V_ASN1_ISO64STRING); /// Equivalent to OpenSSL Constant: V_ASN1_GRAPHICSTRING pub const GRAPHICSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_GRAPHICSTRING); pub const VISIBLESTRING: Asn1Type = Asn1Type(ffi::V_ASN1_VISIBLESTRING); /// Equivalent to OpenSSL Constant: V_ASN1_ISO64STRING pub const ISO64STRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_ISO64STRING); pub const GENERALSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_GENERALSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_VISIBLESTRING pub const VISIBLESTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_VISIBLESTRING); pub const UNIVERSALSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_UNIVERSALSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_GENERALSTRING pub const GENERALSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_GENERALSTRING); pub const BMPSTRING: Asn1Type = Asn1Type(ffi::V_ASN1_BMPSTRING); /// Equivalent to OpenSSL Constant: V_ASN1_UNIVERSALSTRING pub const UNIVERSALSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_UNIVERSALSTRING); /// Constructs an `Asn1Type` from a raw OpenSSL value. pub fn from_raw(value: c_int) -> Self { Asn1Type(value) } /// Equivalent to OpenSSL Constant: V_ASN1_BMPSTRING pub const BMPSTRING: Asn1Tag = Asn1Tag(ffi::V_ASN1_BMPSTRING); /// Returns the raw OpenSSL value represented by this type. pub fn as_raw(&self) -> c_int { self.0 } } /// Difference between two ASN1 times. Loading
openssl/src/x509/mod.rs +7 −7 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ use std::ptr; use std::slice; use std::str; use asn1::{Asn1BitStringRef, Asn1IntegerRef, Asn1ObjectRef, Asn1StringRef, Asn1Tag, Asn1TimeRef}; use asn1::{Asn1BitStringRef, Asn1IntegerRef, Asn1ObjectRef, Asn1StringRef, Asn1TimeRef, Asn1Type}; use bio::MemBioSlice; use conf::ConfRef; use error::ErrorStack; Loading Loading @@ -824,7 +824,7 @@ impl X509NameBuilder { } } /// Add a field entry by str with a specific type. See [Asn1Tag](openssl::asn1::Asn1Tag) /// Add a field entry by str with a specific type. /// /// This corresponds to [`X509_NAME_add_entry_by_txt`]. /// Loading @@ -833,7 +833,7 @@ impl X509NameBuilder { &mut self, field: &str, value: &str, ty: Asn1Tag, ty: Asn1Type, ) -> Result<(), ErrorStack> { unsafe { let field = CString::new(field).unwrap(); Loading @@ -841,7 +841,7 @@ impl X509NameBuilder { cvt(ffi::X509_NAME_add_entry_by_txt( self.0.as_ptr(), field.as_ptr() as *mut _, ty.as_c_int(), ty.as_raw(), value.as_ptr(), value.len() as c_int, -1, Loading Loading @@ -872,7 +872,7 @@ impl X509NameBuilder { } } /// Add a field entry by NID with a specific type. See [Asn1Tag](openssl::asn1::Asn1Tag) /// Add a field entry by NID with a specific type. /// /// This corresponds to [`X509_NAME_add_entry_by_NID`]. /// Loading @@ -881,14 +881,14 @@ impl X509NameBuilder { &mut self, field: Nid, value: &str, ty: Asn1Tag, ty: Asn1Type, ) -> Result<(), ErrorStack> { unsafe { assert!(value.len() <= c_int::max_value() as usize); cvt(ffi::X509_NAME_add_entry_by_NID( self.0.as_ptr(), field.as_raw(), ty.as_c_int(), ty.as_raw(), value.as_ptr() as *mut _, value.len() as c_int, -1, Loading