Struct Asn1String
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>§
pub 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
.
pub 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
.
pub 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§
§impl AsMut<Asn1StringRef> for Asn1String
impl AsMut<Asn1StringRef> for Asn1String
§fn as_mut(&mut self) -> &mut Asn1StringRef
fn as_mut(&mut self) -> &mut Asn1StringRef
Converts this type into a mutable reference of the (usually inferred) input type.
§impl AsRef<Asn1StringRef> for Asn1String
impl AsRef<Asn1StringRef> for Asn1String
§fn as_ref(&self) -> &Asn1StringRef
fn as_ref(&self) -> &Asn1StringRef
Converts this type into a shared reference of the (usually inferred) input type.
§impl Borrow<Asn1StringRef> for Asn1String
impl Borrow<Asn1StringRef> for Asn1String
§fn borrow(&self) -> &Asn1StringRef
fn borrow(&self) -> &Asn1StringRef
Immutably borrows from an owned value. Read more
§impl BorrowMut<Asn1StringRef> for Asn1String
impl BorrowMut<Asn1StringRef> for Asn1String
§fn borrow_mut(&mut self) -> &mut Asn1StringRef
fn borrow_mut(&mut self) -> &mut Asn1StringRef
Mutably borrows from an owned value. Read more
§impl Deref for Asn1String
impl Deref for Asn1String
§type Target = Asn1StringRef
type Target = Asn1StringRef
The resulting type after dereferencing.
§fn deref(&self) -> &Asn1StringRef
fn deref(&self) -> &Asn1StringRef
Dereferences the value.
§impl DerefMut for Asn1String
impl DerefMut for Asn1String
§fn deref_mut(&mut self) -> &mut Asn1StringRef
fn deref_mut(&mut self) -> &mut Asn1StringRef
Mutably dereferences the value.
§impl ForeignType for Asn1String
impl ForeignType for Asn1String
§type Ref = Asn1StringRef
type Ref = Asn1StringRef
The type representing a reference to this type.
§unsafe fn from_ptr(ptr: *mut asn1_string_st) -> Asn1String
unsafe fn from_ptr(ptr: *mut asn1_string_st) -> Asn1String
Constructs an instance of this type from its raw type. Read more
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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more