org.bouncycastle.tsp.cms.CMSTimeStampedGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bctsp-jdk16 Show documentation
Show all versions of bctsp-jdk16 Show documentation
The Bouncy Castle Java API for handling the Time Stamp Protocol (TSP). This jar contains the TSP API for JDK 1.6. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
The newest version!
package org.bouncycastle.tsp.cms;
import java.net.URI;
import org.bouncycastle.asn1.DERBoolean;
import org.bouncycastle.asn1.DERIA5String;
import org.bouncycastle.asn1.DERUTF8String;
import org.bouncycastle.asn1.cms.Attributes;
import org.bouncycastle.asn1.cms.MetaData;
import org.bouncycastle.cms.CMSException;
import org.bouncycastle.operator.DigestCalculator;
public class CMSTimeStampedGenerator
{
protected MetaData metaData;
protected URI dataUri;
/**
* Set the dataURI to be included in message.
*
* @param dataUri URI for the data the initial message imprint digest is based on.
*/
public void setDataUri(URI dataUri)
{
this.dataUri = dataUri;
}
/**
* Set the MetaData for the generated message.
*
* @param hashProtected true if the MetaData should be included in first imprint calculation, false otherwise.
* @param fileName optional file name, may be null.
* @param mediaType optional media type, may be null.
*/
public void setMetaData(boolean hashProtected, String fileName, String mediaType)
{
setMetaData(hashProtected, fileName, mediaType, null);
}
/**
* Set the MetaData for the generated message.
*
* @param hashProtected true if the MetaData should be included in first imprint calculation, false otherwise.
* @param fileName optional file name, may be null.
* @param mediaType optional media type, may be null.
* @param attributes optional attributes, may be null.
*/
public void setMetaData(boolean hashProtected, String fileName, String mediaType, Attributes attributes)
{
DERUTF8String asn1FileName = null;
if (fileName != null)
{
asn1FileName = new DERUTF8String(fileName);
}
DERIA5String asn1MediaType = null;
if (mediaType != null)
{
asn1MediaType = new DERIA5String(mediaType);
}
setMetaData(hashProtected, asn1FileName, asn1MediaType, attributes);
}
private void setMetaData(boolean hashProtected, DERUTF8String fileName, DERIA5String mediaType, Attributes attributes)
{
this.metaData = new MetaData(new DERBoolean(hashProtected), fileName, mediaType, attributes);
}
/**
* Initialise the passed in calculator with the MetaData for this message, if it is
* required as part of the initial message imprint calculation. After initialisation the
* calculator can then be used to calculate the initial message imprint digest for the first
* timestamp.
*
* @param calculator the digest calculator to be initialised.
* @throws CMSException if the MetaData is required and cannot be processed
*/
public void initialiseMessageImprintDigestCalculator(DigestCalculator calculator)
throws CMSException
{
MetaDataUtil util = new MetaDataUtil(metaData);
util.initialiseMessageImprintDigestCalculator(calculator);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy