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

x33g5p2x  于2022-01-22 转载在 其他  
字(13.8k)|赞(0)|评价(0)|浏览(82)

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

JcaSignerInfoGeneratorBuilder介绍

暂无

代码示例

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

X509Certificate cert = (X509Certificate) certificateChain[0];
ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA256WithRSA").build(privateKey);
gen.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(new JcaDigestCalculatorProviderBuilder().build()).build(sha1Signer, cert));
gen.addCertificates(new JcaCertStore(Arrays.asList(certificateChain)));
CMSProcessableInputStream msg = new CMSProcessableInputStream(content);

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

private SignerInfoGenerator getSignerInfo(final PkiMessage<?> message)
    throws MessageEncodingException {
  JcaSignerInfoGeneratorBuilder signerInfoBuilder = new JcaSignerInfoGeneratorBuilder(
      getDigestCalculator());
  signerInfoBuilder
      .setSignedAttributeGenerator(getTableGenerator(message));
  SignerInfoGenerator signerInfo;
  try {
    signerInfo = signerInfoBuilder.build(getContentSigner(), signerId);
  } catch (Exception e) {
    throw new MessageEncodingException(e);
  }
  return signerInfo;
}

代码示例来源:origin: com.amazon.device.tools.build/builder

.build(privateKey);
gen.addSignerInfoGenerator(
  new JcaSignerInfoGeneratorBuilder(
    new JcaDigestCalculatorProviderBuilder()
    .build())
  .setDirectSignature(true)
  .build(sha1Signer, publicKey));
gen.addCertificates(certs);
CMSSignedData sigData = gen.generate(data, false);

代码示例来源:origin: org.apache.camel/camel-crypto-cms

JcaSignerInfoGeneratorBuilder signerBuilder = new JcaSignerInfoGeneratorBuilder(new JcaDigestCalculatorProviderBuilder().setProvider(BouncyCastleProvider.PROVIDER_NAME)
  .build());
signerBuilder.setSignedAttributeGenerator(signer.getSignedAttributeGenerator(exchange)).setUnsignedAttributeGenerator(signer.getUnsignedAttributeGenerator(exchange));
gen.addSignerInfoGenerator(signerBuilder.build(contentSigner, signerCert));

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

X509Certificate signingCertificate = getSigningCertificate();
//The chain of certificates that issued your signing certificate and so on
Collection&ltX509Certificate;> certificateChain = getCertificateChain();
PrivateKey pk = getPrivateKey();
byte[] message = "SomeMessage".getBytes();

CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
certificateChain.add(signingCertificate);
generator.addCertificates(new CollectionStore(certificateChain));

JcaDigestCalculatorProviderBuilder jcaDigestProvider = new JcaDigestCalculatorProviderBuilder();
jcaDigestProvider.setProvider(new BouncyCastleProvider());
JcaSignerInfoGeneratorBuilder singerInfoGenerator = new JcaSignerInfoGeneratorBuilder(jcaDigestProvider.build());

AlgorithmIdentifier sigAlgId = new DefaultSignatureAlgorithmIdentifierFinder().find("SHA1withRSA");
AlgorithmIdentifier digAlgId = new DefaultDigestAlgorithmIdentifierFinder().find(sigAlgId);
AsymmetricKeyParameter privateKeyParam = PrivateKeyFactory.createKey(pk.getEncoded());
ContentSigner cs = new BcRSAContentSignerBuilder(sigAlgId, digAlgId).build(privateKeyParam);

SignerInfoGenerator sig = singerInfoGenerator.build(cs, signingCertificate);
generator.addSignerInfoGenerator(sig);

CMSSignedData data = generator.generate(new CMSProcessableByteArray(message), true);

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

sigb.setDirectSignature( true );
gen.addSignerInfoGenerator(sigb.build(nonSigner, new X509CertificateHolder(cert)));
CMSProcessableInputStream msg = new CMSProcessableInputStream( new ByteArrayInputStream( "not used".getBytes() ) );

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

CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
gen.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(......));
gen.addCertificates(certs);

代码示例来源:origin: com.android.tools.build/builder

/** Write the certificate file with a digital signature. */
private void writeSignatureBlock(CMSTypedData data, X509Certificate publicKey)
    throws IOException, CertificateEncodingException, OperatorCreationException, CMSException {
  ArrayList<X509Certificate> certList = new ArrayList<X509Certificate>();
  certList.add(publicKey);
  JcaCertStore certs = new JcaCertStore(certList);
  CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
  ContentSigner sha1Signer =
      new JcaContentSignerBuilder(
          mSignatureAlgorithm.signatureAlgorithmName(mDigestAlgorithm)).build(mKey);
  gen.addSignerInfoGenerator(
    new JcaSignerInfoGeneratorBuilder(
      new JcaDigestCalculatorProviderBuilder()
      .build())
    .setDirectSignature(true)
    .build(sha1Signer, publicKey));
  gen.addCertificates(certs);
  CMSSignedData sigData = gen.generate(data, false);
  try (ASN1InputStream asn1 = new ASN1InputStream(sigData.getEncoded())) {
    DEROutputStream dos = new DEROutputStream(mOutputJar);
    try {
      dos.writeObject(asn1.readObject());
    } finally {
      dos.flush();
      dos.close();
    }
  }
}

代码示例来源:origin: org.xipki.scep/scep-common

JcaSignerInfoGeneratorBuilder signerInfoBuilder = new JcaSignerInfoGeneratorBuilder(
  new BcDigestCalculatorProvider());
signerInfoBuilder.setSignedAttributeGenerator(
  new DefaultSignedAttributeTableGenerator(getSignedAttributes()));
 signerInfoBuilder.setUnsignedAttributeGenerator(
   new SimpleAttributeTableGenerator(attrTable));
 signerInfo = signerInfoBuilder.build(signer, signerCert);
} catch (Exception ex) {
 throw new MessageEncodingException(ex);

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

public byte[] signMobileConfig(byte[] mobileconfig) 
    throws CertificateEncodingException, PEMException, FileNotFoundException, IOException, CertificateException, OperatorCreationException, CMSException {
  Security.addProvider(new BouncyCastleProvider());

  X509CertificateHolder caCertificate = loadCertfile();

  JcaX509CertificateConverter certificateConverter = new JcaX509CertificateConverter();
  X509Certificate serverCertificate = certificateConverter.getCertificate(loadSigner());

  PrivateKeyInfo privateKeyInfo = loadInKey();
  PrivateKey inKey = new JcaPEMKeyConverter().getPrivateKey(privateKeyInfo);
  ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(inKey);

  CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
  JcaDigestCalculatorProviderBuilder digestProviderBuilder = new JcaDigestCalculatorProviderBuilder().setProvider("BC");
  JcaSignerInfoGeneratorBuilder generatotBuilder = new JcaSignerInfoGeneratorBuilder(digestProviderBuilder.build());

  generator.addSignerInfoGenerator(generatotBuilder.build(sha1Signer, serverCertificate));
  generator.addCertificate(new X509CertificateHolder(serverCertificate.getEncoded()));
  generator.addCertificate(new X509CertificateHolder(caCertificate.getEncoded()));

  CMSProcessableByteArray bytes = new CMSProcessableByteArray(mobileconfig);
  CMSSignedData signedData = generator.generate(bytes, true);

  return signedData.getEncoded();
}

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

CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
gen.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(......));
gen.addCertificates(certs);

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

@SuppressWarnings(value = "unchecked")
  public static byte[] sign(Providers providers, SignedOutput out) throws IOException, NoSuchAlgorithmException, NoSuchProviderException, CMSException, OperatorCreationException, CertificateEncodingException {
   ByteArrayOutputStream bodyOs = new ByteArrayOutputStream();
   MessageBodyWriter writer = providers.getMessageBodyWriter(out.getType(), out.getGenericType(), null, out.getMediaType());
   if (writer == null)
   {
     throw new WriterException(Messages.MESSAGES.failedToFindWriter(out.getType().getName()));
   }
   MultivaluedMapImpl<String, Object> bodyHeaders = new MultivaluedMapImpl<String, Object>();
   bodyHeaders.add("Content-Type",  out.getMediaType().toString());
   writer.writeTo(out.getEntity(), out.getType(), out.getGenericType(), null, out.getMediaType(), bodyHeaders, bodyOs);
   CMSSignedDataGenerator signGen = new CMSSignedDataGenerator();

   ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(out.getPrivateKey());

   signGen.addSignerInfoGenerator(
               new JcaSignerInfoGeneratorBuilder(
                  new JcaDigestCalculatorProviderBuilder().setProvider("BC").build())
              .build(sha1Signer, out.getCertificate()));

   CMSTypedData content = new CMSProcessableByteArray(bodyOs.toByteArray());

   CMSSignedData signedData = signGen.generate(content, true);

   return signedData.getEncoded();
  }
}

代码示例来源:origin: fgl27/isu

/** Sign data and write the digital signature to 'out'. */
private static void writeSignatureBlock(
  CMSTypedData data, X509Certificate publicKey, PrivateKey privateKey,
  OutputStream out)
throws IOException,
CertificateEncodingException,
OperatorCreationException,
CMSException {
  ArrayList < X509Certificate > certList = new ArrayList < > (1);
  certList.add(publicKey);
  JcaCertStore certs = new JcaCertStore(certList);
  CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
  ContentSigner signer = new JcaContentSignerBuilder(getSignatureAlgorithm(publicKey))
    .setProvider(sBouncyCastleProvider)
    .build(privateKey);
  gen.addSignerInfoGenerator(
    new JcaSignerInfoGeneratorBuilder(
      new JcaDigestCalculatorProviderBuilder()
      .setProvider(sBouncyCastleProvider)
      .build())
    .setDirectSignature(true)
    .build(signer, publicKey));
  gen.addCertificates(certs);
  CMSSignedData sigData = gen.generate(data, false);
  ASN1InputStream asn1 = new ASN1InputStream(sigData.getEncoded());
  DEROutputStream dos = new DEROutputStream(out);
  dos.writeObject(asn1.readObject());
}
/**

代码示例来源:origin: drallgood/jpasskit

new JcaSignerInfoGeneratorBuilder(
        new JcaDigestCalculatorProviderBuilder()
            .setProvider(CertUtils.getProviderName())
            .build())
        .setSignedAttributeGenerator(signedAttributeGenerator)
        .build(sha1Signer, signingInformation.getSigningCert())
);

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

public byte[] signMobileConfig(byte[] mobileconfig) 
      throws CertificateEncodingException, PEMException, FileNotFoundException, IOException, CertificateException, OperatorCreationException, CMSException {
  Security.addProvider(new BouncyCastleProvider());

  X509CertificateHolder caCertificate = loadCertfile();

  JcaX509CertificateConverter certificateConverter = new JcaX509CertificateConverter();
  X509Certificate serverCertificate = certificateConverter.getCertificate(loadSigner());

  PrivateKeyInfo privateKeyInfo = loadInKey();
  PrivateKey inKey = new JcaPEMKeyConverter().getPrivateKey(privateKeyInfo);
  ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(inKey);

  CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
  JcaDigestCalculatorProviderBuilder digestProviderBuilder = new JcaDigestCalculatorProviderBuilder().setProvider("BC");
  JcaSignerInfoGeneratorBuilder generatotBuilder = new JcaSignerInfoGeneratorBuilder(digestProviderBuilder.build());

  generator.addSignerInfoGenerator(generatotBuilder.build(sha1Signer, serverCertificate));
  generator.addCertificate(new X509CertificateHolder(serverCertificate.getEncoded()));
  generator.addCertificate(new X509CertificateHolder(caCertificate.getEncoded()));

  CMSProcessableByteArray bytes = new CMSProcessableByteArray(mobileconfig);
  CMSSignedData signedData = generator.generate(bytes, true);

  return signedData.getEncoded();
}

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

/**
 * Sign content
 *
 * @param data Content to be signed
 * @return Signature
 */
byte[] signData(byte[] data) {
  try {
    DigestCalculatorProvider digestCalculatorProvider = jcaDigestCalculatorProviderBuilder.build();
    ContentSigner contentSigner = jcaContentSignerBuilder.build(keyPair.getPrivate());
    SignerInfoGenerator signerInfoGenerator = new JcaSignerInfoGeneratorBuilder(digestCalculatorProvider).build(contentSigner, x509Certificate);
    CMSSignedDataGenerator cmsSignedDataGenerator = new CMSSignedDataGenerator();
    cmsSignedDataGenerator.addSignerInfoGenerator(signerInfoGenerator);
    cmsSignedDataGenerator.addCertificates(new JcaCertStore(Collections.singletonList(x509Certificate)));
    CMSSignedData cmsSignedData = cmsSignedDataGenerator.generate(new CMSProcessableByteArray(data), false);
    logger.debug(BaseEncoding.base64().encode(cmsSignedData.getEncoded()));
    return cmsSignedData.getEncoded();
  } catch (Exception e) {
    throw new IllegalStateException(String.format("Unable to sign: %s", e.getMessage()), e);
  }
}

代码示例来源:origin: com.android.tools.build/builder

new JcaContentSignerBuilder(signatureAlgName).build(mPrivateKey);
gen.addSignerInfoGenerator(
    new JcaSignerInfoGeneratorBuilder(
        new JcaDigestCalculatorProviderBuilder()
            .build())
            .setDirectSignature(true)
            .build(shaSigner, mCertificate));
gen.addCertificates(certs);
CMSSignedData sigData = gen.generate(cmsData, false);

代码示例来源:origin: org.xipki.scep/scep-common

JcaSignerInfoGeneratorBuilder signerInfoBuilder = new JcaSignerInfoGeneratorBuilder(
  new BcDigestCalculatorProvider());
signerInfoBuilder.setSignedAttributeGenerator(new DefaultSignedAttributeTableGenerator());
SignerInfoGenerator signerInfo = signerInfoBuilder.build(signer, signerCert);
generator.addSignerInfoGenerator(signerInfo);

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

private byte[] sign(byte[] data) throws SignatureException {
  CMSSignedDataGenerator cmsSignedDataGenerator = new CMSSignedDataGenerator();
  try {
    ContentSigner contentSigner = new JcaContentSignerBuilder("SHA256withRSA").build(this.privateKey);
    cmsSignedDataGenerator.addSignerInfoGenerator(new JcaSignerInfoGeneratorBuilder(
        new JcaDigestCalculatorProviderBuilder().setProvider(BouncyCastleProvider.PROVIDER_NAME).build())
            .build(contentSigner, this.certificateChain.get(0)));
    for (X509Certificate certificate : this.certificateChain) {
      cmsSignedDataGenerator.addCertificate(new X509CertificateHolder(certificate.getEncoded()));
    }
    CMSTypedData cmsTypedData = new CMSProcessableByteArray(data);
    CMSSignedData cmsSignedData = cmsSignedDataGenerator.generate(cmsTypedData, true);
    return cmsSignedData.getEncoded();
  } catch (Exception e) {
    throw new SignatureException(e);
  }
}

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

.getAlgorithm ()).setProvider (p);
final ContentSigner aContentSigner = aJcaContentSignerBuilder.build (m_aKeyPair.getPrivate ());
final SignerInfoGenerator aSignerInfoGenerator = new JcaSignerInfoGeneratorBuilder (aDigestCalculatorProvider).build (aContentSigner,
                                                           m_aX509Certificate);

相关文章