/* * Copyright (c) 2011-2012 ICM Uniwersytet Warszawski All rights reserved. * See LICENCE file for licensing information. */ package eu.emi.security.authn.x509.proxy; import java.security.PrivateKey; import org.bouncycastle.pkcs.PKCS10CertificationRequest; /** * Wraps information about a new proxy certificate signing request which was generated by the {@link ProxyCSRGenerator}. * * @author K. Benedyczak * @see ProxyCSRGenerator */ public interface ProxyCSR { /** * Returns the CSR * * @return the generated CSR */ public PKCS10CertificationRequest getCSR(); /** * Returns the generated private key of this CSR. * * If public key was manually set an exception is thrown. * * @return The private key. * @throws IllegalStateException if the private and public keys were not generated */ public PrivateKey getPrivateKey() throws IllegalStateException; /** * @return true if private key was generated and is available through * {@link #getPrivateKey()} */ public boolean hasPrivateKey(); }