pub struct VerifyContext<'a> { /* private fields */ }Expand description
Verification builder/configuration.
Implementations§
Source§impl<'a> VerifyContext<'a>
impl<'a> VerifyContext<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a context with conservative defaults.
Defaults:
- no pre-set key, no key resolver
- manifests disabled
- same-document URIs only
- all transforms allowed
- pre-digest buffers not stored
Sourcepub fn key(self, key: &'a dyn VerifyingKey) -> Self
pub fn key(self, key: &'a dyn VerifyingKey) -> Self
Set a pre-resolved verification key.
Sourcepub fn key_resolver(self, resolver: &'a dyn KeyResolver) -> Self
pub fn key_resolver(self, resolver: &'a dyn KeyResolver) -> Self
Set a key resolver fallback used when key() is not provided.
Sourcepub fn process_manifests(self, enabled: bool) -> Self
pub fn process_manifests(self, enabled: bool) -> Self
Enable or disable <Manifest> processing.
Note: manifest verification is not implemented yet. When enabled, the
verifier fails closed with ManifestProcessingUnsupported if a
<ds:Manifest> is present under <ds:Object> or if a
<Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest"> is present.
Sourcepub fn allowed_uri_types(self, types: UriTypeSet) -> Self
pub fn allowed_uri_types(self, types: UriTypeSet) -> Self
Restrict allowed reference URI classes.
Sourcepub fn allowed_transforms<I, S>(self, transforms: I) -> Self
pub fn allowed_transforms<I, S>(self, transforms: I) -> Self
Restrict allowed transform algorithms by URI.
Example values:
http://www.w3.org/2000/09/xmldsig#enveloped-signaturehttp://www.w3.org/2001/10/xml-exc-c14n#
When a <Reference> has no explicit canonicalization transform, XMLDSig
applies implicit default C14N (http://www.w3.org/TR/2001/REC-xml-c14n-20010315).
If an allowlist is configured, include that URI as well unless all
references use explicit Transform::C14n(...).
Sourcepub fn store_pre_digest(self, enabled: bool) -> Self
pub fn store_pre_digest(self, enabled: bool) -> Self
Store pre-digest buffers for diagnostics.
Sourcepub fn verify(
&self,
xml: &str,
) -> Result<VerifyResult, SignatureVerificationPipelineError>
pub fn verify( &self, xml: &str, ) -> Result<VerifyResult, SignatureVerificationPipelineError>
Verify one XMLDSig signature using this context.
Returns Ok(VerifyResult) for both valid and invalid signatures; inspect
VerifyResult::status for the verification outcome. Err(...) is
reserved for pipeline failures.