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
sourcepub fn clone(&self) -> AsymmetricSignature
pub 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
sourcepub fn deserialize<__D>(
__deserializer: __D
) -> Result<AsymmetricSignature, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub 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
sourcepub fn from(alg: AsymmetricSignature) -> Algorithm
pub fn from(alg: AsymmetricSignature) -> Algorithm
Performs the conversion.
sourceimpl PartialEq<AsymmetricSignature> for AsymmetricSignature
impl PartialEq<AsymmetricSignature> for AsymmetricSignature
sourcepub fn eq(&self, other: &AsymmetricSignature) -> bool
pub fn eq(&self, other: &AsymmetricSignature) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcepub fn ne(&self, other: &AsymmetricSignature) -> bool
pub fn ne(&self, other: &AsymmetricSignature) -> bool
This method tests for !=
.
sourceimpl Serialize for AsymmetricSignature
impl Serialize for AsymmetricSignature
sourcepub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub 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 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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more