#[non_exhaustive]pub enum SigningPublicKeyInfo {
Rsa {
spki_der: Vec<u8>,
modulus: Vec<u8>,
exponent: Vec<u8>,
},
Ec {
spki_der: Vec<u8>,
curve_oid: &'static str,
public_key: Vec<u8>,
},
Dsa {
spki_der: Vec<u8>,
p: Vec<u8>,
q: Vec<u8>,
g: Vec<u8>,
y: Vec<u8>,
modulus_bits: usize,
component_len: usize,
},
Hmac {
key_bits: usize,
},
EdDsa {
algorithm: SignatureAlgorithm,
spki_der: Vec<u8>,
},
PostQuantum {
algorithm: PqAlgorithm,
spki_der: Vec<u8>,
},
}Expand description
Public key material corresponding to a private XMLDSig signing key.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Rsa
RSA public key with DER SubjectPublicKeyInfo and normalized parameters.
Fields
Ec
EC public key with DER SubjectPublicKeyInfo and XMLDSig 1.1 KeyValue data.
Fields
Dsa
DSA public key and signature component width.
Fields
Hmac
Symmetric HMAC key metadata without exposing secret bytes.
EdDsa
EdDSA key metadata; the algorithm fixes its wire format and width.
Fields
§
algorithm: SignatureAlgorithmPure EdDSA method supported by this key.
PostQuantum
Experimental PQ key metadata; permission is independent of this capability.
Fields
§
algorithm: PqAlgorithmExact FIPS parameter set.
Implementations§
Trait Implementations§
Source§impl Clone for SigningPublicKeyInfo
impl Clone for SigningPublicKeyInfo
Source§impl Debug for SigningPublicKeyInfo
impl Debug for SigningPublicKeyInfo
impl Eq for SigningPublicKeyInfo
Source§impl PartialEq for SigningPublicKeyInfo
impl PartialEq for SigningPublicKeyInfo
impl StructuralPartialEq for SigningPublicKeyInfo
Auto Trait Implementations§
impl Freeze for SigningPublicKeyInfo
impl RefUnwindSafe for SigningPublicKeyInfo
impl Send for SigningPublicKeyInfo
impl Sync for SigningPublicKeyInfo
impl Unpin for SigningPublicKeyInfo
impl UnsafeUnpin for SigningPublicKeyInfo
impl UnwindSafe for SigningPublicKeyInfo
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