CT_POLICY_EVAL_CTX_set_time expects milliseconds, but given seconds
authorRob Percival <robpercival@google.com>
Tue, 4 Apr 2017 22:24:28 +0000 (23:24 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 26 Apr 2017 15:33:55 +0000 (16:33 +0100)
This resulted in the SCT timestamp check always failing, because the
timestamp appeared to be in the future.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3260)

ssl/ssl_lib.c

index 9cfebeac011ef3e8578fefb32c7203811164587e..fc651bb5d1918e3492cf4f7585501ffa3d0ec9f0 100644 (file)
@@ -4183,7 +4183,8 @@ int ssl_validate_ct(SSL *s)
     CT_POLICY_EVAL_CTX_set1_cert(ctx, cert);
     CT_POLICY_EVAL_CTX_set1_issuer(ctx, issuer);
     CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(ctx, s->ctx->ctlog_store);
-    CT_POLICY_EVAL_CTX_set_time(ctx, SSL_SESSION_get_time(SSL_get0_session(s)));
+    CT_POLICY_EVAL_CTX_set_time(
+            ctx, (uint64_t)SSL_SESSION_get_time(SSL_get0_session(s)) * 1000);
 
     scts = SSL_get0_peer_scts(s);