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

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

Introduction

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

Prototype

public JceCMSContentEncryptorBuilder setProvider(String providerName) 

Source Link

Document

Set the provider to use for content encryption (by name)

Usage

From source file:mitm.common.security.smime.SMIMEBuilderImpl.java

License:Open Source License

@Override
public void encrypt(SMIMEEncryptionAlgorithm algorithm, int keySize) throws SMIMEBuilderException {
    try {//from w  w  w.  jav  a2s. co m
        JceCMSContentEncryptorBuilder encryptorBuilder = new JceCMSContentEncryptorBuilder(algorithm.getOID(),
                keySize);

        encryptorBuilder.setProvider(nonSensitiveProvider);

        bodyPart = envelopedGenerator.generate(bodyPart, encryptorBuilder.build());

        /*
         * We will use the deprecated content-type if required. We do this by changing the content-type
         * header. I wish I could specify the content-type for the envelopedGenerator but that's not 
         * possible without completely reimplemening envelopedGenerator. This is a workaround until
         * BC allows me to set the content-type
         */
        if (useDeprecatedContentTypes) {
            bodyPart.setHeader("Content-Type", SMIMEHeader.DEPRECATED_ENCRYPTED_CONTENT_TYPE);
        }

        envelopedGenerator = new PrivateSMIMEEnvelopedGenerator();
    } catch (SMIMEException e) {
        throw new SMIMEBuilderException(e);
    } catch (MessagingException e) {
        throw new SMIMEBuilderException(e);
    } catch (CMSException e) {
        throw new SMIMEBuilderException(e);
    }
}