2
2
// SPDX-License-Identifier: Apache-2.0
3
3
mod common;
4
4
5
- use crate :: common:: { get_pkcs11, is_softhsm, SO_PIN , USER_PIN } ;
5
+ use crate :: common:: { get_pkcs11, is_softhsm, is_softokn , SO_PIN , USER_PIN } ;
6
6
use common:: init_pins;
7
7
use cryptoki:: context:: Function ;
8
8
use cryptoki:: error:: { Error , RvError } ;
@@ -1086,7 +1086,11 @@ fn get_session_info_test() -> TestResult {
1086
1086
if let Err ( cryptoki:: error:: Error :: Pkcs11 ( rv_error, _) ) =
1087
1087
session. login ( UserType :: So , Some ( & AuthPin :: new ( SO_PIN . into ( ) ) ) )
1088
1088
{
1089
- assert_eq ! ( rv_error, RvError :: SessionReadOnlyExists )
1089
+ if is_softokn ( ) {
1090
+ assert_eq ! ( rv_error, RvError :: UserTypeInvalid )
1091
+ } else {
1092
+ assert_eq ! ( rv_error, RvError :: SessionReadOnlyExists )
1093
+ }
1090
1094
} else {
1091
1095
panic ! ( "Should error when attempting to log in as CKU_SO on a read-only session" ) ;
1092
1096
}
@@ -1107,14 +1111,16 @@ fn get_session_info_test() -> TestResult {
1107
1111
assert_eq ! ( session_info. slot_id( ) , slot) ;
1108
1112
assert ! ( matches!( session_info. session_state( ) , SessionState :: RwUser , ) ) ;
1109
1113
session. logout ( ) ?;
1110
- session. login ( UserType :: So , Some ( & AuthPin :: new ( SO_PIN . into ( ) ) ) ) ?;
1111
- let session_info = session. get_session_info ( ) ?;
1112
- assert ! ( session_info. read_write( ) ) ;
1113
- assert_eq ! ( session_info. slot_id( ) , slot) ;
1114
- assert ! ( matches!(
1115
- session_info. session_state( ) ,
1116
- SessionState :: RwSecurityOfficer
1117
- ) ) ;
1114
+ if !is_softokn ( ) {
1115
+ session. login ( UserType :: So , Some ( & AuthPin :: new ( SO_PIN . into ( ) ) ) ) ?;
1116
+ let session_info = session. get_session_info ( ) ?;
1117
+ assert ! ( session_info. read_write( ) ) ;
1118
+ assert_eq ! ( session_info. slot_id( ) , slot) ;
1119
+ assert ! ( matches!(
1120
+ session_info. session_state( ) ,
1121
+ SessionState :: RwSecurityOfficer
1122
+ ) ) ;
1123
+ }
1118
1124
1119
1125
Ok ( ( ) )
1120
1126
}
0 commit comments