diff options
author | Emilia Kasper <emilia@openssl.org> | 2016-08-09 16:47:26 +0200 |
---|---|---|
committer | Emilia Kasper <emilia@openssl.org> | 2016-08-10 14:41:21 +0200 |
commit | da085d273c6f2a82f3e13dc6482e0f00e0daab5b (patch) | |
tree | 35c35a7e7b3eed72c8e7cd593d6445d2a3c7a8e0 /test/ssl_test_ctx.c | |
parent | b03fe23146a7ef6047226fa4927103b80e8fe155 (diff) |
SSL tests: port CT tests, add a few more
This commit only ports existing tests, and adds some coverage for
resumption. We don't appear to have any handshake tests that cover SCT
validation success, and this commit doesn't change that.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'test/ssl_test_ctx.c')
-rw-r--r-- | test/ssl_test_ctx.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/test/ssl_test_ctx.c b/test/ssl_test_ctx.c index d4a7c8ba59..e95c1f2f66 100644 --- a/test/ssl_test_ctx.c +++ b/test/ssl_test_ctx.c @@ -142,7 +142,7 @@ static const test_enum ssl_verify_callbacks[] = { }; __owur static int parse_client_verify_callback(SSL_TEST_CLIENT_CONF *client_conf, - const char *value) + const char *value) { int ret_value; if (!parse_enum(ssl_verify_callbacks, OSSL_NELEM(ssl_verify_callbacks), @@ -328,6 +328,34 @@ const char *ssl_handshake_mode_name(ssl_handshake_mode_t mode) mode); } +/***********************/ +/* CT Validation */ +/***********************/ + +static const test_enum ssl_ct_validation_modes[] = { + {"None", SSL_TEST_CT_VALIDATION_NONE}, + {"Permissive", SSL_TEST_CT_VALIDATION_PERMISSIVE}, + {"Strict", SSL_TEST_CT_VALIDATION_STRICT}, +}; + +__owur static int parse_ct_validation(SSL_TEST_CLIENT_CONF *client_conf, + const char *value) +{ + int ret_value; + if (!parse_enum(ssl_ct_validation_modes, OSSL_NELEM(ssl_ct_validation_modes), + &ret_value, value)) { + return 0; + } + client_conf->ct_validation = ret_value; + return 1; +} + +const char *ssl_ct_validation_name(ssl_ct_validation_t mode) +{ + return enum_name(ssl_ct_validation_modes, OSSL_NELEM(ssl_ct_validation_modes), + mode); +} + static int parse_boolean(const char *value, int *result) { if (strcasecmp(value, "Yes") == 0) { @@ -385,6 +413,7 @@ static const ssl_test_client_option ssl_test_client_options[] = { { "ServerName", &parse_servername }, { "NPNProtocols", &parse_client_npn_protocols }, { "ALPNProtocols", &parse_client_alpn_protocols }, + { "CTValidation", &parse_ct_validation }, }; /* Nested server options. */ |