pub struct CmsVerificationResult {
pub signer_cert_der: Vec<u8>,
pub signer_subject_dn: String,
pub payload: Vec<u8>,
pub signature_algorithm: String,
}Expand description
Result of verifying a CMS SignedData message (RFC 8295 §3.1).
After successful verification, the signer’s certificate and the unwrapped payload (typically a PKCS#10 CSR) are available for further processing by the EST handler.
Fields§
§signer_cert_der: Vec<u8>DER-encoded signer certificate extracted from the SignedData.
RFC 8295 §3.1: The signer’s certificate is included in the
certificates field of the SignedData and MUST chain to a
trust anchor in the EST truststore.
signer_subject_dn: StringSubject DN of the signer certificate as a string.
Used for identity extraction and audit logging.
payload: Vec<u8>The unwrapped payload extracted from the SignedData encapContentInfo.
For EST operations this is typically a DER-encoded PKCS#10 CSR.
signature_algorithm: StringSignature algorithm OID or name used to sign the CMS message.
Verified against the server’s allowed algorithm list to reject weak algorithms (e.g., MD5, SHA-1).
Trait Implementations§
Source§impl Clone for CmsVerificationResult
impl Clone for CmsVerificationResult
Source§fn clone(&self) -> CmsVerificationResult
fn clone(&self) -> CmsVerificationResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CmsVerificationResult
impl RefUnwindSafe for CmsVerificationResult
impl Send for CmsVerificationResult
impl Sync for CmsVerificationResult
impl Unpin for CmsVerificationResult
impl UnsafeUnpin for CmsVerificationResult
impl UnwindSafe for CmsVerificationResult
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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>
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