Struct openssl::asn1::Asn1StringRef

source ·
pub struct Asn1StringRef(_);
Expand description

A reference to an Asn1String.

Implementations§

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.

Examples found in repository?
src/asn1.rs (line 476)
475
476
477
478
479
480
    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self.as_utf8() {
            Ok(openssl_string) => openssl_string.fmt(fmt),
            Err(_) => fmt.write_str("error"),
        }
    }

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.

Returns the number of bytes in the string.

This corresponds to ASN1_STRING_length.

Examples found in repository?
src/asn1.rs (line 459)
458
459
460
461
462
463
464
465
466
467
468
469
470
471
    pub fn as_slice(&self) -> &[u8] {
        unsafe { slice::from_raw_parts(ASN1_STRING_get0_data(self.as_ptr()), self.len()) }
    }

    /// Returns the number of bytes in the string.
    #[corresponds(ASN1_STRING_length)]
    pub fn len(&self) -> usize {
        unsafe { ffi::ASN1_STRING_length(self.as_ptr()) as usize }
    }

    /// Determines if the string is empty.
    pub fn is_empty(&self) -> bool {
        self.len() == 0
    }

Determines if the string is empty.

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
Immutably borrows from an owned value. Read more
Formats the value using the given formatter. Read more
The raw C type.
Constructs a shared instance of this type from its raw type.
Constructs a mutable reference of this type from its raw type.
Returns a raw pointer to the wrapped value.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.