pub enum AsymmetricSignature {
RsaPkcs1v15Sign {
hash_alg: SignHash,
},
RsaPkcs1v15SignRaw,
RsaPss {
hash_alg: SignHash,
},
Ecdsa {
hash_alg: SignHash,
},
EcdsaAny,
DeterministicEcdsa {
hash_alg: SignHash,
},
}
Expand description
Enumeration of asymmetric signing algorithms supported.
Variants
RsaPkcs1v15Sign
Fields
hash_alg: SignHash
A hash algorithm to use.
RSA PKCS#1 v1.5 signature with hashing.
RsaPkcs1v15SignRaw
Raw PKCS#1 v1.5 signature.
RsaPss
Fields
hash_alg: SignHash
A hash algorithm to use.
RSA PSS signature with hashing.
Ecdsa
Fields
hash_alg: SignHash
A hash algorithm to use.
ECDSA signature with hashing.
EcdsaAny
ECDSA signature without hashing.
DeterministicEcdsa
Fields
hash_alg: SignHash
A hash algorithm to use.
Deterministic ECDSA signature with hashing.
Implementations
sourceimpl AsymmetricSignature
impl AsymmetricSignature
sourcepub fn is_alg_permitted(self, alg: AsymmetricSignature) -> bool
pub fn is_alg_permitted(self, alg: AsymmetricSignature) -> bool
Check if the alg given for a cryptographic operation is permitted to be used with this algorithm as a policy
Example
use psa_crypto::types::algorithm::{AsymmetricSignature, SignHash, Hash};
assert!(AsymmetricSignature::RsaPkcs1v15Sign { hash_alg: SignHash::Any }
.is_alg_permitted(AsymmetricSignature::RsaPkcs1v15Sign {
hash_alg: SignHash::Specific(Hash::Sha1)
})
);
assert!(!AsymmetricSignature::RsaPkcs1v15Sign { hash_alg: SignHash::Specific(Hash::Sha256) }
.is_alg_permitted(AsymmetricSignature::RsaPkcs1v15Sign {
hash_alg: SignHash::Specific(Hash::Sha1)
})
);
sourcepub fn is_rsa_alg(self) -> bool
pub fn is_rsa_alg(self) -> bool
Check if this is a RSA algorithm
sourcepub fn is_ecc_alg(self) -> bool
pub fn is_ecc_alg(self) -> bool
Check if this is an ECC algorithm
sourcepub fn is_hash_len_permitted(self, hash_len: usize) -> bool
pub fn is_hash_len_permitted(self, hash_len: usize) -> bool
Determines if the given hash length is compatible with the asymmetric signature scheme
Trait Implementations
sourceimpl Clone for AsymmetricSignature
impl Clone for AsymmetricSignature
sourcefn clone(&self) -> AsymmetricSignature
fn clone(&self) -> AsymmetricSignature
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for AsymmetricSignature
impl Debug for AsymmetricSignature
sourceimpl<'de> Deserialize<'de> for AsymmetricSignature
impl<'de> Deserialize<'de> for AsymmetricSignature
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<AsymmetricSignature, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<AsymmetricSignature, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<AsymmetricSignature> for Algorithm
impl From<AsymmetricSignature> for Algorithm
sourcefn from(alg: AsymmetricSignature) -> Algorithm
fn from(alg: AsymmetricSignature) -> Algorithm
Converts to this type from the input type.
sourceimpl PartialEq<AsymmetricSignature> for AsymmetricSignature
impl PartialEq<AsymmetricSignature> for AsymmetricSignature
sourcefn eq(&self, other: &AsymmetricSignature) -> bool
fn eq(&self, other: &AsymmetricSignature) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourceimpl Serialize for AsymmetricSignature
impl Serialize for AsymmetricSignature
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
sourceimpl Zeroize for AsymmetricSignature
impl Zeroize for AsymmetricSignature
impl Copy for AsymmetricSignature
impl Eq for AsymmetricSignature
impl StructuralEq for AsymmetricSignature
impl StructuralPartialEq for AsymmetricSignature
Auto Trait Implementations
impl RefUnwindSafe for AsymmetricSignature
impl Send for AsymmetricSignature
impl Sync for AsymmetricSignature
impl Unpin for AsymmetricSignature
impl UnwindSafe for AsymmetricSignature
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more