ome.security.KeyAndTrustStoreConfiguration.java Source code

Java tutorial

Introduction

Here is the source code for ome.security.KeyAndTrustStoreConfiguration.java

Source

/*
 *   $Id$
 *
 *   Copyright 2008 University of Dundee. All rights reserved.
 *   Use is subject to license terms supplied in LICENSE.txt
 */

package ome.security;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.InitializingBean;

/**
 * Calls {@link System#setProperty(String, String)} for the "javax.net.ssl"
 * properties needed to configure a trust store and a keystore for the Java
 * process.
 */
public class KeyAndTrustStoreConfiguration implements InitializingBean {

    private final static Log log = LogFactory.getLog("omero.security");

    private static final String JAVAX_NET_SSL_KEY_STORE_PASSWORD = "javax.net.ssl.keyStorePassword";
    private static final String JAVAX_NET_SSL_KEY_STORE = "javax.net.ssl.keyStore";
    private static final String JAVAX_NET_SSL_TRUST_STORE_PASSWORD = "javax.net.ssl.trustStorePassword";
    private static final String JAVAX_NET_SSL_TRUST_STORE = "javax.net.ssl.trustStore";
    private String keyStore = null;
    private String keyStorePassword = null;
    private String trustStore = null;
    private String trustStorePassword = null;

    public void afterPropertiesSet() throws Exception {

        String oldTrustStore = System.getProperty(JAVAX_NET_SSL_TRUST_STORE, "");
        String oldKeyStore = System.getProperty(JAVAX_NET_SSL_KEY_STORE, "");

        if (oldTrustStore != null) {
            if (oldTrustStore.equals(trustStore)) {
                log.debug("Found duplicate trust store: " + oldTrustStore);
            } else if (oldTrustStore.length() > 0) {
                log.warn("Overwriting existing trust store: " + oldTrustStore);
            }
        }
        System.setProperty(JAVAX_NET_SSL_TRUST_STORE, trustStore);
        System.setProperty(JAVAX_NET_SSL_TRUST_STORE_PASSWORD, trustStorePassword);

        if (oldKeyStore != null) {
            if (oldKeyStore.equals(keyStore)) {
                log.debug("Found duplicate trust store: " + oldKeyStore);
            } else if (oldKeyStore.length() > 0) {
                log.warn("Overwriting existing key store: " + oldKeyStore);
            }
        }
        System.setProperty(JAVAX_NET_SSL_KEY_STORE, keyStore);
        System.setProperty(JAVAX_NET_SSL_KEY_STORE_PASSWORD, keyStorePassword);
    }

    public void setKeyStore(String keyStore) {
        this.keyStore = keyStore;
    }

    public void setTrustStore(String trustStore) {
        this.trustStore = trustStore;
    }

    public void setTrustStorePassword(String password) {
        this.trustStorePassword = password;
    }

    public void setKeyStorePassword(String password) {
        this.keyStorePassword = password;
    }

}