mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-20 14:48:07 +01:00
Report the number of days until the CDS CA cert expires as a metric so we can set an alarm.
This commit is contained in:
committed by
Jon Chambers
parent
b1d11d4f69
commit
1c73c91133
@@ -0,0 +1,32 @@
|
||||
package org.whispersystems.textsecuregcm.util;
|
||||
|
||||
import com.codahale.metrics.CachedGauge;
|
||||
import org.bouncycastle.openssl.PEMReader;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* Measures and reports the number of days until a certificate expires.
|
||||
*/
|
||||
public class CertificateExpirationGauge extends CachedGauge<Long> {
|
||||
|
||||
private final Instant certificateExpiration;
|
||||
|
||||
public CertificateExpirationGauge(final X509Certificate certificate) {
|
||||
super(1, TimeUnit.HOURS);
|
||||
|
||||
certificateExpiration = certificate.getNotAfter().toInstant();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Long loadValue() {
|
||||
return Duration.between(Instant.now(), certificateExpiration).toDays();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user