org.spongycastle.asn1.cmp.GenMsgContent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scprov-jdk15 Show documentation
Show all versions of scprov-jdk15 Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle intended for Android.
Android ships with a stripped-down version of Bouncy Castle - this causes classloader collisions if you try to add
an alternative (updated/complete) Bouncy Castle jar.
This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5.
package org.spongycastle.asn1.cmp;
import org.spongycastle.asn1.ASN1Encodable;
import org.spongycastle.asn1.ASN1EncodableVector;
import org.spongycastle.asn1.ASN1Sequence;
import org.spongycastle.asn1.DERObject;
import org.spongycastle.asn1.DERSequence;
public class GenMsgContent
extends ASN1Encodable
{
private ASN1Sequence content;
private GenMsgContent(ASN1Sequence seq)
{
content = seq;
}
public static GenMsgContent getInstance(Object o)
{
if (o instanceof GenMsgContent)
{
return (GenMsgContent)o;
}
if (o instanceof ASN1Sequence)
{
return new GenMsgContent((ASN1Sequence)o);
}
throw new IllegalArgumentException("Invalid object: " + o.getClass().getName());
}
public GenMsgContent(InfoTypeAndValue itv)
{
content = new DERSequence(itv);
}
public GenMsgContent(InfoTypeAndValue[] itv)
{
ASN1EncodableVector v = new ASN1EncodableVector();
for (int i = 0; i < itv.length; i++)
{
v.add(itv[i]);
}
content = new DERSequence(v);
}
public InfoTypeAndValue[] toInfoTypeAndValueArray()
{
InfoTypeAndValue[] result = new InfoTypeAndValue[content.size()];
for (int i = 0; i != result.length; i++)
{
result[i] = InfoTypeAndValue.getInstance(content.getObjectAt(i));
}
return result;
}
/**
*
* GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
*
* @return a basic ASN.1 object representation.
*/
public DERObject toASN1Object()
{
return content;
}
}