33//! Data types for mechanisms
44
55pub mod aead;
6+ pub mod ekdf;
67pub mod elliptic_curve;
78mod mechanism_info;
89pub mod rsa;
9- pub mod ekdf;
1010
1111use crate :: error:: Error ;
1212use cryptoki_sys:: * ;
@@ -17,8 +17,8 @@ use std::fmt::Formatter;
1717use std:: ops:: Deref ;
1818use std:: ptr:: null_mut;
1919
20+ use crate :: mechanism:: rsa:: PkcsOaepParams ;
2021pub use mechanism_info:: MechanismInfo ;
21- use crate :: mechanism:: rsa:: { PkcsOaepParams , PkcsOaepSource } ;
2222
2323#[ derive( Copy , Debug , Clone , PartialEq , Eq ) ]
2424// transparent so that a vector of MechanismType should have the same layout than a vector of
@@ -67,7 +67,9 @@ impl MechanismType {
6767 pub const AES_GCM : MechanismType = MechanismType { val : CKM_AES_GCM } ;
6868
6969 /// Derivation via encryption
70- pub const AES_CBC_ENCRYPT_DATA : MechanismType = MechanismType { val : CKM_AES_CBC_ENCRYPT_DATA } ;
70+ pub const AES_CBC_ENCRYPT_DATA : MechanismType = MechanismType {
71+ val : CKM_AES_CBC_ENCRYPT_DATA ,
72+ } ;
7173
7274 // RSA
7375 /// PKCS #1 RSA key pair generation mechanism
@@ -247,8 +249,8 @@ impl MechanismType {
247249 val : CKM_SHA512_RSA_PKCS_PSS ,
248250 } ;
249251 /// GENERIC-SECRET-KEY-GEN mechanism
250- pub const GENERIC_SECRET_KEY_GEN : MechanismType = MechanismType {
251- val : CKM_GENERIC_SECRET_KEY_GEN
252+ pub const GENERIC_SECRET_KEY_GEN : MechanismType = MechanismType {
253+ val : CKM_GENERIC_SECRET_KEY_GEN ,
252254 } ;
253255
254256 pub ( crate ) fn stringify ( mech : CK_MECHANISM_TYPE ) -> String {
@@ -706,7 +708,7 @@ pub enum Mechanism<'a> {
706708 /// derivation of keys using the result of an encryption operation as the key value.
707709 ///
708710 /// For derivation, the message length must be a multiple of the block
709- /// size. See https://www.cryptsoft.com/pkcs11doc/v220/
711+ /// size. See < https://www.cryptsoft.com/pkcs11doc/v220/>.
710712 AesCbcEncryptData ( ekdf:: AesCbcDeriveParams < ' a > ) ,
711713
712714 // RSA
@@ -837,7 +839,7 @@ pub enum Mechanism<'a> {
837839 Sha512RsaPkcsPss ( rsa:: PkcsPssParams ) ,
838840
839841 /// GENERIC-SECRET-KEY-GEN mechanism
840- GenericSecretKeyGen
842+ GenericSecretKeyGen ,
841843}
842844
843845impl Mechanism < ' _ > {
@@ -851,7 +853,7 @@ impl Mechanism<'_> {
851853 Mechanism :: AesKeyWrap => MechanismType :: AES_KEY_WRAP ,
852854 Mechanism :: AesKeyWrapPad => MechanismType :: AES_KEY_WRAP_PAD ,
853855 Mechanism :: AesGcm ( _) => MechanismType :: AES_GCM ,
854- Mechanism :: AesCbcEncryptData ( _) =>MechanismType :: AES_CBC_ENCRYPT_DATA ,
856+ Mechanism :: AesCbcEncryptData ( _) => MechanismType :: AES_CBC_ENCRYPT_DATA ,
855857 Mechanism :: RsaPkcsKeyPairGen => MechanismType :: RSA_PKCS_KEY_PAIR_GEN ,
856858 Mechanism :: RsaPkcs => MechanismType :: RSA_PKCS ,
857859 Mechanism :: RsaPkcsPss ( _) => MechanismType :: RSA_PKCS_PSS ,
@@ -897,7 +899,7 @@ impl Mechanism<'_> {
897899 Mechanism :: Sha384RsaPkcsPss ( _) => MechanismType :: SHA384_RSA_PKCS_PSS ,
898900 Mechanism :: Sha512RsaPkcsPss ( _) => MechanismType :: SHA512_RSA_PKCS_PSS ,
899901
900- Mechanism :: GenericSecretKeyGen => MechanismType :: GENERIC_SECRET_KEY_GEN
902+ Mechanism :: GenericSecretKeyGen => MechanismType :: GENERIC_SECRET_KEY_GEN ,
901903 }
902904 }
903905}
@@ -907,13 +909,10 @@ impl From<&Mechanism<'_>> for CK_MECHANISM {
907909 let mechanism = mech. mechanism_type ( ) . into ( ) ;
908910 match mech {
909911 // Mechanisms with parameters
910- Mechanism :: AesCbc ( params)
911- | Mechanism :: AesCbcPad ( params) => {
912+ Mechanism :: AesCbc ( params) | Mechanism :: AesCbcPad ( params) => {
912913 make_mechanism ( mechanism, params)
913- } ,
914- Mechanism :: AesCbcEncryptData ( params) => {
915- make_mechanism ( mechanism, params)
916- } ,
914+ }
915+ Mechanism :: AesCbcEncryptData ( params) => make_mechanism ( mechanism, params) ,
917916 Mechanism :: DesCbc ( params)
918917 | Mechanism :: Des3Cbc ( params)
919918 | Mechanism :: DesCbcPad ( params)
@@ -1021,7 +1020,7 @@ impl TryFrom<psa_crypto::types::algorithm::Algorithm> for Mechanism<'_> {
10211020 Ok ( Mechanism :: RsaPkcsOaep ( PkcsOaepParams :: new (
10221021 Mechanism :: try_from ( Algorithm :: from ( hash_alg) ) ?. mechanism_type ( ) ,
10231022 rsa:: PkcsMgfType :: from_psa_crypto_hash ( hash_alg) ?,
1024- PkcsOaepSource :: empty ( ) ,
1023+ rsa :: PkcsOaepSource :: empty ( ) ,
10251024 ) ) )
10261025 }
10271026 alg => {
0 commit comments