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;
77use cryptoki:: error:: { Error , RvError } ;
88use cryptoki:: mechanism:: mldsa:: { HashSignAdditionalContext , HedgeType , SignAdditionalContext } ;
99use cryptoki:: mechanism:: { Mechanism , MechanismType } ;
10- use cryptoki:: object:: { Attribute , MlDsaParameterSetType } ;
10+ use cryptoki:: object:: { Attribute , AttributeType , MlDsaParameterSetType } ;
1111use cryptoki:: session:: UserType ;
1212use cryptoki:: types:: AuthPin ;
1313use serial_test:: serial;
@@ -100,6 +100,17 @@ fn ml_dsa() -> TestResult {
100100 Error :: Pkcs11 ( _, Function :: VerifySignature )
101101 ) ) ;
102102
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+
103114 // delete keys
104115 session. destroy_object ( public) ?;
105116 session. destroy_object ( private) ?;
Original file line number Diff line number Diff line change @@ -95,6 +95,17 @@ fn ml_kem() -> TestResult {
9595 let ptext = session. decrypt ( & Mechanism :: AesEcb , secret, & ctext) ?;
9696 assert_eq ! ( data, ptext) ;
9797
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+
98109 // delete keys
99110 session. destroy_object ( public) ?;
100111 session. destroy_object ( private) ?;
You can’t perform that action at this time.
0 commit comments