package java.security.cert; import java.io.InputStream; import java.util.Collection; import java.util.Iterator; import java.util.List; public abstract class CertificateFactorySpi { public CertificateFactorySpi() { } public abstract CRL engineGenerateCRL(InputStream inStream) throws CRLException; public abstract Collection engineGenerateCRLs(InputStream inStream) throws CRLException; public abstract Certificate engineGenerateCertificate(InputStream inStream) throws CertificateException; public abstract /*SK13 Vector*/ Collection engineGenerateCertificates(InputStream inStream) throws CertificateException; /** * Returns an iteration of the <code>CertPath</code> encodings supported * by this certificate factory, with the default encoding first. See * Appendix A in the * Java Certification Path API Programmer's Guide * for information about standard encoding names.<br /> * <br /> * Attempts to modify the returned <code>Iterator</code> via its * <code>remove</code> method result in an * <code>UnsupportedOperationException</code>.<br /> * <br /> * This method was added to version 1.4 of the Java 2 Platform * Standard Edition. In order to maintain backwards compatibility with * existing service providers, this method cannot be <code>abstract</code> * and by default throws an <code>UnsupportedOperationException</code>. * * @return an <code>Iterator</code> over the names of the supported * <code>CertPath</code> encodings (as <code>String</code>s) * * @exception UnsupportedOperationException if the method is not supported */ public abstract Iterator engineGetCertPathEncodings(); /** * Generates a <code>CertPath</code> object and initializes it with * the data read from the <code>InputStream</code> inStream. The data * is assumed to be in the default encoding. * * @param inStream an <code>InputStream</code> containing the data * * @return a <code>CertPath</code> initialized with the data from the * <code>InputStream</code> * * @exception CertificateException if an exception occurs while decoding */ public abstract CertPath engineGenerateCertPath(InputStream inStream) throws CertificateException; /** * Generates a <code>CertPath</code> object and initializes it with * the data read from the <code>InputStream</code> inStream. The data * is assumed to be in the specified encoding.<br /> * <br /> * This method was added to version 1.4 of the Java 2 Platform * Standard Edition. In order to maintain backwards compatibility with * existing service providers, this method cannot be <code>abstract</code> * and by default throws an <code>UnsupportedOperationException</code>. * * @param inStream an <code>InputStream</code> containing the data * @param encoding the encoding used for the data * * @return a <code>CertPath</code> initialized with the data from the * <code>InputStream</code> * * @exception CertificateException if an exception occurs while decoding or * the encoding requested is not supported * @exception UnsupportedOperationException if the method is not supported */ public abstract CertPath engineGenerateCertPath(InputStream inStream, String encoding) throws CertificateException; /** * Generates a <code>CertPath</code> object and initializes it with * a <code>List</code> of <code>Certificate</code>s.<br /> * <br /> * The certificates supplied must be of a type supported by the * <code>CertificateFactory</code>. They will be copied out of the supplied * <code>List</code> object.<br /> * <br /> * This method was added to version 1.4 of the Java 2 Platform * Standard Edition. In order to maintain backwards compatibility with * existing service providers, this method cannot be <code>abstract</code> * and by default throws an <code>UnsupportedOperationException</code>. * * @param certificates a <code>List</code> of <code>Certificate</code>s * * @return a <code>CertPath</code> initialized with the supplied list of * certificates * * @exception CertificateException if an exception occurs * @exception UnsupportedOperationException if the method is not supported */ public abstract CertPath engineGenerateCertPath(List certificates) throws CertificateException; }