|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectkz.gamma.cms.CMSContentInfoParser
kz.gamma.cms.CMSEnvelopedDataParser
public class CMSEnvelopedDataParser
Parsing class for an CMS Enveloped Data object from an input stream.
Note: that because we are in a streaming mode only one recipient can be tried and it is important that the methods on the parser are called in the appropriate order.
Example of use - assuming the first recipient matches the private key we have.
CMSEnvelopedDataParser ep = new CMSEnvelopedDataParser(inputStream);
RecipientInformationStore recipients = ep.getRecipientInfos();
Collection c = recipients.getRecipients();
Iterator it = c.iterator();
if (it.hasNext())
{
RecipientInformation recipient = (RecipientInformation)it.next();
CMSTypedStream recData = recipient.getContentStream(privateKey, GammaTechProvider.PROVIDER_NAME);
processDataStream(recData.getContentStream());
}
Note: this class does not introduce buffering - if you are processing large files you should create
the parser with:
CMSEnvelopedDataParser ep = new CMSEnvelopedDataParser(new BufferedInputStream(inputStream, bufSize));
where bufSize is a suitably large buffer size.
| Field Summary | |
|---|---|
private boolean |
_attrNotRead
|
private AlgorithmIdentifier |
_encAlg
|
(package private) EnvelopedDataParser |
_envelopedData
|
(package private) RecipientInformationStore |
_recipientInfoStore
|
private AttributeTable |
_unprotectedAttributes
|
| Fields inherited from class kz.gamma.cms.CMSContentInfoParser |
|---|
_contentInfo, _data |
| Constructor Summary | |
|---|---|
CMSEnvelopedDataParser(byte[] envelopedData)
|
|
CMSEnvelopedDataParser(java.io.InputStream envelopedData)
|
|
| Method Summary | |
|---|---|
private byte[] |
encodeObj(DEREncodable obj)
|
java.lang.String |
getEncryptionAlgOID()
return the object identifier for the content encryption algorithm. |
java.security.AlgorithmParameters |
getEncryptionAlgorithmParameters(java.lang.String provider)
Return an AlgorithmParameters object giving the encryption parameters used to encrypt the message content. |
byte[] |
getEncryptionAlgParams()
return the ASN.1 encoded encryption algorithm parameters, or null if there aren't any. |
RecipientInformationStore |
getRecipientInfos()
return a store of the intended recipients for this message |
AttributeTable |
getUnprotectedAttributes()
return a table of the unprotected attributes indexed by the OID of the attribute. |
| Methods inherited from class kz.gamma.cms.CMSContentInfoParser |
|---|
close |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
RecipientInformationStore _recipientInfoStore
EnvelopedDataParser _envelopedData
private AlgorithmIdentifier _encAlg
private AttributeTable _unprotectedAttributes
private boolean _attrNotRead
| Constructor Detail |
|---|
public CMSEnvelopedDataParser(byte[] envelopedData)
throws CMSException,
java.io.IOException
CMSException
java.io.IOException
public CMSEnvelopedDataParser(java.io.InputStream envelopedData)
throws CMSException,
java.io.IOException
CMSException
java.io.IOException| Method Detail |
|---|
public java.lang.String getEncryptionAlgOID()
public byte[] getEncryptionAlgParams()
public java.security.AlgorithmParameters getEncryptionAlgorithmParameters(java.lang.String provider)
throws CMSException,
java.security.NoSuchProviderException
provider - the provider to generate the parameters for.
CMSException - if the algorithm cannot be found, or the parameters can't be parsed.
java.security.NoSuchProviderException - if the provider cannot be found.public RecipientInformationStore getRecipientInfos()
public AttributeTable getUnprotectedAttributes()
throws java.io.IOException
java.io.IOException
private byte[] encodeObj(DEREncodable obj)
throws java.io.IOException
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||