File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ use cryptoki::context::Function;
7
7
use cryptoki:: error:: { Error , RvError } ;
8
8
use cryptoki:: mechanism:: mldsa:: { HashSignAdditionalContext , HedgeType , SignAdditionalContext } ;
9
9
use cryptoki:: mechanism:: { Mechanism , MechanismType } ;
10
- use cryptoki:: object:: { Attribute , MlDsaParameterSetType } ;
10
+ use cryptoki:: object:: { Attribute , AttributeType , MlDsaParameterSetType } ;
11
11
use cryptoki:: session:: UserType ;
12
12
use cryptoki:: types:: AuthPin ;
13
13
use serial_test:: serial;
@@ -100,6 +100,17 @@ fn ml_dsa() -> TestResult {
100
100
Error :: Pkcs11 ( _, Function :: VerifySignature )
101
101
) ) ;
102
102
103
+ // Test convrting ParameterSet attributes back to algorithm specific values
104
+ let param_attribute = session
105
+ . get_attributes ( public, & [ AttributeType :: ParameterSet ] ) ?
106
+ . remove ( 0 ) ;
107
+ let param: MlDsaParameterSetType = if let Attribute :: ParameterSet ( num) = param_attribute {
108
+ num. into ( )
109
+ } else {
110
+ panic ! ( "Expected ParameterSet attribute." ) ;
111
+ } ;
112
+ assert_eq ! ( param, MlDsaParameterSetType :: ML_DSA_65 ) ;
113
+
103
114
// delete keys
104
115
session. destroy_object ( public) ?;
105
116
session. destroy_object ( private) ?;
Original file line number Diff line number Diff line change @@ -95,6 +95,17 @@ fn ml_kem() -> TestResult {
95
95
let ptext = session. decrypt ( & Mechanism :: AesEcb , secret, & ctext) ?;
96
96
assert_eq ! ( data, ptext) ;
97
97
98
+ // Test convrting ParameterSet attributes back to algorithm specific values
99
+ let param_attribute = session
100
+ . get_attributes ( public, & [ AttributeType :: ParameterSet ] ) ?
101
+ . remove ( 0 ) ;
102
+ let param: MlKemParameterSetType = if let Attribute :: ParameterSet ( num) = param_attribute {
103
+ num. into ( )
104
+ } else {
105
+ panic ! ( "Expected ParameterSet attribute." ) ;
106
+ } ;
107
+ assert_eq ! ( param, MlKemParameterSetType :: ML_KEM_768 ) ;
108
+
98
109
// delete keys
99
110
session. destroy_object ( public) ?;
100
111
session. destroy_object ( private) ?;
You can’t perform that action at this time.
0 commit comments