org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder类的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(10.0k)|赞(0)|评价(0)|浏览(98)

本文整理了Java中org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder类的一些代码示例,展示了JcaSimpleSignerInfoVerifierBuilder类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JcaSimpleSignerInfoVerifierBuilder类的具体详情如下:
包路径:org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder
类名称:JcaSimpleSignerInfoVerifierBuilder

JcaSimpleSignerInfoVerifierBuilder介绍

暂无

代码示例

代码示例来源:origin: resteasy/Resteasy

public boolean verify(PublicKey publicKey) throws Exception
{
 for (Object info : data.getSignerInfos().getSigners())
 {
   SignerInformation signer = (SignerInformation)info;
   if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(publicKey)))
   {
    return true;
   }
 }
 return false;
}

代码示例来源:origin: stackoverflow.com

JcaSimpleSignerInfoVerifierBuilder builder = new JcaSimpleSignerInfoVerifierBuilder();
SignerInformationVerifier verifier = builder.build(signerCertificateHolder);
assertTrue(signerInfo.verify(verifier));

代码示例来源:origin: stackoverflow.com

new JcaSimpleSignerInfoVerifierBuilder()
             .setProvider(certificateStoreProvider)
             .build(((X509Certificate) msCertStore.getCertificate(certificateName)));

代码示例来源:origin: luisgoncalves/xades4j

@Inject
public DefaultTimeStampVerificationProvider(
    CertificateValidationProvider certificateValidationProvider,
    MessageDigestEngineProvider messageDigestProvider)
{
  this.certificateValidationProvider = certificateValidationProvider;
  this.messageDigestProvider = messageDigestProvider;
  Provider bcProv = new BouncyCastleProvider();
  this.signerInfoVerifierBuilder = new JcaSimpleSignerInfoVerifierBuilder().setProvider(bcProv);
  this.x509CertificateConverter = new JcaX509CertificateConverter().setProvider(bcProv);
  this.x509CertSelectorConverter = new JcaX509CertSelectorConverter();
}

代码示例来源:origin: com.helger/ph-asic

LOG.debug (x509Certificate.getSubject ().toString ());
if (aSignerInformation.verify (s_aJcaSimpleSignerInfoVerifierBuilder.build (x509Certificate)))

代码示例来源:origin: arhs/sd-dss

private TimestampValidation validateTimestampToken(final TimeStampToken timeStampToken, final CertificateToken issuerToken) {
  TimestampValidity timestampValidity;
  try {
    final JcaSimpleSignerInfoVerifierBuilder verifierBuilder = new JcaSimpleSignerInfoVerifierBuilder();
    final X509Certificate x509Certificate = issuerToken.getCertificate();
    final SignerInformationVerifier verifier = verifierBuilder.build(x509Certificate);
    timeStampToken.validate(verifier);
    timestampValidity = TimestampValidity.VALID;
  } catch (IllegalArgumentException e) {
    timestampValidity = TimestampValidity.NO_SIGNING_CERTIFICATE;
    LOG.error("No signing certificate for timestamp token: " + e);
  } catch (TSPValidationException e) {
    timestampValidity = TimestampValidity.NOT_VALID_SIGNATURE;
  } catch (TSPException e) {
    timestampValidity = TimestampValidity.NOT_VALID_STRUCTURE;
  } catch (OperatorCreationException e) {
    timestampValidity = TimestampValidity.NOT_VALID_STRUCTURE;
  }
  final TimestampValidation timestampValidation = new TimestampValidation(timestampValidity);
  return timestampValidation;
}

代码示例来源:origin: stackoverflow.com

if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider(BC_PROVIDER).build(certFromSignedData))) { ... }

代码示例来源:origin: no.difi.commons/commons-asic

@SuppressWarnings("unchecked")
  public static no.difi.commons.asic.jaxb.asic.Certificate validate(byte[] data, byte[] signature) {
    no.difi.commons.asic.jaxb.asic.Certificate certificate = null;

    try {
      CMSSignedData cmsSignedData = new CMSSignedData(new CMSProcessableByteArray(data), signature);
      Store store = cmsSignedData.getCertificates();
      SignerInformationStore signerInformationStore = cmsSignedData.getSignerInfos();

      for (SignerInformation signerInformation : signerInformationStore.getSigners()) {
        X509CertificateHolder x509Certificate = (X509CertificateHolder) store.getMatches(signerInformation.getSID()).iterator().next();
        logger.info(x509Certificate.getSubject().toString());

        if (signerInformation.verify(jcaSimpleSignerInfoVerifierBuilder.build(x509Certificate))) {
          certificate = new no.difi.commons.asic.jaxb.asic.Certificate();
          certificate.setCertificate(x509Certificate.getEncoded());
          certificate.setSubject(x509Certificate.getSubject().toString());
        }
      }
    } catch (Exception e) {
      logger.warn(e.getMessage());
      certificate = null;
    }

    if (certificate == null)
      throw new IllegalStateException("Unable to verify signature.");

    return certificate;
  }
}

代码示例来源:origin: resteasy/Resteasy

public boolean verify(X509Certificate certificate) throws Exception
{
 for (Object info : data.getSignerInfos().getSigners())
 {
   SignerInformation signer = (SignerInformation)info;
   if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(certificate)))
   {
    return true;
   }
 }
 return false;
}
public boolean verify(PublicKey publicKey) throws Exception

代码示例来源:origin: be.e_contract.mycarenet/mycarenet-ehealth-certra

private byte[] getCmsData(byte[] cms) throws Exception {
  CMSSignedData cmsSignedData = new CMSSignedData(cms);
  SignerInformationStore signers = cmsSignedData.getSignerInfos();
  SignerInformation signer = (SignerInformation) signers.getSigners().iterator().next();
  SignerId signerId = signer.getSID();
  Store certificateStore = cmsSignedData.getCertificates();
  Collection<X509CertificateHolder> certificateCollection = certificateStore.getMatches(signerId);
  X509CertificateHolder certificateHolder = certificateCollection.iterator().next();
  CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
  X509Certificate certificate = (X509Certificate) certificateFactory
      .generateCertificate(new ByteArrayInputStream(certificateHolder.getEncoded()));
  // we trust SSL here, no need for explicit verification of CMS signing
  // certificate
  LOG.debug("CMS signing certificate subject: " + certificate.getSubjectX500Principal());
  SignerInformationVerifier signerInformationVerifier = new JcaSimpleSignerInfoVerifierBuilder()
      .build(certificate);
  boolean signatureResult = signer.verify(signerInformationVerifier);
  if (false == signatureResult) {
    throw new SecurityException("woops");
  }
  CMSTypedData signedContent = cmsSignedData.getSignedContent();
  byte[] responseData = (byte[]) signedContent.getContent();
  return responseData;
}

代码示例来源:origin: stackoverflow.com

if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(cert)) ) 
{   
   }

代码示例来源:origin: luisgoncalves/xades4j

tsToken.validate(this.signerInfoVerifierBuilder.build(tsaCert));

代码示例来源:origin: resteasy/Resteasy

public boolean verify(PublicKey publicKey) throws Exception
{
 SMIMESigned signed = new SMIMESigned(body);
 SignerInformationStore signers = signed.getSignerInfos();
 SignerInformation signer = (SignerInformation) signers.getSigners().iterator().next();
 return (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(publicKey)));
}

代码示例来源:origin: stackoverflow.com

JcaSimpleSignerInfoVerifierBuilder verifier = new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC");
    X509CertificateHolder certHolder = (X509CertificateHolder) objMatch;
    System.out.print("verifying against " + certHolder.getSubject().toString());
    if (signer.verify(verifier.build(certHolder))) {
      System.out.println(": verified");
    } else {

代码示例来源:origin: stackoverflow.com

if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider(BC_PROVIDER).build(certFromKeystore2))) { ... }

代码示例来源:origin: apache/pdfbox

private void validateTimestampToken(TimeStampToken timeStampToken)
    throws TSPException, CertificateException, OperatorCreationException, IOException
{
  // https://stackoverflow.com/questions/42114742/
  Collection<X509CertificateHolder> tstMatches =
      timeStampToken.getCertificates().getMatches(timeStampToken.getSID());
  X509CertificateHolder holder = tstMatches.iterator().next();
  X509Certificate tstCert = new JcaX509CertificateConverter().getCertificate(holder);
  SignerInformationVerifier siv = new JcaSimpleSignerInfoVerifierBuilder().setProvider(SecurityProvider.getProvider()).build(tstCert);
  timeStampToken.validate(siv);
  System.out.println("TimeStampToken validated");
}

代码示例来源:origin: arhs/sd-dss

final JcaSimpleSignerInfoVerifierBuilder verifier = new JcaSimpleSignerInfoVerifierBuilder();
final CertificateToken certificateToken = signingCertificateValidity.getCertificateToken();
final X509Certificate certificate = certificateToken.getCertificate();
final SignerInformationVerifier signerInformationVerifier = verifier.build(certificate);
LOG.debug(" - WITH SIGNING CERTIFICATE: " + certificateToken.getAbbreviation());
boolean signatureIntact = signerInformationToCheck.verify(signerInformationVerifier);

代码示例来源:origin: stackoverflow.com

String toVerify = "A1005056807CE11EE2B4CE0025305725CFrCN%3DKED,OU%3DI0020266601,OU%3DSAPWebAS,O%3DSAPTrustCommunity,C%3DDE20130611102236";
 String signed = "MIIBUQYJKoZIhvcNAQcCoIIBQjCCAT4CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHATGCAR0wggEZAgEBMG8wZDELMAkGA1UEBhMCREUxHDAaBgNVBAoTE1NBUCBUcnVzdCBDb21tdW5pdHkxEzARBgNVBAsTClNBUCBXZWIgQVMxFDASBgNVBAsTC0kwMDIwMjY2NjAxMQwwCgYDVQQDEwNLRUQCByASEgITMlYwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEzMDYxMTA4MjM1MVowIwYJKoZIhvcNAQkEMRYEFGy7jXb/pUqMYdk2dss2Qe6hNroaMAkGByqGSM44BAMELjAsAhRMJ+t5/3RxQAsHKnIoPY4BnO0qCAIUAbKRwWNjOYsewB56zoZqnZwRyWw=";
 byte[] signedByte = Base64.decode(signed);
 Security.addProvider(new BouncyCastleProvider());
 CMSSignedData s = new CMSSignedData(new CMSProcessableByteArray(toVerify.getBytes()), signedByte);
 SignerInformationStore signers = s.getSignerInfos();
 SignerInformation signerInfo = (SignerInformation)signers.getSigners().iterator().next();
 FileInputStream fis = new FileInputStream("c:\\sap.cer");
 CertificateFactory cf = CertificateFactory.getInstance("X.509");
 X509Certificate cert = (X509Certificate)cf.generateCertificates(fis).iterator().next();
 boolean result = signerInfo.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("SUN").build(cert.getPublicKey())); 
 System.out.println("Verified: "+result);

代码示例来源:origin: apache/pdfbox

if (signerInformation.verify(new JcaSimpleSignerInfoVerifierBuilder().
    setProvider(SecurityProvider.getProvider()).build(certFromSignedData)))

代码示例来源:origin: jscep/jscep

SignerInformationVerifier verifier;
try {
  verifier = new JcaSimpleSignerInfoVerifierBuilder().build(cert);
  if(signerInfo.verify(verifier) == false) {
    final String msg = "pkiMessage verification failed.";

相关文章

微信公众号

最新文章

更多