pub struct VerificationKey {
pub algorithm: SignatureAlgorithm,
pub public_key_bytes: Vec<u8>,
pub certificate_der: Option<Vec<u8>>,
pub name: Option<String>,
}Expand description
A public verification key available to key resolvers.
Fields§
§algorithm: SignatureAlgorithmSignature algorithm this key is configured to verify.
public_key_bytes: Vec<u8>DER-encoded SubjectPublicKeyInfo bytes.
certificate_der: Option<Vec<u8>>DER certificate from which the key was extracted, when applicable.
name: Option<String>Name used to register this key for <KeyName> resolution.
Trait Implementations§
Source§impl Clone for VerificationKey
impl Clone for VerificationKey
Source§impl Debug for VerificationKey
impl Debug for VerificationKey
impl Eq for VerificationKey
Source§impl PartialEq for VerificationKey
impl PartialEq for VerificationKey
impl StructuralPartialEq for VerificationKey
Source§impl VerifyingKey for VerificationKey
impl VerifyingKey for VerificationKey
Source§fn verification_spki(
&self,
algorithm: SignatureAlgorithm,
) -> Result<Option<&[u8]>, DsigError>
fn verification_spki( &self, algorithm: SignatureAlgorithm, ) -> Result<Option<&[u8]>, DsigError>
Borrow public SPKI for native verification, validating method/key binding.
Opaque external keys may return
None; native providers then fail closed.Source§fn verify_with_context(
&self,
algorithm: SignatureAlgorithm,
context: &SignatureContext,
data: &[u8],
signature: &[u8],
) -> Result<bool, DsigError>
fn verify_with_context( &self, algorithm: SignatureAlgorithm, context: &SignatureContext, data: &[u8], signature: &[u8], ) -> Result<bool, DsigError>
Verify with validated domain separation, rejecting unsupported contexts.
Source§fn validate_policy(&self, policy: &VerificationPolicy) -> Result<(), DsigError>
fn validate_policy(&self, policy: &VerificationPolicy) -> Result<(), DsigError>
Validate this key against the operation’s immutable trust policy. Read more
Source§fn validate_signature_value(
&self,
algorithm: SignatureAlgorithm,
signature_value: &[u8],
) -> Result<bool, DsigError>
fn validate_signature_value( &self, algorithm: SignatureAlgorithm, signature_value: &[u8], ) -> Result<bool, DsigError>
Check that
signature_value has the wire framing required by the
declared algorithm and this key before provider dispatch. Read moreSource§fn validate_signature_value_with_policy(
&self,
policy: &VerificationPolicy,
algorithm: SignatureAlgorithm,
signature_value: &[u8],
) -> Result<bool, DsigError>
fn validate_signature_value_with_policy( &self, policy: &VerificationPolicy, algorithm: SignatureAlgorithm, signature_value: &[u8], ) -> Result<bool, DsigError>
Validate wire framing under the operation’s immutable compatibility policy. Read more
Source§fn verify(
&self,
algorithm: SignatureAlgorithm,
signed_data: &[u8],
signature_value: &[u8],
) -> Result<bool, DsigError>
fn verify( &self, algorithm: SignatureAlgorithm, signed_data: &[u8], signature_value: &[u8], ) -> Result<bool, DsigError>
Verify
signature_value over signed_data with the declared algorithm.Source§fn verify_with_policy(
&self,
policy: &VerificationPolicy,
algorithm: SignatureAlgorithm,
signed_data: &[u8],
signature_value: &[u8],
) -> Result<bool, DsigError>
fn verify_with_policy( &self, policy: &VerificationPolicy, algorithm: SignatureAlgorithm, signed_data: &[u8], signature_value: &[u8], ) -> Result<bool, DsigError>
Verify after applying operation-scoped compatibility semantics. Read more
Source§fn verify_candidate_keys(
&self,
_verify: &mut dyn FnMut(&dyn VerifyingKey) -> Result<bool, DsigError>,
) -> Result<Option<bool>, DsigError>
fn verify_candidate_keys( &self, _verify: &mut dyn FnMut(&dyn VerifyingKey) -> Result<bool, DsigError>, ) -> Result<Option<bool>, DsigError>
Composite resolvers may try individual keys through the selected engine.
None identifies a leaf handle. Wrappers must preserve per-key policy
when forwarding the visitor; no public/private key copy is required.Source§fn ecdsa_encoding(&self) -> EcdsaSignatureValueEncoding
fn ecdsa_encoding(&self) -> EcdsaSignatureValueEncoding
Wire encoding already selected by the immutable verification policy.
Auto Trait Implementations§
impl Freeze for VerificationKey
impl RefUnwindSafe for VerificationKey
impl Send for VerificationKey
impl Sync for VerificationKey
impl Unpin for VerificationKey
impl UnsafeUnpin for VerificationKey
impl UnwindSafe for VerificationKey
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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