|
Bouncy Castle Cryptography Library 1.44 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.cms.CMSEnvelopedGenerator
public class CMSEnvelopedGenerator
General class for generating a CMS enveloped-data message. A simple example of usage.
CMSEnvelopedDataGenerator fact = new CMSEnvelopedDataGenerator(); fact.addKeyTransRecipient(cert); CMSEnvelopedData data = fact.generate(content, algorithm, "BC");
Field Summary | |
---|---|
static java.lang.String |
AES128_CBC
|
static java.lang.String |
AES128_WRAP
|
static java.lang.String |
AES192_CBC
|
static java.lang.String |
AES192_WRAP
|
static java.lang.String |
AES256_CBC
|
static java.lang.String |
AES256_WRAP
|
static java.lang.String |
CAMELLIA128_CBC
|
static java.lang.String |
CAMELLIA128_WRAP
|
static java.lang.String |
CAMELLIA192_CBC
|
static java.lang.String |
CAMELLIA192_WRAP
|
static java.lang.String |
CAMELLIA256_CBC
|
static java.lang.String |
CAMELLIA256_WRAP
|
static java.lang.String |
CAST5_CBC
|
static java.lang.String |
DES_EDE3_CBC
|
static java.lang.String |
DES_EDE3_WRAP
|
static java.lang.String |
ECDH_SHA1KDF
|
static java.lang.String |
IDEA_CBC
|
static java.lang.String |
RC2_CBC
|
static java.lang.String |
SEED_CBC
|
static java.lang.String |
SEED_WRAP
|
Constructor Summary | |
---|---|
CMSEnvelopedGenerator()
base constructor |
|
CMSEnvelopedGenerator(java.security.SecureRandom rand)
constructor allowing specific source of randomness |
Method Summary | |
---|---|
void |
addKEKRecipient(javax.crypto.SecretKey key,
byte[] keyIdentifier)
add a KEK recipient. |
void |
addKeyAgreementRecipient(java.lang.String agreementAlgorithm,
java.security.PrivateKey senderPrivateKey,
java.security.PublicKey senderPublicKey,
java.security.cert.X509Certificate recipientCert,
java.lang.String cekWrapAlgorithm,
java.security.Provider provider)
Add a key agreement based recipient. |
void |
addKeyAgreementRecipient(java.lang.String agreementAlgorithm,
java.security.PrivateKey senderPrivateKey,
java.security.PublicKey senderPublicKey,
java.security.cert.X509Certificate recipientCert,
java.lang.String cekWrapAlgorithm,
java.lang.String provider)
Add a key agreement based recipient. |
void |
addKeyTransRecipient(java.security.PublicKey key,
byte[] subKeyId)
add a recipient |
void |
addKeyTransRecipient(java.security.cert.X509Certificate cert)
add a recipient. |
void |
addPasswordRecipient(CMSPBEKey pbeKey,
java.lang.String kekAlgorithmOid)
|
protected java.security.AlgorithmParameters |
generateParameters(java.lang.String encryptionOID,
javax.crypto.SecretKey encKey,
java.security.Provider encProvider)
|
protected org.bouncycastle.asn1.x509.AlgorithmIdentifier |
getAlgorithmIdentifier(java.lang.String encryptionOID,
java.security.AlgorithmParameters params)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String DES_EDE3_CBC
public static final java.lang.String RC2_CBC
public static final java.lang.String IDEA_CBC
public static final java.lang.String CAST5_CBC
public static final java.lang.String AES128_CBC
public static final java.lang.String AES192_CBC
public static final java.lang.String AES256_CBC
public static final java.lang.String CAMELLIA128_CBC
public static final java.lang.String CAMELLIA192_CBC
public static final java.lang.String CAMELLIA256_CBC
public static final java.lang.String SEED_CBC
public static final java.lang.String DES_EDE3_WRAP
public static final java.lang.String AES128_WRAP
public static final java.lang.String AES192_WRAP
public static final java.lang.String AES256_WRAP
public static final java.lang.String CAMELLIA128_WRAP
public static final java.lang.String CAMELLIA192_WRAP
public static final java.lang.String CAMELLIA256_WRAP
public static final java.lang.String SEED_WRAP
public static final java.lang.String ECDH_SHA1KDF
Constructor Detail |
---|
public CMSEnvelopedGenerator()
public CMSEnvelopedGenerator(java.security.SecureRandom rand)
rand
- instance of SecureRandom to useMethod Detail |
---|
public void addKeyTransRecipient(java.security.cert.X509Certificate cert) throws java.lang.IllegalArgumentException
cert
- recipient's public key certificate
java.lang.IllegalArgumentException
- if there is a problem with the certificatepublic void addKeyTransRecipient(java.security.PublicKey key, byte[] subKeyId) throws java.lang.IllegalArgumentException
key
- the public key used by the recipientsubKeyId
- the identifier for the recipient's public key
java.lang.IllegalArgumentException
- if there is a problem with the keypublic void addKEKRecipient(javax.crypto.SecretKey key, byte[] keyIdentifier)
key
- the secret key to use for wrappingkeyIdentifier
- the byte string that identifies the keypublic void addPasswordRecipient(CMSPBEKey pbeKey, java.lang.String kekAlgorithmOid)
public void addKeyAgreementRecipient(java.lang.String agreementAlgorithm, java.security.PrivateKey senderPrivateKey, java.security.PublicKey senderPublicKey, java.security.cert.X509Certificate recipientCert, java.lang.String cekWrapAlgorithm, java.lang.String provider) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
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.
java.security.NoSuchProviderException
- if the specified provider cannot be found
java.security.NoSuchAlgorithmException
- if the algorithm requested cannot be found
java.security.InvalidKeyException
- if the keys are inappropriate for the algorithm specifiedpublic void addKeyAgreementRecipient(java.lang.String agreementAlgorithm, java.security.PrivateKey senderPrivateKey, java.security.PublicKey senderPublicKey, java.security.cert.X509Certificate recipientCert, java.lang.String cekWrapAlgorithm, java.security.Provider provider) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
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.
java.security.NoSuchAlgorithmException
- if the algorithm requested cannot be found
java.security.InvalidKeyException
- if the keys are inappropriate for the algorithm specifiedprotected org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier(java.lang.String encryptionOID, java.security.AlgorithmParameters params) throws java.io.IOException
java.io.IOException
protected java.security.AlgorithmParameters generateParameters(java.lang.String encryptionOID, javax.crypto.SecretKey encKey, java.security.Provider encProvider) throws CMSException
CMSException
|
Bouncy Castle Cryptography Library 1.44 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |