org.globus.gsi.provider.KeyStoreParametersFactory Maven / Gradle / Ivy
package org.globus.gsi.provider;
import org.globus.gsi.stores.PEMKeyStore;
import java.security.KeyStore;
import java.security.KeyStore.LoadStoreParameter;
import java.security.KeyStore.ProtectionParameter;
public class KeyStoreParametersFactory {
public static KeyStore.LoadStoreParameter createCertKeyParameters(
String certLocations, String keyLocation) {
return new CertKeyParameters(certLocations, keyLocation);
}
public static KeyStore.LoadStoreParameter createProxyCertParameters(
String proxyCertLocation) {
return new ProxyCertParameters(proxyCertLocation);
}
public static LoadStoreParameter createTrustStoreParameters(
String trustedCertificateDirectories) {
return new TrustStoreParameters(trustedCertificateDirectories, null);
}
public static LoadStoreParameter createTrustStoreParameters(
String trustedCertificateDirectories, String defaultDirectory) {
return new TrustStoreParameters(trustedCertificateDirectories,
defaultDirectory);
}
private static class TrustStoreParameters implements FileStoreParameters {
private String trustedCertificateDirectories;
private String defaultCertificateDirectory;
public TrustStoreParameters(String trustedCertificateDirectories,
String defaultCertificateDirectory) {
super();
this.trustedCertificateDirectories = trustedCertificateDirectories;
this.defaultCertificateDirectory = defaultCertificateDirectory;
}
public Object getProperty(String key) {
if (key.equals(PEMKeyStore.DIRECTORY_LIST_KEY)) {
return trustedCertificateDirectories;
} else if (key.equals(PEMKeyStore.DEFAULT_DIRECTORY_KEY)) {
return defaultCertificateDirectory;
}
return null;
}
public ProtectionParameter getProtectionParameter() {
// TODO Auto-generated method stub
return null;
}
}
private static class ProxyCertParameters implements FileStoreParameters {
private String proxyLocation;
public ProxyCertParameters(String proxyLocation) {
super();
this.proxyLocation = proxyLocation;
}
public Object getProperty(String key) {
if (key.equals(PEMKeyStore.PROXY_FILENAME)) {
return this.proxyLocation;
} else {
return null;
}
}
public ProtectionParameter getProtectionParameter() {
// TODO Auto-generated method stub
return null;
}
}
private static class CertKeyParameters implements FileStoreParameters {
private String certLocations;
private String keyLocation;
private ProtectionParameter param;
public CertKeyParameters(String certLocations, String keyLocation) {
super();
this.certLocations = certLocations;
this.keyLocation = keyLocation;
}
public ProtectionParameter getProtectionParameter() {
return param;
}
public Object getProperty(String key) {
if (key.equals(PEMKeyStore.KEY_FILENAME)) {
return this.keyLocation;
} else if (key.equals(PEMKeyStore.CERTIFICATE_FILENAME)) {
return this.certLocations;
} else {
return null;
}
}
}
public static interface FileStoreParameters extends LoadStoreParameter {
public Object getProperty(String key);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy