mirror of
https://git.suyu.dev/suyu/mbedtls.git
synced 2026-01-06 06:28:56 +01:00
Test and fix anti-replay functions
This commit is contained in:
parent
7a7e140d4e
commit
4956fd7437
5 changed files with 107 additions and 14 deletions
56
tests/suites/test_suite_ssl.data
Normal file
56
tests/suites/test_suite_ssl.data
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
SSL DTLS replay: initial state, seqnum 0
|
||||
ssl_dtls_replay:"":"000000000000":0
|
||||
|
||||
SSL DTLS replay: 0 seen, 1 arriving
|
||||
ssl_dtls_replay:"000000000000":"000000000001":0
|
||||
|
||||
SSL DTLS replay: 0 seen, 0 replayed
|
||||
ssl_dtls_replay:"000000000000":"000000000000":-1
|
||||
|
||||
SSL DTLS replay: 0-1 seen, 2 arriving
|
||||
ssl_dtls_replay:"000000000000,000000000001":"000000000002":0
|
||||
|
||||
SSL DTLS replay: 0-1 seen, 1 replayed
|
||||
ssl_dtls_replay:"000000000000,000000000001":"000000000001":-1
|
||||
|
||||
SSL DTLS replay: 0-1 seen, 0 replayed
|
||||
ssl_dtls_replay:"000000000000,000000000001":"000000000000":-1
|
||||
|
||||
SSL DTLS replay: new
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340001,abcd12340003":"abcd12340004":0
|
||||
|
||||
SSL DTLS replay: way new
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340001,abcd12340003":"abcd12350000":0
|
||||
|
||||
SSL DTLS replay: delayed
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340001,abcd12340003":"abcd12340002":0
|
||||
|
||||
SSL DTLS replay: lastest replayed
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340001,abcd12340003":"abcd12340003":-1
|
||||
|
||||
SSL DTLS replay: older replayed
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340001,abcd12340003":"abcd12340001":-1
|
||||
|
||||
SSL DTLS replay: most recent in window, replayed
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340002,abcd12340003":"abcd12340002":-1
|
||||
|
||||
SSL DTLS replay: oldest in window, replayed
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340001,abcd1234003f":"abcd12340000":-1
|
||||
|
||||
SSL DTLS replay: oldest in window, not replayed
|
||||
ssl_dtls_replay:"abcd12340001,abcd12340002,abcd1234003f":"abcd12340000":0
|
||||
|
||||
SSL DTLS replay: just out of the window
|
||||
ssl_dtls_replay:"abcd12340001,abcd12340002,abcd1234003f":"abcd1233ffff":-1
|
||||
|
||||
SSL DTLS replay: way out of the window
|
||||
ssl_dtls_replay:"abcd12340001,abcd12340002,abcd1234003f":"abcd12330000":-1
|
||||
|
||||
SSL DTLS replay: big jump then replay
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340100":"abcd12340100":-1
|
||||
|
||||
SSL DTLS replay: big jump then new
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340100":"abcd12340101":0
|
||||
|
||||
SSL DTLS replay: big jump then just delayed
|
||||
ssl_dtls_replay:"abcd12340000,abcd12340100":"abcd123400ff":0
|
||||
33
tests/suites/test_suite_ssl.function
Normal file
33
tests/suites/test_suite_ssl.function
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/* BEGIN_HEADER */
|
||||
#include <polarssl/ssl.h>
|
||||
/* END_HEADER */
|
||||
|
||||
/* BEGIN_DEPENDENCIES
|
||||
* depends_on:POLARSSL_SSL_TLS_C
|
||||
* END_DEPENDENCIES
|
||||
*/
|
||||
|
||||
/* BEGIN_CASE depends_on:POLARSSL_SSL_DTLS_ANTI_REPLAY */
|
||||
void ssl_dtls_replay( char *prevs, char *new, int ret )
|
||||
{
|
||||
ssl_context ssl;
|
||||
char *end_prevs = prevs + strlen( prevs ) + 1;
|
||||
|
||||
TEST_ASSERT( ssl_init( &ssl ) == 0 );
|
||||
TEST_ASSERT( ssl_set_transport( &ssl, SSL_TRANSPORT_DATAGRAM ) == 0 );
|
||||
|
||||
/* Read previous record numbers */
|
||||
for( ; end_prevs - prevs >= 13; prevs += 13 )
|
||||
{
|
||||
prevs[12] = '\0';
|
||||
unhexify( ssl.in_ctr + 2, prevs );
|
||||
ssl_dtls_replay_update( &ssl );
|
||||
}
|
||||
|
||||
/* Check new number */
|
||||
unhexify( ssl.in_ctr + 2, new );
|
||||
TEST_ASSERT( ssl_dtls_replay_check( &ssl ) == ret );
|
||||
|
||||
ssl_free( &ssl );
|
||||
}
|
||||
/* END_CASE */
|
||||
Loading…
Add table
Add a link
Reference in a new issue