pub enum Type {
}Expand description
Enumeration of key types supported.
Variants§
RawData
Not a valid key type for any cryptographic operation but can be used to store arbitrary data in the key store.
Hmac
HMAC key.
Derive
A secret key for derivation.
Aes
Key for a cipher, AEAD or MAC algorithm based on the AES block cipher.
Des
Key for a cipher or MAC algorithm based on DES or 3DES (Triple-DES).
Camellia
Key for a cipher, AEAD or MAC algorithm based on the Camellia block cipher.
Arc4
Key for the RC4 stream cipher.
Chacha20
Key for the ChaCha20 stream cipher or the Chacha20-Poly1305 AEAD algorithm.
RsaPublicKey
RSA public key.
RsaKeyPair
RSA key pair: both the private and public key.
EccKeyPair
Elliptic curve key pair: both the private and public key.
EccPublicKey
Elliptic curve public key.
DhKeyPair
Diffie-Hellman key pair: both the private key and public key.
DhPublicKey
Diffie-Hellman public key.
Implementations§
Source§impl Type
impl Type
Sourcepub fn is_ecc_key_pair(self) -> bool
pub fn is_ecc_key_pair(self) -> bool
Checks if a key type is ECC key pair with any curve family inside.
Sourcepub fn is_ecc_public_key(self) -> bool
pub fn is_ecc_public_key(self) -> bool
Checks if a key type is ECC public key with any curve family inside.
§Example
use psa_crypto::types::key::{Type, EccFamily};
assert!(Type::EccPublicKey { curve_family: EccFamily::SecpK1}.is_ecc_public_key());Sourcepub fn is_rsa_public_key(self) -> bool
pub fn is_rsa_public_key(self) -> bool
Checks if a key type is RSA public key.
Sourcepub fn is_dh_public_key(self) -> bool
pub fn is_dh_public_key(self) -> bool
Checks if a key type is DH public key with any group family inside.
Sourcepub fn is_dh_key_pair(self) -> bool
pub fn is_dh_key_pair(self) -> bool
Checks if a key type is DH key pair with any group family inside.
Sourcepub fn is_public_key(self) -> bool
pub fn is_public_key(self) -> bool
Checks if a key type is an asymmetric public key type.
Sourcepub fn key_type_public_key_of_key_pair(self) -> Result<Type>
pub fn key_type_public_key_of_key_pair(self) -> Result<Type>
If key is public or key pair, returns the corresponding public key type.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Type
impl<'de> Deserialize<'de> for Type
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl TryFrom<Type> for psa_key_type_t
Available on crate feature interface only.
impl TryFrom<Type> for psa_key_type_t
interface only.