Skip to content
CertificateLoader.java 1.27 KiB
Newer Older
package dk.gov.oiosi.security.lookup;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import org.apache.commons.configuration.ConfigurationUtils;

import dk.gov.oiosi.security.RootCertificateConfig;

public class CertificateLoader {
	
	/*
	 * Tries to load the root certificate by searching the user home directory, the current classpath and the system classpath.
	 * 
	 */
    public static X509Certificate GetCertificateFromCertificateStoreInformation(RootCertificateConfig rootCertConfig) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, FileNotFoundException, IOException {
        // define receiver certificate
        KeyStore ks = KeyStore.getInstance("JKS");
        URL rootCertLocation = ConfigurationUtils.locate(rootCertConfig.getKeyStoreLocation());
        ks.load(rootCertLocation.openStream(), rootCertConfig.getKeyStorePassword().toCharArray());
        X509Certificate cert = (X509Certificate) ks.getCertificate(rootCertConfig.getKeyLabel());
        return cert;
    }
}