1package org.bouncycastle.operator; 2 3import org.bouncycastle.asn1.x509.AlgorithmIdentifier; 4import org.bouncycastle.cert.X509CertificateHolder; 5 6/** 7 * General interface for providers of ContentVerifier objects. 8 */ 9public 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