您想要的方法是getServerCertificates,而不是
getServerCertificateChain。有一些很好的示例代码在这里。
编辑
添加了一些我自己的示例代码。为您的好起点。不要忘记查看HttpsURLConnection和X509Certificate的Javadocs
。
import java.net.URL;import java.security.cert.Certificate;import java.security.cert.CertificateExpiredException;import java.security.cert.X509Certificate;import javax.net.ssl.HttpsURLConnection;public class TestSecuredConnection { public static void main(String[] args) { TestSecuredConnection tester = new TestSecuredConnection(); try { tester.testConnectionTo("https://www.google.com"); } catch (Exception e) { e.printStackTrace(); } } public TestSecuredConnection() { super(); } public void testConnectionTo(String aURL) throws Exception { URL destinationURL = new URL(aURL); HttpsURLConnection conn = (HttpsURLConnection) destinationURL .openConnection(); conn.connect(); Certificate[] certs = conn.getServerCertificates(); for (Certificate cert : certs) { System.out.println("Certificate is: " + cert); if(cert instanceof X509Certificate) { try { ( (X509Certificate) cert).checkValidity(); System.out.println("Certificate is active for current date"); } catch(CertificateExpiredException cee) { System.out.println("Certificate is expired"); } } } }}


