Example usage for org.bouncycastle.cms.jcajce JcaSimpleSignerInfoVerifierBuilder setProvider

List of usage examples for org.bouncycastle.cms.jcajce JcaSimpleSignerInfoVerifierBuilder setProvider

Introduction

In this page you can find the example usage for org.bouncycastle.cms.jcajce JcaSimpleSignerInfoVerifierBuilder setProvider.

Prototype

public JcaSimpleSignerInfoVerifierBuilder setProvider(String providerName) 

Source Link

Usage

From source file:ee.ria.xroad.common.signature.TimestampVerifier.java

License:Open Source License

private static SignerInformationVerifier createVerifier(X509Certificate cert) throws OperatorCreationException {
    JcaSimpleSignerInfoVerifierBuilder verifierBuilder = new JcaSimpleSignerInfoVerifierBuilder();
    verifierBuilder.setProvider("BC");

    return verifierBuilder.build(cert);
}

From source file:mitm.common.security.cms.SignerInfoImpl.java

License:Open Source License

@Override
public boolean verify(PublicKey key, String provider) throws SignerInfoException {
    try {//w ww.  ja v  a2 s  . c  om
        JcaSimpleSignerInfoVerifierBuilder verifierBuilder = new JcaSimpleSignerInfoVerifierBuilder();

        verifierBuilder.setProvider(provider);

        return signerInformation.verify(verifierBuilder.build(key));
    } catch (CMSException e) {
        throw new SignerInfoException(e);
    } catch (OperatorCreationException e) {
        throw new SignerInfoException(e);
    }
}

From source file:net.markenwerk.utils.mail.smime.SmimeUtil.java

License:Open Source License

private static SignerInformationVerifier getVerifier(X509Certificate certificate)
        throws OperatorCreationException {
    JcaSimpleSignerInfoVerifierBuilder builder = new JcaSimpleSignerInfoVerifierBuilder();
    builder.setProvider(BouncyCastleProvider.PROVIDER_NAME);
    return builder.build(certificate);
}

From source file:pdfbox.SignatureVerifier.java

License:Apache License

/**
 * Verify a PKCS7 signature./*w  ww.ja  va  2 s.c  om*/
 *
 * @param byteArray the byte sequence that has been signed
 * @param contents the /Contents field as a COSString
 * @param sig the PDF signature (the /V dictionary)
 * @throws CertificateException
 * @throws CMSException
 * @throws StoreException
 * @throws OperatorCreationException
 */
private SignatureResult verifyPKCS7(byte[] byteArray, COSString contents, PDSignature sig)
        throws CMSException, CertificateException, StoreException, OperatorCreationException {
    // inspiration:
    // http://stackoverflow.com/a/26702631/535646
    // http://stackoverflow.com/a/9261365/535646
    CMSProcessable signedContent = new CMSProcessableByteArray(byteArray);
    CMSSignedData signedData = new CMSSignedData(signedContent, contents.getBytes());
    Store certificatesStore = signedData.getCertificates();
    Collection<SignerInformation> signers = signedData.getSignerInfos().getSigners();
    SignerInformation signerInformation = signers.iterator().next();
    Collection matches = certificatesStore.getMatches(signerInformation.getSID());
    X509CertificateHolder certificateHolder = (X509CertificateHolder) matches.iterator().next();
    X509Certificate certFromSignedData = new JcaX509CertificateConverter().getCertificate(certificateHolder);
    //System.out.println("certFromSignedData: " + certFromSignedData);
    certFromSignedData.checkValidity(sig.getSignDate().getTime());

    JcaSimpleSignerInfoVerifierBuilder verifierBuilder = new JcaSimpleSignerInfoVerifierBuilder();
    if (provider != null) {
        verifierBuilder.setProvider(provider);
    }

    boolean validated = false;
    try {
        validated = signerInformation.verify(verifierBuilder.build(certFromSignedData));

    } catch (CMSSignerDigestMismatchException e) {
        System.out.println("Signature failed to validate: ");
        e.printStackTrace();
    }

    return new SignatureResult(certFromSignedData, validated);
}