diff options
Diffstat (limited to 'pkix/src/main/jdk1.1/org/spongycastle/cms/OriginatorInfoGenerator.java')
-rw-r--r-- | pkix/src/main/jdk1.1/org/spongycastle/cms/OriginatorInfoGenerator.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkix/src/main/jdk1.1/org/spongycastle/cms/OriginatorInfoGenerator.java b/pkix/src/main/jdk1.1/org/spongycastle/cms/OriginatorInfoGenerator.java new file mode 100644 index 00000000..b6cfdd0b --- /dev/null +++ b/pkix/src/main/jdk1.1/org/spongycastle/cms/OriginatorInfoGenerator.java @@ -0,0 +1,54 @@ +package org.spongycastle.cms; + +import java.util.ArrayList; +import java.util.List; + +import org.spongycastle.asn1.cms.OriginatorInfo; +import org.spongycastle.cert.X509CertificateHolder; +import org.spongycastle.util.Store; + +public class OriginatorInfoGenerator +{ + private List origCerts; + private List origCRLs; + + public OriginatorInfoGenerator(X509CertificateHolder origCert) + { + this.origCerts = new ArrayList(1); + this.origCRLs = null; + origCerts.add(origCert.toASN1Structure()); + } + + public OriginatorInfoGenerator(Store origCerts) + throws CMSException + { + this(origCerts, null); + } + + public OriginatorInfoGenerator(Store origCerts, Store origCRLs) + throws CMSException + { + this.origCerts = CMSUtils.getCertificatesFromStore(origCerts); + + if (origCRLs != null) + { + this.origCRLs = CMSUtils.getCRLsFromStore(origCRLs); + } + else + { + this.origCRLs = null; + } + } + + public OriginatorInformation generate() + { + if (origCRLs != null) + { + return new OriginatorInformation(new OriginatorInfo(CMSUtils.createDerSetFromList(origCerts), CMSUtils.createDerSetFromList(origCRLs))); + } + else + { + return new OriginatorInformation(new OriginatorInfo(CMSUtils.createDerSetFromList(origCerts), null)); + } + } +} |