@@ -285,7 +285,9 @@ UTEST(AOS_PROCESS, HAPPY_PATH_CLEAR_FECF)
285
285
sa_if -> sa_get_from_spi (10 , & sa_ptr ); // Disable SPI 10
286
286
sa_ptr -> sa_state = SA_KEYED ;
287
287
sa_if -> sa_get_from_spi (9 , & sa_ptr ); // Enable and setup 9
288
- sa_ptr -> sa_state = SA_OPERATIONAL ;
288
+ sa_ptr -> sa_state = SA_OPERATIONAL ;
289
+ sa_ptr -> arsn_len = 0 ;
290
+ sa_ptr -> shsnf_len = 0 ;
289
291
290
292
status =
291
293
Crypto_AOS_ProcessSecurity ((uint8_t * )framed_aos_b , framed_aos_len , & ptr_processed_frame , & processed_aos_len );
@@ -475,6 +477,8 @@ UTEST(AOS_PROCESS, INSERT_ZONE_PRESENT_PLAINTEXT)
475
477
sa_ptr -> sa_state = SA_KEYED ;
476
478
sa_if -> sa_get_from_spi (9 , & sa_ptr ); // Enable and setup 9
477
479
sa_ptr -> sa_state = SA_OPERATIONAL ;
480
+ sa_ptr -> arsn_len = 0 ;
481
+ sa_ptr -> shsnf_len = 0 ;
478
482
479
483
status =
480
484
Crypto_AOS_ProcessSecurity ((uint8_t * )framed_aos_b , framed_aos_len , & ptr_processed_frame , & processed_aos_len );
@@ -517,16 +521,13 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_0)
517
521
TC_IGNORE_SA_STATE_FALSE , TC_IGNORE_ANTI_REPLAY_FALSE , TC_UNIQUE_SA_PER_MAP_ID_FALSE ,
518
522
AOS_CHECK_FECF_TRUE , 0x3F , SA_INCREMENT_NONTRANSMITTED_IV_TRUE );
519
523
// AOS Tests
520
- // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x002c, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786,
521
- // AOS_FHEC_NA, AOS_IZ_NA, 0);
522
524
GvcidManagedParameters_t AOS_UT_Managed_Parameters = {
523
525
1 , 0x002c , 0 , AOS_HAS_FECF , AOS_FHEC_NA , AOS_IZ_NA , 0 , AOS_SEGMENT_HDRS_NA , 1786 , AOS_NO_OCF , 1 };
524
526
Crypto_Config_Add_Gvcid_Managed_Parameters (AOS_UT_Managed_Parameters );
525
527
status = Crypto_Init ();
526
528
527
529
// Test frame setup
528
530
// Note: SPI 11 (0x0B)
529
- // Setup: | hdr 6 |SPI| data | MAC | FECF
530
531
char * framed_aos_h =
531
532
"42C000001800000B08010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA"
532
533
"BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB"
@@ -582,7 +583,6 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_0)
582
583
sa_ptr -> gvcid_blk .scid = 0x44 ;
583
584
sa_ptr -> iv_len = 0 ;
584
585
sa_ptr -> shivf_len = 0 ;
585
- memset (sa_ptr -> abm , 0x00 , (sa_ptr -> abm_len * sizeof (uint8_t ))); // Bitmask of zeros
586
586
587
587
// Truth frame setup
588
588
char * truth_aos_h =
@@ -623,11 +623,6 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_0)
623
623
int truth_aos_len = 0 ;
624
624
hex_conversion (truth_aos_h , & truth_aos_b , & truth_aos_len );
625
625
626
- // Test Specific Setup
627
- // SaInterface sa_if = get_sa_interface_inmemory();
628
- // Expose/setup SA for testing
629
- // Configure SA 15
630
-
631
626
status =
632
627
Crypto_AOS_ProcessSecurity ((uint8_t * )framed_aos_b , framed_aos_len , & ptr_processed_frame , & processed_aos_len );
633
628
ASSERT_EQ (CRYPTO_LIB_SUCCESS , status );
@@ -1738,6 +1733,8 @@ UTEST(AOS_PROCESS, AEAD_GCM_BITMASK_1)
1738
1733
1739
1734
UTEST (AOS_PROCESS , AOS_SA_SEGFAULT_TEST )
1740
1735
{
1736
+ remove ("sa_save_file.bin" );
1737
+
1741
1738
// Local Variables
1742
1739
int32_t status = CRYPTO_LIB_SUCCESS ;
1743
1740
uint8_t * ptr_processed_frame = NULL ;
@@ -1773,6 +1770,8 @@ UTEST(AOS_PROCESS, AOS_SA_SEGFAULT_TEST)
1773
1770
1774
1771
UTEST (AOS_PROCESS , AOS_SA_NOT_OPERATIONAL )
1775
1772
{
1773
+ remove ("sa_save_file.bin" );
1774
+
1776
1775
// Local Variables
1777
1776
int32_t status = CRYPTO_LIB_SUCCESS ;
1778
1777
uint8_t * ptr_processed_frame = NULL ;
@@ -1792,17 +1791,17 @@ UTEST(AOS_PROCESS, AOS_SA_NOT_OPERATIONAL)
1792
1791
status = Crypto_Init ();
1793
1792
1794
1793
// Test frame setup
1795
- char * framed_aos_h = "42C00000000000050000000000000000FFFF " ;
1794
+ char * framed_aos_h = "42C00000000800090000000000000000FFFF " ;
1796
1795
char * framed_aos_b = NULL ;
1797
1796
int framed_aos_len = 0 ;
1798
1797
hex_conversion (framed_aos_h , & framed_aos_b , & framed_aos_len );
1799
1798
1800
1799
SecurityAssociation_t * sa_ptr = NULL ;
1801
1800
SaInterface sa_if = get_sa_interface_inmemory ();
1802
- sa_if -> sa_get_from_spi (10 , & sa_ptr ); // Disable SPI 10
1803
- sa_ptr -> sa_state = SA_KEYED ;
1804
- sa_if -> sa_get_from_spi (5 , & sa_ptr ); // Enable and setup 5
1801
+ sa_if -> sa_get_from_spi (9 , & sa_ptr ); // Disable SPI 10
1805
1802
sa_ptr -> sa_state = SA_NONE ;
1803
+ sa_ptr -> arsn_len = 0 ;
1804
+ sa_ptr -> shsnf_len = 0 ;
1806
1805
1807
1806
crypto_key_t * ekp = NULL ;
1808
1807
ekp = key_if -> get_key (sa_ptr -> ekid );
@@ -1842,19 +1841,23 @@ UTEST(AOS_PROCESS, AOS_OCF_TEST)
1842
1841
status = Crypto_Init ();
1843
1842
1844
1843
// Test frame setup
1845
- char * framed_aos_h = "42C00000001500090000000000000000DEADBEEFFFFF " ;
1844
+ char * framed_aos_h = "42C00000000800090000000000000000DEADBEEFFFFF " ;
1846
1845
char * framed_aos_b = NULL ;
1847
1846
int framed_aos_len = 0 ;
1848
1847
hex_conversion (framed_aos_h , & framed_aos_b , & framed_aos_len );
1849
1848
1850
1849
SecurityAssociation_t * sa_ptr = NULL ;
1851
1850
SaInterface sa_if = get_sa_interface_inmemory ();
1852
- sa_if -> sa_get_from_spi (9 , & sa_ptr ); // Enable and setup 5
1853
- sa_ptr -> sa_state = SA_OPERATIONAL ;
1854
- sa_ptr -> shivf_len = 0 ;
1855
- sa_ptr -> gvcid_blk .tfvn = 1 ;
1856
- sa_ptr -> gvcid_blk .vcid = 0 ;
1857
- sa_ptr -> gvcid_blk .mapid = 0 ;
1851
+ sa_if -> sa_get_from_spi (9 , & sa_ptr ); // Enable and setup 9
1852
+ sa_ptr -> sa_state = SA_OPERATIONAL ;
1853
+ sa_ptr -> shivf_len = 0 ;
1854
+ sa_ptr -> shsnf_len = 0 ;
1855
+ sa_ptr -> arsn_len = 0 ;
1856
+ sa_ptr -> iv_len = 0 ;
1857
+ sa_ptr -> shivf_len = 0 ;
1858
+ sa_ptr -> stmacf_len = 0 ;
1859
+ sa_ptr -> arsnw_len = 0 ;
1860
+ sa_ptr -> arsn_len = 0 ;
1858
1861
1859
1862
status =
1860
1863
Crypto_AOS_ProcessSecurity ((uint8_t * )framed_aos_b , framed_aos_len , & ptr_processed_frame , & processed_aos_len );
@@ -1898,9 +1901,11 @@ UTEST(AOS_PROCESS, AOS_KEY_STATE_TEST)
1898
1901
sa_if -> sa_get_from_spi (10 , & sa_ptr ); // Disable SPI 10
1899
1902
sa_ptr -> sa_state = SA_KEYED ;
1900
1903
sa_if -> sa_get_from_spi (5 , & sa_ptr ); // Enable and setup 5
1901
- sa_ptr -> sa_state = SA_OPERATIONAL ;
1902
- sa_ptr -> est = 1 ;
1903
- sa_ptr -> ecs = CRYPTO_CIPHER_AES256_GCM ;
1904
+ sa_ptr -> sa_state = SA_OPERATIONAL ;
1905
+ sa_ptr -> est = 1 ;
1906
+ sa_ptr -> ecs = CRYPTO_CIPHER_AES256_GCM ;
1907
+ sa_ptr -> arsn_len = 0 ;
1908
+ sa_ptr -> shsnf_len = 0 ;
1904
1909
1905
1910
crypto_key_t * ekp = NULL ;
1906
1911
ekp = key_if -> get_key (sa_ptr -> ekid );
0 commit comments