gen = new SMIMEEnvelopedGenerator(); Security.addProvider(new BouncyCastleProvider()); KeyStore ks = KeyStore.getInstance(PKCS_KEYSTORE_TYPE, BOUNCY_CASTLE_PROVIDER);
SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator();
public static MimeMessage encryptMessage(MimeMessage message) throws Exception { Security.addProvider(new BouncyCastleProvider()); // create the generator for creating an smime/encrypted message SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator(); X509Certificate recipientCert = getRecipientPublicCertificate(message); gen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator(recipientCert).setProvider("BC")); MimeBodyPart msg = new MimeBodyPart(); msg.setContent(message.getContent(), message.getContentType()); MimeBodyPart mp = gen.generate(msg, new JceCMSContentEncryptorBuilder(CMSAlgorithm.RC2_CBC).setProvider("BC").build()); message.setContent(mp.getContent(), mp.getContentType()); message.saveChanges(); return message; }
@Nonnull public MimeBodyPart encrypt (@Nonnull final MimeBodyPart aPart, @Nonnull final X509Certificate aX509Cert, @Nonnull final ECryptoAlgorithmCrypt eAlgorithm, @Nonnull final EContentTransferEncoding eCTE) throws GeneralSecurityException, SMIMEException, CMSException { ValueEnforcer.notNull (aPart, "MimeBodyPart"); ValueEnforcer.notNull (aX509Cert, "X509Cert"); ValueEnforcer.notNull (eAlgorithm, "Algorithm"); ValueEnforcer.notNull (eCTE, "ContentTransferEncoding"); if (LOGGER.isDebugEnabled ()) LOGGER.debug ("BCCryptoHelper.encrypt; X509 subject=" + aX509Cert.getSubjectX500Principal ().getName () + "; algorithm=" + eAlgorithm + "; CTE=" + eCTE); // Check if the certificate is expired or active. aX509Cert.checkValidity (); final ASN1ObjectIdentifier aEncAlg = eAlgorithm.getOID (); final SMIMEEnvelopedGenerator aGen = new SMIMEEnvelopedGenerator (); aGen.addRecipientInfoGenerator (new JceKeyTransRecipientInfoGenerator (aX509Cert).setProvider (m_sSecurityProviderName)); aGen.setContentTransferEncoding (eCTE.getID ()); final OutputEncryptor aEncryptor = new JceCMSContentEncryptorBuilder (aEncAlg).setProvider (m_sSecurityProviderName) .build (); final MimeBodyPart aEncryptedPart = aGen.generate (aPart, aEncryptor); return aEncryptedPart; }
public MimeBodyPart encrypt(MimeBodyPart part, Certificate cert, String algorithm, String contentTxfrEncoding) throws GeneralSecurityException, SMIMEException, MessagingException { X509Certificate x509Cert = castCertificate(cert); SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator(); gen.setContentTransferEncoding(getEncoding(contentTxfrEncoding)); if (logger.isDebugEnabled()) { logger.debug("Encrypting on MIME part containing the following headers: " + AS2Util.printHeaders(part.getAllHeaders())); } gen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator(x509Cert).setProvider("BC")); return gen.generate(part, getOutputEncryptor(algorithm)); }
SMIMEEnvelopedGenerator encrypter = new SMIMEEnvelopedGenerator(); encrypter.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator((X509Certificate) cer).setProvider(BouncyCastleProvider.PROVIDER_NAME));
SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator();