org.bouncycastle.cms
public class CMSEnvelopedGenerator extends Object
CMSEnvelopedDataGenerator fact = new CMSEnvelopedDataGenerator(); fact.addKeyTransRecipient(cert); CMSEnvelopedData data = fact.generate(content, algorithm, "BC");
Nested Class Summary | |
---|---|
protected class | CMSEnvelopedGenerator.RecipientInf |
Field Summary | |
---|---|
static String | AES128_CBC |
static String | AES128_WRAP |
static String | AES192_CBC |
static String | AES192_WRAP |
static String | AES256_CBC |
static String | AES256_WRAP |
static String | CAMELLIA128_CBC |
static String | CAMELLIA128_WRAP |
static String | CAMELLIA192_CBC |
static String | CAMELLIA192_WRAP |
static String | CAMELLIA256_CBC |
static String | CAMELLIA256_WRAP |
static String | CAST5_CBC |
static String | DES_EDE3_CBC |
static String | DES_EDE3_WRAP |
static String | ECDH_SHA1KDF |
static String | IDEA_CBC |
static String | RC2_CBC |
static String | SEED_CBC |
static String | SEED_WRAP |
Constructor Summary | |
---|---|
CMSEnvelopedGenerator()
base constructor |
Method Summary | |
---|---|
void | addKeyAgreementRecipient(String agreementAlgorithm, PrivateKey senderPrivateKey, PublicKey senderPublicKey, X509Certificate recipientCert, String cekWrapAlgorithm, String provider)
Add a key agreement based recipient.
|
void | addKeyTransRecipient(X509Certificate cert)
add a recipient.
|
void | addKeyTransRecipient(PublicKey key, byte[] subKeyId)
add a recipient
|
void | addKEKRecipient(SecretKey key, byte[] keyIdentifier)
add a KEK recipient. |
void | addPasswordRecipient(CMSPBEKey pbeKey, String kekAlgorithmOid) |
protected AlgorithmParameters | generateParameters(String encryptionOID, SecretKey encKey, String encProvider) |
protected AlgorithmIdentifier | getAlgorithmIdentifier(String encryptionOID, AlgorithmParameters params) |
Parameters: agreementAlgorithm key agreement algorithm to use. senderPrivateKey private key to initialise sender side of agreement with. senderPublicKey sender public key to include with message. recipientCert recipient's public key certificate. cekWrapAlgorithm OID for key wrapping algorithm to use. provider provider to use for the agreement calculation.
Throws: NoSuchProviderException if the specified provider cannot be found NoSuchAlgorithmException if the algorithm requested cannot be found InvalidKeyException if the keys are inappropriate for the algorithm specified
Parameters: cert recipient's public key certificate
Throws: IllegalArgumentException if there is a problem with the certificate
Parameters: key the public key used by the recipient subKeyId the identifier for the recipient's public key
Throws: IllegalArgumentException if there is a problem with the key
Parameters: key the secret key to use for wrapping keyIdentifier the byte string that identifies the key