How to get the Certificate Information in Java

2019-02-19 19:27发布

问题:

I am trying to get and read a certificate only in Java. What code or examples should I look at to get the certificates of a website.

For examples the websites:

  1. https://google.com
  2. https://www.ssllabs.com/

Do I use the URL class?

URL url = new URL("https://google.com");

回答1:

Ok I just found out how I can get the information that I want.

public void certInformation(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) {
                    X509Certificate x = (X509Certificate ) cert;
                    System.out.println(x.getIssuerDN());
            }
        }
    }