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
RSA PKCS#1 v1.5 signature with hashing.
RsaPkcs1v15SignRaw
Raw PKCS#1 v1.5 signature.
RsaPss
RSA PSS signature with hashing.
Ecdsa
ECDSA signature with hashing.
EcdsaAny
ECDSA signature without hashing.
DeterministicEcdsa
Deterministic ECDSA signature with hashing.
Implementations§
source§impl 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§
source§impl Clone for AsymmetricSignature
impl Clone for AsymmetricSignature
source§fn clone(&self) -> AsymmetricSignature
fn clone(&self) -> AsymmetricSignature
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for AsymmetricSignature
impl Debug for AsymmetricSignature
source§impl<'de> Deserialize<'de> for AsymmetricSignature
impl<'de> Deserialize<'de> for AsymmetricSignature
source§fn 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
source§impl From<AsymmetricSignature> for Algorithm
impl From<AsymmetricSignature> for Algorithm
source§fn from(alg: AsymmetricSignature) -> Algorithm
fn from(alg: AsymmetricSignature) -> Algorithm
Converts to this type from the input type.
source§impl PartialEq<AsymmetricSignature> for AsymmetricSignature
impl PartialEq<AsymmetricSignature> for AsymmetricSignature
source§fn 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 ==
.source§impl Serialize for AsymmetricSignature
impl Serialize for AsymmetricSignature
source§fn 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