package org.cagrid.core.common.security;
import javax.net.ssl.X509KeyManager;
import java.io.Serializable;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
public class X509Credential implements Serializable {
private X509CertificateChain chain;
private PrivateKey key;
public X509Credential(X509Certificate[] chain, PrivateKey key) {
this.chain = new X509CertificateChain(chain);
this.key = key;
}
public X509Credential(X509CertificateChain chain, PrivateKey key) {
this.chain = chain;
this.key = key;
}
public X509Certificate[] getCertificates() {
return chain.getCertificateChain();
}
public X509CertificateChain getCertificateChain() {
return chain;
}
public PrivateKey getKey() {
return key;
}
public X509KeyManager getKeyManager() {
return new SingleEntityX509KeyManager(chain.getCertificateChain(), key);
}
public Principal getSubject() {
return chain.getIdentityCertificate().getSubjectDN();
}
}