|
iPXE
|
TLS key schedule tests. More...
#include <string.h>#include <ipxe/malloc.h>#include <ipxe/sha256.h>#include <ipxe/md5_sha1.h>#include <ipxe/x25519.h>#include <ipxe/p256.h>#include <ipxe/tlskey.h>#include <ipxe/test.h>Go to the source code of this file.
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| static void | rfc8448_simple_test (struct tls_key_schedule *tlskey, struct tls_preshared_key *psk) |
| Perform RFC 8448 simple 1-RTT test. | |
| static void | rfc8448_resumed_test (struct tls_key_schedule *tlskey, struct tls_preshared_key *psk) |
| Perform RFC 8448 resumed 0-RTT test. | |
| static void | rfc8448_hrr_test (struct tls_key_schedule *tlskey) |
| Perform RFC 8448 HelloRetryRequest test. | |
| static void | dummy_hash (struct tls_key_schedule *tlskey, struct tls_preshared_key *psk) |
| Perform dummy TLS version 1.2 test. | |
| static void | dummy_md5_sha1 (struct tls_key_schedule *tlskey, struct tls_preshared_key *psk) |
| Perform dummy TLS version 1.0 test. | |
| static void | tlskey_test_exec (void) |
| Perform TLS key schedule self-test. | |
Variables | |
| static const struct tls_random | rfc8448_simple_client_nonce |
| RFC 8448 simple 1-RTT test: client random bytes. | |
| static const uint8_t | rfc8448_simple_x25519_private [] |
| RFC 8448 simple 1-RTT test: client X25519 private key. | |
| static const uint8_t | rfc8448_simple_x25519_partner [] |
| RFC 8448 simple 1-RTT test: server X25519 public key. | |
| static const uint8_t | rfc8448_simple_ticket_nonce [] = { 0x00, 0x00 } |
| RFC 8448 simple 1-RTT test: ticket nonce. | |
| static const uint8_t | rfc8448_simple_clienthello [] |
| RFC 8448 simple 1-RTT test: ClientHello. | |
| static const uint8_t | rfc8448_simple_serverhello [] |
| RFC 8448 simple 1-RTT test: ServerHello. | |
| static const uint8_t | rfc8448_simple_encryptedextensions [] |
| RFC 8448 simple 1-RTT test: EncryptedExtensions. | |
| static const uint8_t | rfc8448_simple_certificate [] |
| RFC 8448 simple 1-RTT test: Certificate. | |
| static const uint8_t | rfc8448_simple_certificateverify [] |
| RFC 8448 simple 1-RTT test: CertificateVerify. | |
| static const uint8_t | rfc8448_simple_server_finished [] |
| RFC 8448 simple 1-RTT test: server Finished. | |
| static const uint8_t | rfc8448_simple_client_finished [] |
| RFC 8448 simple 1-RTT test: client Finished. | |
| static const uint8_t | rfc8448_simple_newsessionticket [] |
| RFC 8448 simple 1-RTT test: NewSessionTicket. | |
| static const uint8_t | rfc8448_simple_early_secret [] |
| RFC 8448 simple 1-RTT test: early secret. | |
| static const uint8_t | rfc8448_simple_handshake_secret [] |
| RFC 8448 simple 1-RTT test: handshake secret. | |
| static const uint8_t | rfc8448_simple_client_handshake_traffic_secret [] |
| RFC 8448 simple 1-RTT test: client handshake traffic secret. | |
| static const uint8_t | rfc8448_simple_client_handshake_traffic_key [] |
| RFC 8448 simple 1-RTT test: client handshake traffic key. | |
| static const uint8_t | rfc8448_simple_client_handshake_traffic_iv [] |
| RFC 8448 simple 1-RTT test: client handshake traffic IV. | |
| static const uint8_t | rfc8448_simple_server_handshake_traffic_secret [] |
| RFC 8448 simple 1-RTT test: server handshake traffic secret. | |
| static const uint8_t | rfc8448_simple_server_handshake_traffic_key [] |
| RFC 8448 simple 1-RTT test: server handshake traffic key. | |
| static const uint8_t | rfc8448_simple_server_handshake_traffic_iv [] |
| RFC 8448 simple 1-RTT test: server handshake traffic IV. | |
| static const uint8_t | rfc8448_simple_client_verify [] |
| RFC 8448 simple 1-RTT test: client verification. | |
| static const uint8_t | rfc8448_simple_server_verify [] |
| RFC 8448 simple 1-RTT test: server verification. | |
| static const uint8_t | rfc8448_simple_master_secret [] |
| RFC 8448 simple 1-RTT test: master secret. | |
| static const uint8_t | rfc8448_simple_client_application_traffic_secret [] |
| RFC 8448 simple 1-RTT test: client application traffic secret. | |
| static const uint8_t | rfc8448_simple_client_application_traffic_key [] |
| RFC 8448 simple 1-RTT test: client application traffic key. | |
| static const uint8_t | rfc8448_simple_client_application_traffic_iv [] |
| RFC 8448 simple 1-RTT test: client application traffic IV. | |
| static const uint8_t | rfc8448_simple_server_application_traffic_secret [] |
| RFC 8448 simple 1-RTT test: server application traffic secret. | |
| static const uint8_t | rfc8448_simple_server_application_traffic_key [] |
| RFC 8448 simple 1-RTT test: server application traffic key. | |
| static const uint8_t | rfc8448_simple_server_application_traffic_iv [] |
| RFC 8448 simple 1-RTT test: server application traffic IV. | |
| static const uint8_t | rfc8448_simple_resumption [] |
| RFC 8448 simple 1-RTT test: resumption secret. | |
| static const uint8_t | rfc8448_simple_server_tbshash [] |
| RFC 8448 simple 1-RTT test: server CertificateVerify signable digest. | |
| static const struct tls_random | rfc8448_resumed_server_nonce |
| RFC 8448 resumed 0-RTT test: server random bytes. | |
| static const uint8_t | rfc8448_resumed_x25519_private [] |
| RFC 8448 resumed 0-RTT test: client X25519 private key. | |
| static const uint8_t | rfc8448_resumed_x25519_partner [] |
| RFC 8448 resumed 0-RTT test: server X25519 public key. | |
| static const uint8_t | rfc8448_resumed_clienthello [] |
| RFC 8448 resumed 0-RTT test: ClientHello. | |
| static const uint8_t | rfc8448_resumed_serverhello [] |
| RFC 8448 resumed 0-RTT test: ServerHello. | |
| static const size_t | rfc8448_resumed_clienthello_prefix_len |
| RFC 8448 resumed 0-RTT test: ClientHello prefix length. | |
| static const uint8_t | rfc8448_resumed_encryptedextensions [] |
| RFC 8448 resumed 0-RTT test: EncryptedExtensions. | |
| static const uint8_t | rfc8448_resumed_server_finished [] |
| RFC 8448 resumed 0-RTT test: server Finished. | |
| static const uint8_t | rfc8448_resumed_endofearlydata [] |
| RFC 8448 resumed 0-RTT test: EndOfEarlyData. | |
| static const uint8_t | rfc8448_resumed_client_finished [] |
| RFC 8448 resumed 0-RTT test: client Finished. | |
| static const uint8_t | rfc8448_resumed_psk_binder [] |
| RFC 8448 resumed 0-RTT test: PSK binder. | |
| static const uint8_t | rfc8448_resumed_early_secret [] |
| RFC 8448 resumed 0-RTT test: early secret. | |
| static const uint8_t | rfc8448_resumed_client_early_traffic_secret [] |
| RFC 8448 resumed 0-RTT test: client early traffic secret. | |
| static const uint8_t | rfc8448_resumed_client_early_traffic_key [] |
| RFC 8448 resumed 0-RTT test: client early traffic key. | |
| static const uint8_t | rfc8448_resumed_client_early_traffic_iv [] |
| RFC 8448 resumed 0-RTT test: client early traffic IV. | |
| static const uint8_t | rfc8448_resumed_handshake_secret [] |
| RFC 8448 resumed 0-RTT test: handshake secret. | |
| static const uint8_t | rfc8448_resumed_client_handshake_traffic_secret [] |
| RFC 8448 resumed 0-RTT test: client handshake traffic secret. | |
| static const uint8_t | rfc8448_resumed_client_handshake_traffic_key [] |
| RFC 8448 resumed 0-RTT test: client handshake traffic key. | |
| static const uint8_t | rfc8448_resumed_client_handshake_traffic_iv [] |
| RFC 8448 resumed 0-RTT test: client handshake traffic IV. | |
| static const uint8_t | rfc8448_resumed_server_handshake_traffic_secret [] |
| RFC 8448 resumed 0-RTT test: server handshake traffic secret. | |
| static const uint8_t | rfc8448_resumed_server_handshake_traffic_key [] |
| RFC 8448 resumed 0-RTT test: server handshake traffic key. | |
| static const uint8_t | rfc8448_resumed_server_handshake_traffic_iv [] |
| RFC 8448 resumed 0-RTT test: server handshake traffic IV. | |
| static const uint8_t | rfc8448_resumed_client_verify [] |
| RFC 8448 resumed 0-RTT test: client verification. | |
| static const uint8_t | rfc8448_resumed_server_verify [] |
| RFC 8448 resumed 0-RTT test: server verification. | |
| static const uint8_t | rfc8448_resumed_master_secret [] |
| RFC 8448 resumed 0-RTT test: master secret. | |
| static const uint8_t | rfc8448_resumed_client_application_traffic_secret [] |
| RFC 8448 resumed 0-RTT test: client application traffic secret. | |
| static const uint8_t | rfc8448_resumed_client_application_traffic_key [] |
| RFC 8448 resumed 0-RTT test: client application traffic key. | |
| static const uint8_t | rfc8448_resumed_client_application_traffic_iv [] |
| RFC 8448 resumed 0-RTT test: client application traffic IV. | |
| static const uint8_t | rfc8448_resumed_server_application_traffic_secret [] |
| RFC 8448 resumed 0-RTT test: server application traffic secret. | |
| static const uint8_t | rfc8448_resumed_server_application_traffic_key [] |
| RFC 8448 resumed 0-RTT test: server application traffic key. | |
| static const uint8_t | rfc8448_resumed_server_application_traffic_iv [] |
| RFC 8448 resumed 0-RTT test: server application traffic IV. | |
| static const struct tls_random | rfc8448_hrr_client_nonce |
| RFC 8448 HelloRetryRequest test: client random bytes. | |
| static const uint8_t | rfc8448_hrr_p256_private [] |
| RFC 8448 HelloRetryRequest test: client P-256 private key. | |
| static const uint8_t | rfc8448_hrr_p256_partner [] |
| RFC 8448 HelloRetryRequest test: server P-256 public key. | |
| static const uint8_t | rfc8448_hrr_clienthello1 [] |
| RFC 8448 HelloRetryRequest test: client hello (first). | |
| static const uint8_t | rfc8448_hrr_serverhello1 [] |
| RFC 8448 HelloRetryRequest test: server hello (first). | |
| static const uint8_t | rfc8448_hrr_clienthello2 [] |
| RFC 8448 HelloRetryRequest test: client hello (second). | |
| static const uint8_t | rfc8448_hrr_serverhello2 [] |
| RFC 8448 HelloRetryRequest test: server hello (second). | |
| static const uint8_t | rfc8448_hrr_handshake_secret [] |
| RFC 8448 HelloRetryRequest test: handshake secret. | |
| static const uint8_t | rfc8448_hrr_client_handshake_traffic_secret [] |
| RFC 8448 HelloRetryRequest test: client handshake traffic secret. | |
| static const uint8_t | rfc8448_hrr_server_handshake_traffic_secret [] |
| RFC 8448 HelloRetryRequest test: server handshake traffic secret. | |
| static const struct tls_random | dummy_client_nonce |
| Dummy minimal tests: client random bytes. | |
| static const uint8_t | dummy_clienthello [] |
| Dummy minimal tests: ClientHello. | |
| static const uint8_t | dummy_serverhello [] |
| Dummy minimal tests: ServerHello. | |
| static const uint8_t | dummy_premaster [] |
| Dummy minimal tests: pre-master secret. | |
| static const uint8_t | dummy_dh_param [] |
| Dummy minimal tests: ServerKeyExchange DH parameters. | |
| static const uint8_t | dummy_hash_master_secret [] |
| Dummy minimal TLSv1.2 test: master secret. | |
| static const uint8_t | dummy_hash_client_verify [] |
| Dummy minimal TLSv1.2 test: client verification. | |
| static const uint8_t | dummy_hash_server_verify [] |
| Dummy minimal TLSv1.2 test: server verification. | |
| static const uint8_t | dummy_hash_client_traffic_key [] |
| Dummy minimal TLSv1.2 test: client traffic key. | |
| static const uint8_t | dummy_hash_client_traffic_iv [] |
| Dummy minimal TLSv1.2 test: client traffic IV. | |
| static const uint8_t | dummy_hash_client_traffic_mac [] |
| Dummy minimal TLSv1.2 test: client traffic MAC. | |
| static const uint8_t | dummy_hash_server_traffic_key [] |
| Dummy minimal TLSv1.2 test: server traffic key. | |
| static const uint8_t | dummy_hash_server_traffic_iv [] |
| Dummy minimal TLSv1.2 test: server traffic IV. | |
| static const uint8_t | dummy_hash_server_traffic_mac [] |
| Dummy minimal TLSv1.2 test: server traffic MAC. | |
| static const uint8_t | dummy_hash_client_tbshash [] |
| Dummy minimal TLSv1.2 test: client signable digest. | |
| static const uint8_t | dummy_hash_server_tbshash [] |
| Dummy minimal TLSv1.2 test: server signable digest. | |
| static const uint8_t | dummy_md5_sha1_master_secret_md5 [] |
| Dummy minimal TLSv1.0 test: master secret (MD5 portion). | |
| static const uint8_t | dummy_md5_sha1_master_secret_sha1 [] |
| Dummy minimal TLSv1.0 test: master secret (SHA-1 portion). | |
| static const uint8_t | dummy_md5_sha1_client_verify [] |
| Dummy minimal TLSv1.0 test: client verification. | |
| static const uint8_t | dummy_md5_sha1_server_verify [] |
| Dummy minimal TLSv1.0 test: server verification. | |
| static const uint8_t | dummy_md5_sha1_client_traffic_key [] |
| Dummy minimal TLSv1.0 test: client traffic key. | |
| static const uint8_t | dummy_md5_sha1_client_traffic_iv [] |
| Dummy minimal TLSv1.0 test: client traffic IV. | |
| static const uint8_t | dummy_md5_sha1_client_traffic_mac [] |
| Dummy minimal TLSv1.0 test: client traffic MAC. | |
| static const uint8_t | dummy_md5_sha1_server_traffic_key [] |
| Dummy minimal TLSv1.0 test: server traffic key. | |
| static const uint8_t | dummy_md5_sha1_server_traffic_iv [] |
| Dummy minimal TLSv1.0 test: server traffic IV. | |
| static const uint8_t | dummy_md5_sha1_server_traffic_mac [] |
| Dummy minimal TLSv1.0 test: server traffic MAC. | |
| struct self_test tlskey_test | __self_test |
| TLS key schedule self-test. | |
TLS key schedule tests.
TLS version 1.3 example handshake traces are provided in RFC 8448. We include the "Simple 1-RTT Handshake" and "Resumed 0-RTT Handshake" test cases, to exercise all successful code paths for the HKDF-based key schedule (including session resumption).
For TLS version 1.2 and earlier, there are no good reference example handshake traces available. We choose to run through a non-functional minimal handshake that allows us to exercise the relevant code paths and so at least prevent regressions.
Definition in file tlskey_test.c.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
Perform RFC 8448 simple 1-RTT test.
| tlskey | Key schedule |
| psk | Pre-shared key from which to resume |
Definition at line 951 of file tlskey_test.c.
References digest_algorithm::digestsize, digestsize, exchange_agree(), iv, tls_key_schedule::kdf, key, tls_preshared_key::key, memcmp(), NULL, ok, tls_preshared_key::resumption, rfc8448_simple_certificate, rfc8448_simple_certificateverify, rfc8448_simple_client_application_traffic_iv, rfc8448_simple_client_application_traffic_key, rfc8448_simple_client_application_traffic_secret, rfc8448_simple_client_finished, rfc8448_simple_client_handshake_traffic_iv, rfc8448_simple_client_handshake_traffic_key, rfc8448_simple_client_handshake_traffic_secret, rfc8448_simple_client_nonce, rfc8448_simple_client_verify, rfc8448_simple_clienthello, rfc8448_simple_early_secret, rfc8448_simple_encryptedextensions, rfc8448_simple_handshake_secret, rfc8448_simple_master_secret, rfc8448_simple_newsessionticket, rfc8448_simple_resumption, rfc8448_simple_server_application_traffic_iv, rfc8448_simple_server_application_traffic_key, rfc8448_simple_server_application_traffic_secret, rfc8448_simple_server_finished, rfc8448_simple_server_handshake_traffic_iv, rfc8448_simple_server_handshake_traffic_key, rfc8448_simple_server_handshake_traffic_secret, rfc8448_simple_server_tbshash, rfc8448_simple_server_verify, rfc8448_simple_serverhello, rfc8448_simple_ticket_nonce, rfc8448_simple_x25519_partner, rfc8448_simple_x25519_private, tls_kdf_secret::secret, tls_traffic_secret::secret, sha256_algorithm, exchange_algorithm::sharedsize, tls_application, TLS_CLIENT, tls_handshake, TLS_SERVER, tlskey_apply(), tlskey_cipher(), tlskey_digest(), tlskey_hkdf, tlskey_master(), tlskey_save(), tlskey_start(), tlskey_stop(), tlskey_tbshash(), tlskey_traffic(), tlskey_verify(), tls_key_schedule::traffic, and x25519_algorithm.
Referenced by tlskey_test_exec().
|
static |
Perform RFC 8448 resumed 0-RTT test.
| tlskey | Key schedule |
| psk | Pre-shared key from which to resume |
Definition at line 1102 of file tlskey_test.c.
References digest_algorithm::digestsize, digestsize, exchange_agree(), iv, tls_key_schedule::kdf, key, memcmp(), NULL, ok, rfc8448_resumed_client_application_traffic_iv, rfc8448_resumed_client_application_traffic_key, rfc8448_resumed_client_application_traffic_secret, rfc8448_resumed_client_early_traffic_iv, rfc8448_resumed_client_early_traffic_key, rfc8448_resumed_client_early_traffic_secret, rfc8448_resumed_client_finished, rfc8448_resumed_client_handshake_traffic_iv, rfc8448_resumed_client_handshake_traffic_key, rfc8448_resumed_client_handshake_traffic_secret, rfc8448_resumed_client_verify, rfc8448_resumed_clienthello, rfc8448_resumed_clienthello_prefix_len, rfc8448_resumed_early_secret, rfc8448_resumed_encryptedextensions, rfc8448_resumed_endofearlydata, rfc8448_resumed_handshake_secret, rfc8448_resumed_master_secret, rfc8448_resumed_psk_binder, rfc8448_resumed_server_application_traffic_iv, rfc8448_resumed_server_application_traffic_key, rfc8448_resumed_server_application_traffic_secret, rfc8448_resumed_server_finished, rfc8448_resumed_server_handshake_traffic_iv, rfc8448_resumed_server_handshake_traffic_key, rfc8448_resumed_server_handshake_traffic_secret, rfc8448_resumed_server_nonce, rfc8448_resumed_server_verify, rfc8448_resumed_serverhello, rfc8448_resumed_x25519_partner, rfc8448_resumed_x25519_private, tls_kdf_secret::secret, tls_traffic_secret::secret, sha256_algorithm, exchange_algorithm::sharedsize, tls_application, TLS_CLIENT, tls_early, tls_handshake, TLS_SERVER, tlskey_apply(), tlskey_bind(), tlskey_cipher(), tlskey_digest(), tlskey_hkdf, tlskey_load(), tlskey_master(), tlskey_start(), tlskey_stop(), tlskey_traffic(), tlskey_verify(), tls_key_schedule::traffic, and x25519_algorithm.
Referenced by tlskey_test_exec().
|
static |
Perform RFC 8448 HelloRetryRequest test.
| tlskey | Key schedule |
Definition at line 1250 of file tlskey_test.c.
References digest_algorithm::digestsize, digestsize, exchange_agree(), tls_key_schedule::kdf, memcmp(), ok, p256_algorithm, rfc8448_hrr_client_handshake_traffic_secret, rfc8448_hrr_client_nonce, rfc8448_hrr_clienthello1, rfc8448_hrr_clienthello2, rfc8448_hrr_handshake_secret, rfc8448_hrr_p256_partner, rfc8448_hrr_p256_private, rfc8448_hrr_server_handshake_traffic_secret, rfc8448_hrr_serverhello1, rfc8448_hrr_serverhello2, tls_kdf_secret::secret, tls_traffic_secret::secret, sha256_algorithm, exchange_algorithm::sharedsize, TLS_CLIENT, tls_handshake, TLS_SERVER, tlskey_apply(), tlskey_digest(), tlskey_hkdf, tlskey_message(), tlskey_start(), tlskey_traffic(), and tls_key_schedule::traffic.
Referenced by tlskey_test_exec().
|
static |
Perform dummy TLS version 1.2 test.
| tlskey | Key schedule |
| psk | Pre-shared key |
Definition at line 1304 of file tlskey_test.c.
References digest_algorithm::digestsize, digestsize, dummy_client_nonce, dummy_clienthello, dummy_dh_param, dummy_hash_client_tbshash, dummy_hash_client_traffic_iv, dummy_hash_client_traffic_key, dummy_hash_client_traffic_mac, dummy_hash_client_verify, dummy_hash_master_secret, dummy_hash_server_tbshash, dummy_hash_server_traffic_iv, dummy_hash_server_traffic_key, dummy_hash_server_traffic_mac, dummy_hash_server_verify, dummy_premaster, dummy_serverhello, iv, tls_key_schedule::kdf, key, mac, memcmp(), NULL, ok, tls_kdf_secret::secret, sha256_algorithm, tls_application, tlskey_apply(), tlskey_cipher(), tlskey_digest(), tlskey_hash, tlskey_load(), tlskey_master(), tlskey_save(), tlskey_start(), tlskey_stop(), tlskey_tbshash(), tlskey_traffic(), and tlskey_verify().
Referenced by tlskey_test_exec().
|
static |
Perform dummy TLS version 1.0 test.
| tlskey | Key schedule |
| psk | Pre-shared key |
Definition at line 1417 of file tlskey_test.c.
References dummy_client_nonce, dummy_clienthello, dummy_md5_sha1_client_traffic_iv, dummy_md5_sha1_client_traffic_key, dummy_md5_sha1_client_traffic_mac, dummy_md5_sha1_client_verify, dummy_md5_sha1_master_secret_md5, dummy_md5_sha1_master_secret_sha1, dummy_md5_sha1_server_traffic_iv, dummy_md5_sha1_server_traffic_key, dummy_md5_sha1_server_traffic_mac, dummy_md5_sha1_server_verify, dummy_premaster, dummy_serverhello, iv, tls_key_schedule::kdf, key, mac, md5_sha1_hmac_keys::md5, md5_sha1_algorithm, memcmp(), NULL, ok, tls_kdf_secret::secret, md5_sha1_hmac_keys::sha1, tls_application, tlskey_apply(), tlskey_cipher(), tlskey_digest(), tlskey_load(), tlskey_master(), tlskey_md5_sha1, tlskey_save(), tlskey_start(), tlskey_stop(), tlskey_traffic(), and tlskey_verify().
Referenced by tlskey_test_exec().
|
static |
Perform TLS key schedule self-test.
Definition at line 1523 of file tlskey_test.c.
References dummy_hash(), dummy_md5_sha1(), memset(), rfc8448_hrr_test(), rfc8448_resumed_test(), and rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client random bytes.
Definition at line 55 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client X25519 private key.
Definition at line 65 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server X25519 public key.
Definition at line 72 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: ticket nonce.
Definition at line 79 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: ClientHello.
Definition at line 82 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: ServerHello.
Definition at line 104 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: EncryptedExtensions.
Definition at line 117 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: Certificate.
Definition at line 125 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: CertificateVerify.
Definition at line 170 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server Finished.
Definition at line 187 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client Finished.
Definition at line 195 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: NewSessionTicket.
Definition at line 203 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: early secret.
Definition at line 226 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: handshake secret.
Definition at line 233 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client handshake traffic secret.
Definition at line 240 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client handshake traffic key.
Definition at line 247 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client handshake traffic IV.
Definition at line 253 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server handshake traffic secret.
Definition at line 259 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server handshake traffic key.
Definition at line 266 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server handshake traffic IV.
Definition at line 272 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client verification.
Definition at line 278 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server verification.
Definition at line 285 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: master secret.
Definition at line 292 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client application traffic secret.
Definition at line 299 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client application traffic key.
Definition at line 306 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: client application traffic IV.
Definition at line 312 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server application traffic secret.
Definition at line 318 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server application traffic key.
Definition at line 325 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server application traffic IV.
Definition at line 331 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: resumption secret.
Definition at line 337 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 simple 1-RTT test: server CertificateVerify signable digest.
This value is not provided directly within RFC 8448, but may be calculated from the provided values.
Definition at line 348 of file tlskey_test.c.
Referenced by rfc8448_simple_test().
|
static |
RFC 8448 resumed 0-RTT test: server random bytes.
Definition at line 355 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client X25519 private key.
Definition at line 365 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server X25519 public key.
Definition at line 372 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: ClientHello.
Definition at line 379 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: ServerHello.
Definition at line 430 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: ClientHello prefix length.
Definition at line 443 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: EncryptedExtensions.
Definition at line 447 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server Finished.
Definition at line 455 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: EndOfEarlyData.
Definition at line 463 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client Finished.
Definition at line 468 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: PSK binder.
Definition at line 476 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: early secret.
Definition at line 483 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client early traffic secret.
Definition at line 490 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client early traffic key.
Definition at line 497 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client early traffic IV.
Definition at line 503 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: handshake secret.
Definition at line 509 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client handshake traffic secret.
Definition at line 516 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client handshake traffic key.
Definition at line 523 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client handshake traffic IV.
Definition at line 529 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server handshake traffic secret.
Definition at line 535 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server handshake traffic key.
Definition at line 542 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server handshake traffic IV.
Definition at line 548 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client verification.
Definition at line 554 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server verification.
Definition at line 561 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: master secret.
Definition at line 568 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client application traffic secret.
Definition at line 575 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client application traffic key.
Definition at line 582 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: client application traffic IV.
Definition at line 588 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server application traffic secret.
Definition at line 594 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server application traffic key.
Definition at line 601 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 resumed 0-RTT test: server application traffic IV.
Definition at line 607 of file tlskey_test.c.
Referenced by rfc8448_resumed_test().
|
static |
RFC 8448 HelloRetryRequest test: client random bytes.
Definition at line 613 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: client P-256 private key.
Definition at line 623 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: server P-256 public key.
Definition at line 630 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: client hello (first).
Definition at line 640 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: server hello (first).
Definition at line 661 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: client hello (second).
Definition at line 681 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: server hello (second).
Definition at line 732 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: handshake secret.
Definition at line 748 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: client handshake traffic secret.
Definition at line 755 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
RFC 8448 HelloRetryRequest test: server handshake traffic secret.
Definition at line 762 of file tlskey_test.c.
Referenced by rfc8448_hrr_test().
|
static |
Dummy minimal tests: client random bytes.
Definition at line 769 of file tlskey_test.c.
Referenced by dummy_hash(), and dummy_md5_sha1().
|
static |
Dummy minimal tests: ClientHello.
Definition at line 779 of file tlskey_test.c.
Referenced by dummy_hash(), and dummy_md5_sha1().
|
static |
Dummy minimal tests: ServerHello.
Definition at line 787 of file tlskey_test.c.
Referenced by dummy_hash(), and dummy_md5_sha1().
|
static |
Dummy minimal tests: pre-master secret.
Definition at line 795 of file tlskey_test.c.
Referenced by dummy_hash(), and dummy_md5_sha1().
|
static |
Dummy minimal tests: ServerKeyExchange DH parameters.
Definition at line 808 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: master secret.
Definition at line 813 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: client verification.
Definition at line 822 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: server verification.
Definition at line 828 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: client traffic key.
Definition at line 834 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: client traffic IV.
Definition at line 840 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: client traffic MAC.
Definition at line 845 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: server traffic key.
Definition at line 852 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: server traffic IV.
Definition at line 858 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: server traffic MAC.
Definition at line 863 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: client signable digest.
Definition at line 870 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.2 test: server signable digest.
Definition at line 877 of file tlskey_test.c.
Referenced by dummy_hash().
|
static |
Dummy minimal TLSv1.0 test: master secret (MD5 portion).
Definition at line 884 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: master secret (SHA-1 portion).
Definition at line 891 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: client verification.
Definition at line 898 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: server verification.
Definition at line 904 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: client traffic key.
Definition at line 910 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: client traffic IV.
Definition at line 916 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: client traffic MAC.
Definition at line 921 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: server traffic key.
Definition at line 928 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: server traffic IV.
Definition at line 934 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
|
static |
Dummy minimal TLSv1.0 test: server traffic MAC.
Definition at line 939 of file tlskey_test.c.
Referenced by dummy_md5_sha1().
| struct self_test tlskey_test __self_test |
TLS key schedule self-test.
Definition at line 1548 of file tlskey_test.c.