List of usage examples for org.bouncycastle.cms.jcajce JcaSimpleSignerInfoVerifierBuilder setProvider
public JcaSimpleSignerInfoVerifierBuilder setProvider(String providerName)
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); }