Mega Code Archive

 
Categories / Java / Development Class
 

Generate a listing of the most trusted certification authorities used by your JVM

/*  * Copyright 2005 MBARI  *  * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1   * (the "License"); you may not use this file except in compliance   * with the License. You may obtain a copy of the License at  *  * http://www.gnu.org/copyleft/lesser.html  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ //package org.mbari.util; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.InvalidAlgorithmParameterException; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.PKIXParameters; import java.security.cert.TrustAnchor; import java.security.cert.X509Certificate; import java.util.Iterator; //~--- classes ---------------------------------------------------------------- /**  * <p>Generate a listing of the most trusted certification authorities used  * by your JVM</p>  *  *  * @author <a href="http://www.mbari.org">MBARI</a>  * @version $Id: CAList.java 265 2006-06-20 05:30:09Z hohonuuli $  */ public class CAList {     /**      * <p><!-- Method description --></p>      *      *      * @param args      */     public static void main(String[] args) {         try {             // Load the JDK's cacerts keystore file             String filename = System.getProperty("java.home") +                 "/lib/security/cacerts".replace('/', File.separatorChar);             FileInputStream is = new FileInputStream(filename);             KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());             String password = "changeit";             keystore.load(is, password.toCharArray());             // This class retrieves the most-trusted CAs from the keystore             PKIXParameters params = new PKIXParameters(keystore);             // Get the set of trust anchors, which contain the most-trusted CA certificates             Iterator it = params.getTrustAnchors().iterator();             for (; it.hasNext(); ) {                 TrustAnchor ta = (TrustAnchor) it.next();                 // Get certificate                 X509Certificate cert = ta.getTrustedCert();                 System.out.println(                         "<issuer>" + cert.getIssuerDN() + "</issuer>\n");             }         } catch (CertificateException e) {}         catch (KeyStoreException e) {}         catch (NoSuchAlgorithmException e) {}         catch (InvalidAlgorithmParameterException e) {}         catch (IOException e) {}     } }