From: Rich Salz Date: Tue, 10 Jan 2017 21:18:33 +0000 (-0500) Subject: GH2176: Add X509_VERIFY_PARAM_get_time X-Git-Tag: OpenSSL_1_1_0d~50 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ff7256e75928be74101f3ce2d1fbf62f7e10a1f3;p=oweals%2Fopenssl.git GH2176: Add X509_VERIFY_PARAM_get_time Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/2208) (cherry picked from commit 329f2f4a428b0acb7a579869a13f6cd6bf0a3551) --- diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c index 245b3fadba..b5067220ad 100644 --- a/crypto/x509/x509_vpm.c +++ b/crypto/x509/x509_vpm.c @@ -337,6 +337,11 @@ void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level) param->auth_level = auth_level; } +time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param) +{ + return param->check_time; +} + void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t) { param->check_time = t; diff --git a/doc/crypto/X509_VERIFY_PARAM_set_flags.pod b/doc/crypto/X509_VERIFY_PARAM_set_flags.pod index 388fdc212e..76f1901108 100644 --- a/doc/crypto/X509_VERIFY_PARAM_set_flags.pod +++ b/doc/crypto/X509_VERIFY_PARAM_set_flags.pod @@ -9,6 +9,7 @@ X509_VERIFY_PARAM_get_inh_flags, X509_VERIFY_PARAM_set_inh_flags, X509_VERIFY_PARAM_set_trust, X509_VERIFY_PARAM_set_depth, X509_VERIFY_PARAM_get_depth, X509_VERIFY_PARAM_set_auth_level, X509_VERIFY_PARAM_get_auth_level, X509_VERIFY_PARAM_set_time, +X509_VERIFY_PARAM_get_time, X509_VERIFY_PARAM_add0_policy, X509_VERIFY_PARAM_set1_policies, X509_VERIFY_PARAM_set1_host, X509_VERIFY_PARAM_add1_host, X509_VERIFY_PARAM_set_hostflags, X509_VERIFY_PARAM_get0_peername, @@ -34,6 +35,7 @@ X509_VERIFY_PARAM_set1_ip_asc int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); + time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy); diff --git a/include/openssl/x509_vfy.h b/include/openssl/x509_vfy.h index 5dc9d063fc..64f56df7f0 100644 --- a/include/openssl/x509_vfy.h +++ b/include/openssl/x509_vfy.h @@ -459,6 +459,7 @@ int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level); +time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param); void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy); diff --git a/test/crltest.c b/test/crltest.c index ddcc7853f6..74db9444cd 100644 --- a/test/crltest.c +++ b/test/crltest.c @@ -18,6 +18,8 @@ #include "testutil.h" +#define PARAM_TIME 1474934400 /* Sep 27th, 2016 */ + static const char *kCRLTestRoot[] = { "-----BEGIN CERTIFICATE-----\n", "MIIDbzCCAlegAwIBAgIJAODri7v0dDUFMA0GCSqGSIb3DQEBCwUAME4xCzAJBgNV\n", @@ -252,7 +254,11 @@ static int verify(X509 *leaf, X509 *root, STACK_OF(X509_CRL) *crls, goto err; X509_STORE_CTX_set0_trusted_stack(ctx, roots); X509_STORE_CTX_set0_crls(ctx, crls); - X509_VERIFY_PARAM_set_time(param, 1474934400 /* Sep 27th, 2016 */); + X509_VERIFY_PARAM_set_time(param, PARAM_TIME); + if (X509_VERIFY_PARAM_get_time(param) != PARAM_TIME) { + fprintf(stderr, "set_time/get_time mismatch.\n"); + goto err; + } X509_VERIFY_PARAM_set_depth(param, 16); if (flags) X509_VERIFY_PARAM_set_flags(param, flags); diff --git a/util/libcrypto.num b/util/libcrypto.num index 19553505af..b0de30af0e 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4212,3 +4212,4 @@ CT_POLICY_EVAL_CTX_get_time 4172 1_1_0d EXIST::FUNCTION:CT CT_POLICY_EVAL_CTX_set_time 4173 1_1_0d EXIST::FUNCTION:CT X509_VERIFY_PARAM_set_inh_flags 4174 1_1_0d EXIST::FUNCTION: X509_VERIFY_PARAM_get_inh_flags 4175 1_1_0d EXIST::FUNCTION: +X509_VERIFY_PARAM_get_time 4181 1_1_0d EXIST::FUNCTION: