@@ -303,25 +303,38 @@ impl IdentityAssertion {
303
303
// Load the trust handler settings. Don't worry about status as these
304
304
// are checked during setting generation.
305
305
306
- if let Ok ( Some ( ta) ) = get_settings_value :: < Option < String > > ( "cawg_trust.trust_anchors" ) {
307
- let _ = ctp. add_trust_anchors ( ta. as_bytes ( ) ) ;
308
- }
306
+ let cose_verifier =
307
+ if let Ok ( true ) = get_settings_value :: < bool > ( "cawg_trust.verify_trust_list" ) {
308
+ if let Ok ( Some ( ta) ) =
309
+ get_settings_value :: < Option < String > > ( "cawg_trust.trust_anchors" )
310
+ {
311
+ let _ = ctp. add_trust_anchors ( ta. as_bytes ( ) ) ;
312
+ }
309
313
310
- if let Ok ( Some ( pa) ) = get_settings_value :: < Option < String > > ( "cawg_trust.user_anchors" ) {
311
- let _ = ctp. add_user_trust_anchors ( pa. as_bytes ( ) ) ;
312
- }
314
+ if let Ok ( Some ( pa) ) =
315
+ get_settings_value :: < Option < String > > ( "cawg_trust.user_anchors" )
316
+ {
317
+ let _ = ctp. add_user_trust_anchors ( pa. as_bytes ( ) ) ;
318
+ }
313
319
314
- if let Ok ( Some ( tc) ) = get_settings_value :: < Option < String > > ( "cawg_trust.trust_config" ) {
315
- ctp. add_valid_ekus ( tc. as_bytes ( ) ) ;
316
- }
320
+ if let Ok ( Some ( tc) ) =
321
+ get_settings_value :: < Option < String > > ( "cawg_trust.trust_config" )
322
+ {
323
+ ctp. add_valid_ekus ( tc. as_bytes ( ) ) ;
324
+ }
317
325
318
- if let Ok ( Some ( al) ) = get_settings_value :: < Option < String > > ( "cawg_trust.allowed_list" ) {
319
- let _ = ctp. add_end_entity_credentials ( al. as_bytes ( ) ) ;
320
- }
326
+ if let Ok ( Some ( al) ) =
327
+ get_settings_value :: < Option < String > > ( "cawg_trust.allowed_list" )
328
+ {
329
+ let _ = ctp. add_end_entity_credentials ( al. as_bytes ( ) ) ;
330
+ }
321
331
322
- let verifier = X509SignatureVerifier {
323
- cose_verifier : Verifier :: VerifyTrustPolicy ( Cow :: Owned ( ctp) ) ,
324
- } ;
332
+ Verifier :: VerifyTrustPolicy ( Cow :: Owned ( ctp) )
333
+ } else {
334
+ Verifier :: IgnoreProfileAndTrustPolicy
335
+ } ;
336
+
337
+ let verifier = X509SignatureVerifier { cose_verifier } ;
325
338
326
339
let result = verifier
327
340
. check_signature ( & self . signer_payload , & self . signature , status_tracker)
0 commit comments