Home | History | Annotate | Download | only in operator
      1 package org.bouncycastle.operator;
      2 
      3 import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
      4 import org.bouncycastle.cert.X509CertificateHolder;
      5 
      6 /**
      7  * General interface for providers of ContentVerifier objects.
      8  */
      9 public interface ContentVerifierProvider
     10 {
     11     /**
     12      * Return whether or not this verifier has a certificate associated with it.
     13      *
     14      * @return true if there is an associated certificate, false otherwise.
     15      */
     16     boolean hasAssociatedCertificate();
     17 
     18     /**
     19      * Return the associated certificate if there is one.
     20      *
     21      * @return a holder containing the associated certificate if there is one, null if there is not.
     22      */
     23     X509CertificateHolder getAssociatedCertificate();
     24 
     25     /**
     26      * Return a ContentVerifier that matches the passed in algorithm identifier,
     27      *
     28      * @param verifierAlgorithmIdentifier the algorithm and parameters required.
     29      * @return a matching ContentVerifier
     30      * @throws OperatorCreationException if the required ContentVerifier cannot be created.
     31      */
     32     ContentVerifier get(AlgorithmIdentifier verifierAlgorithmIdentifier)
     33         throws OperatorCreationException;
     34 }
     35