feature 检测网站SSL证书是否过期 (#50)
* [collector]feature 检测网站SSL证书是否过期 * [collector]fix cannot find symbol class BASE64Decoder
This commit is contained in:
@@ -17,7 +17,9 @@ import javax.net.ssl.SSLContext;
|
|||||||
import javax.net.ssl.TrustManager;
|
import javax.net.ssl.TrustManager;
|
||||||
import javax.net.ssl.X509TrustManager;
|
import javax.net.ssl.X509TrustManager;
|
||||||
import java.security.cert.CertificateException;
|
import java.security.cert.CertificateException;
|
||||||
|
import java.security.cert.CertificateExpiredException;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -75,7 +77,18 @@ public class CommonHttpClient {
|
|||||||
@Override
|
@Override
|
||||||
public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { }
|
public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { }
|
||||||
@Override
|
@Override
|
||||||
public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { }
|
public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
|
||||||
|
// 判断服务器证书有效期时间
|
||||||
|
Date now = new Date();
|
||||||
|
if (x509Certificates != null && x509Certificates.length > 0) {
|
||||||
|
for (X509Certificate certificate : x509Certificates) {
|
||||||
|
Date deadline = certificate.getNotAfter();
|
||||||
|
if (deadline != null && now.after(deadline)) {
|
||||||
|
throw new CertificateExpiredException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public X509Certificate[] getAcceptedIssuers() { return null; }
|
public X509Certificate[] getAcceptedIssuers() { return null; }
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package com.usthe.collector.util;
|
package com.usthe.collector.util;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import sun.misc.BASE64Decoder;
|
|
||||||
|
|
||||||
import java.security.KeyFactory;
|
import java.security.KeyFactory;
|
||||||
import java.security.KeyPair;
|
import java.security.KeyPair;
|
||||||
import java.security.PublicKey;
|
import java.security.PublicKey;
|
||||||
import java.security.spec.X509EncodedKeySpec;
|
import java.security.spec.X509EncodedKeySpec;
|
||||||
|
import java.util.Base64;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 密钥工具类
|
* 密钥工具类
|
||||||
@@ -35,7 +35,7 @@ public class KeyPairUtil {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// todo fix 公钥解析
|
// todo fix 公钥解析
|
||||||
byte[] publicKeyBytes = (new BASE64Decoder()).decodeBuffer(publicKeyStr);
|
byte[] publicKeyBytes = Base64.getDecoder().decode(publicKeyStr);
|
||||||
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyBytes);
|
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyBytes);
|
||||||
PublicKey publicKey = keyFactory.generatePublic(keySpec);
|
PublicKey publicKey = keyFactory.generatePublic(keySpec);
|
||||||
return new KeyPair(publicKey, null);
|
return new KeyPair(publicKey, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user