/extern/spongycastle/pkix/src/main/java/org/spongycastle/tsp/cms/CMSTimeStampedDataGenerator.java
https://gitlab.com/vizilo/fdroidclient · Java · 70 lines · 57 code · 13 blank · 0 comment · 6 complexity · daf673e7f023751f1c962b4b8e60e754 MD5 · raw file
- package org.spongycastle.tsp.cms;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import org.spongycastle.asn1.ASN1OctetString;
- import org.spongycastle.asn1.BEROctetString;
- import org.spongycastle.asn1.DERIA5String;
- import org.spongycastle.asn1.cms.CMSObjectIdentifiers;
- import org.spongycastle.asn1.cms.ContentInfo;
- import org.spongycastle.asn1.cms.Evidence;
- import org.spongycastle.asn1.cms.TimeStampAndCRL;
- import org.spongycastle.asn1.cms.TimeStampTokenEvidence;
- import org.spongycastle.asn1.cms.TimeStampedData;
- import org.spongycastle.cms.CMSException;
- import org.spongycastle.tsp.TimeStampToken;
- import org.spongycastle.util.io.Streams;
- public class CMSTimeStampedDataGenerator
- extends CMSTimeStampedGenerator
- {
- public CMSTimeStampedData generate(TimeStampToken timeStamp) throws CMSException
- {
- return generate(timeStamp, (InputStream)null);
- }
- public CMSTimeStampedData generate(TimeStampToken timeStamp, byte[] content) throws CMSException
- {
- return generate(timeStamp, new ByteArrayInputStream(content));
- }
- public CMSTimeStampedData generate(TimeStampToken timeStamp, InputStream content)
- throws CMSException
- {
- ByteArrayOutputStream contentOut = new ByteArrayOutputStream();
- if (content != null)
- {
- try
- {
- Streams.pipeAll(content, contentOut);
- }
- catch (IOException e)
- {
- throw new CMSException("exception encapsulating content: " + e.getMessage(), e);
- }
- }
- ASN1OctetString encContent = null;
- if (contentOut.size() != 0)
- {
- encContent = new BEROctetString(contentOut.toByteArray());
- }
- TimeStampAndCRL stamp = new TimeStampAndCRL(timeStamp.toCMSSignedData().toASN1Structure());
- DERIA5String asn1DataUri = null;
- if (dataUri != null)
- {
- asn1DataUri = new DERIA5String(dataUri.toString());
- }
-
- return new CMSTimeStampedData(new ContentInfo(CMSObjectIdentifiers.timestampedData, new TimeStampedData(asn1DataUri, metaData, encContent, new Evidence(new TimeStampTokenEvidence(stamp)))));
- }
- }