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
Source§impl Borrow<Asn1StringRef> for Asn1String
impl Borrow<Asn1StringRef> for Asn1String
Source§fn borrow(&self) -> &Asn1StringRef
fn borrow(&self) -> &Asn1StringRef
Source§impl Deref for Asn1String
impl Deref for Asn1String
Source§type Target = Asn1StringRef
type Target = Asn1StringRef
Source§fn deref(&self) -> &Asn1StringRef
fn deref(&self) -> &Asn1StringRef
Source§impl DerefMut for Asn1String
impl DerefMut for Asn1String
Source§fn deref_mut(&mut self) -> &mut Asn1StringRef
fn deref_mut(&mut self) -> &mut Asn1StringRef
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
Source§type Ref = Asn1StringRef
type Ref = Asn1StringRef
Source§unsafe fn from_ptr(ptr: *mut ASN1_STRING) -> Asn1String
unsafe fn from_ptr(ptr: *mut ASN1_STRING) -> Asn1String
Source§fn as_ptr(&self) -> *mut ASN1_STRING
fn as_ptr(&self) -> *mut ASN1_STRING
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes