pub struct Asn1String(/* private fields */);
Expand description
Primary ASN.1 type used by OpenSSL
Almost all ASN.1 types in OpenSSL are represented by ASN1_STRING structures. This implementation uses ASN1_STRING-to_UTF8 to preserve compatibility with Rust’s String.
Methods from Deref<Target = Asn1StringRef>§
sourcepub fn as_utf8(&self) -> Result<OpensslString, ErrorStack>
pub fn as_utf8(&self) -> Result<OpensslString, ErrorStack>
Converts the ASN.1 underlying format to UTF8
ASN.1 strings may utilize UTF-16, ASCII, BMP, or UTF8. This is important to consume the string in a meaningful way without knowing the underlying format.
This corresponds to ASN1_STRING_to_UTF8
.
sourcepub fn as_slice(&self) -> &[u8] ⓘ
pub fn as_slice(&self) -> &[u8] ⓘ
Return the string as an array of bytes.
The bytes do not directly correspond to UTF-8 encoding. To interact with
strings in rust, it is preferable to use as_utf8
This corresponds to ASN1_STRING_get0_data
.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of bytes in the string.
This corresponds to ASN1_STRING_length
.
Trait Implementations§
source§impl AsRef<Asn1StringRef> for Asn1String
impl AsRef<Asn1StringRef> for Asn1String
source§fn as_ref(&self) -> &Asn1StringRef
fn as_ref(&self) -> &Asn1StringRef
Converts this type into a shared reference of the (usually inferred) input type.
source§impl Borrow<Asn1StringRef> for Asn1String
impl Borrow<Asn1StringRef> for Asn1String
source§fn borrow(&self) -> &Asn1StringRef
fn borrow(&self) -> &Asn1StringRef
Immutably borrows from an owned value. Read more
source§impl Deref for Asn1String
impl Deref for Asn1String
source§type Target = Asn1StringRef
type Target = Asn1StringRef
The resulting type after dereferencing.
source§fn deref(&self) -> &Asn1StringRef
fn deref(&self) -> &Asn1StringRef
Dereferences the value.
source§impl DerefMut for Asn1String
impl DerefMut for Asn1String
source§fn deref_mut(&mut self) -> &mut Asn1StringRef
fn deref_mut(&mut self) -> &mut Asn1StringRef
Mutably dereferences the value.
source§impl Drop for Asn1String
impl Drop for Asn1String
source§impl ForeignType for Asn1String
impl ForeignType for Asn1String
source§type CType = ASN1_STRING
type CType = ASN1_STRING
The raw C type.
source§type Ref = Asn1StringRef
type Ref = Asn1StringRef
The type representing a reference to this type.
source§unsafe fn from_ptr(ptr: *mut ASN1_STRING) -> Asn1String
unsafe fn from_ptr(ptr: *mut ASN1_STRING) -> Asn1String
Constructs an instance of this type from its raw type.
source§fn as_ptr(&self) -> *mut ASN1_STRING
fn as_ptr(&self) -> *mut ASN1_STRING
Returns a raw pointer to the wrapped value.
impl Send for Asn1String
impl Sync for Asn1String
Auto Trait Implementations§
impl Freeze for Asn1String
impl RefUnwindSafe for Asn1String
impl Unpin for Asn1String
impl UnwindSafe for Asn1String
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more