diff options
author | animeshbm | 2024-03-14 13:20:59 +0100 |
---|---|---|
committer | GitHub | 2024-03-14 13:20:59 +0100 |
commit | 211ac5f933e97b3accf935dd6dc92e58cc23dbb6 (patch) | |
tree | f385c42cc60bdb621bef3c4fe059f7562af0f57b /src/tests/x509_test.c | |
parent | support for aqc113 (diff) | |
parent | [efi] Update to current EDK2 headers (diff) | |
download | ipxe-211ac5f933e97b3accf935dd6dc92e58cc23dbb6.tar.gz ipxe-211ac5f933e97b3accf935dd6dc92e58cc23dbb6.tar.xz ipxe-211ac5f933e97b3accf935dd6dc92e58cc23dbb6.zip |
Merge branch 'ipxe:master' into aqc1xx
Diffstat (limited to 'src/tests/x509_test.c')
-rw-r--r-- | src/tests/x509_test.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/tests/x509_test.c b/src/tests/x509_test.c index b6cba575..50eb4d78 100644 --- a/src/tests/x509_test.c +++ b/src/tests/x509_test.c @@ -984,6 +984,7 @@ static void x509_validate_chain_fail_okx ( struct x509_test_chain *chn, * */ static void x509_test_exec ( void ) { + struct x509_link *link; /* Parse all certificates */ x509_certificate_ok ( &root_crt ); @@ -1089,6 +1090,22 @@ static void x509_test_exec ( void ) { x509_validate_chain_fail_ok ( &useless_chain, test_ca_expired, &empty_store, &test_root ); + /* Check chain truncation */ + link = list_last_entry ( &server_chain.chain->links, + struct x509_link, list ); + ok ( link->cert == root_crt.cert ); + link = list_prev_entry ( link, &server_chain.chain->links, list ); + ok ( link->cert == intermediate_crt.cert ); + x509_validate_chain_ok ( &server_chain, test_time, + &empty_store, &test_root ); + x509_truncate ( server_chain.chain, link ); + x509_validate_chain_fail_ok ( &server_chain, test_time, + &empty_store, &test_root ); + + /* Check self-signedess */ + ok ( x509_is_self_signed ( root_crt.cert ) ); + ok ( ! x509_is_self_signed ( intermediate_crt.cert ) ); + /* Sanity check */ assert ( list_empty ( &empty_store.links ) ); |