prober/tls: fix probe_ssl_last_chain_expiry_timestamp_seconds (#681)
authorRob Best <robertbest89@gmail.com>
Thu, 20 Aug 2020 12:40:14 +0000 (13:40 +0100)
committerGitHub <noreply@github.com>
Thu, 20 Aug 2020 12:40:14 +0000 (13:40 +0100)
commit7913a15d3c1b225f7427e9240c63ab5075281845
tree06f031f718760e3e03c53a48e8ecf3f8789b441f
parentc79355fedab23c4343df321cfa4e7cf64274a67c
prober/tls: fix probe_ssl_last_chain_expiry_timestamp_seconds (#681)

* prober/tls: fix probe_ssl_last_chain_expiry_timestamp_seconds

This metric should report the earliest expiry of the chain that expires
the latest out of all the verified chains. Presently, it reports the
earliest expiry of the chain that expires first.

The current test for this metric was using an expired root certificate which
is omitted from the verified chain, so the test was passing despite this
bug. I've changed it to use a root that is still valid but expires before a
root held by the client.

* prober/tls: improve verified cert test

Include the older root certificate in the chain presented by the server
as well as in the client root CAs. This ensures that the peer
certificate metric identifies the older root CA as the earliest expiry
while it is ignored by the verified metric in favour of the longer-lived
chain.

Signed-off-by: Rob Best <robertbest89@gmail.com>
prober/tcp_test.go
prober/tls.go