Example usage for org.bouncycastle.cert X509AttributeCertificateHolder isSignatureValid

List of usage examples for org.bouncycastle.cert X509AttributeCertificateHolder isSignatureValid

Introduction

In this page you can find the example usage for org.bouncycastle.cert X509AttributeCertificateHolder isSignatureValid.

Prototype

public boolean isSignatureValid(ContentVerifierProvider verifierProvider) throws CertException 

Source Link

Document

Validate the signature on the attribute certificate in this holder.

Usage

From source file:AAModulePackage.ACHelper.java

/**
 * Validate the AC's cryptographic signature, checking against trusted
 * issuing entity's ACs.//from   ww  w  . j a v  a 2 s  .c om
 * @param ac - X.509 Attribute Certificate to have its signature checked.
 * @param trustedIssuers - Set of certificates owned by trust AC Issuing
 * Entities.
 * @return True if the signature is valid, False if it is not.
 */
public static boolean validateACSignature(X509AttributeCertificateHolder ac,
        HashSet<X509CertificateHolder> trustedIssuers) {
    JcaContentVerifierProviderBuilder b = new JcaContentVerifierProviderBuilder();
    b.setProvider("BC");

    for (X509CertificateHolder issuerCert : trustedIssuers) {
        try {
            if (ac.isSignatureValid(b.build(issuerCert))) {
                System.out.println("Signature for AC has been validated");
                return true;
            }
        } catch (CertException ex) {
            Logger.getLogger(ACHelper.class.getName()).log(Level.SEVERE, null, ex);
        } catch (OperatorCreationException ex) {
            Logger.getLogger(ACHelper.class.getName()).log(Level.SEVERE, null, ex);
        } catch (CertificateException ex) {
            Logger.getLogger(ACHelper.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    return false;
}