package org.cagrid.core.common.security;
import javax.net.ssl.X509KeyManager;
import java.net.Socket;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
public class SingleEntityX509KeyManager implements X509KeyManager {
private static String ALIAS = "default";
private X509Certificate[] certs;
private PrivateKey key;
public SingleEntityX509KeyManager(X509Certificate[] chain, PrivateKey key) {
this.certs = chain;
this.key = key;
}
@Override
public String chooseClientAlias(String[] keyType, Principal[] issuers,
Socket socket) {
return ALIAS;
}
@Override
public String chooseServerAlias(String keyType, Principal[] issuers,
Socket socket) {
return ALIAS;
}
@Override
public X509Certificate[] getCertificateChain(String alias) {
return certs;
}
@Override
public String[] getClientAliases(String keyType, Principal[] issuers) {
String[] aliases = new String[1];
aliases[0] = ALIAS;
return aliases;
}
@Override
public PrivateKey getPrivateKey(String alias) {
return key;
}
@Override
public String[] getServerAliases(String keyType, Principal[] issuers) {
String[] aliases = new String[1];
aliases[0] = ALIAS;
return aliases;
}
}