
org.spongycastle.asn1.x509.AttCertIssuer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle
intended for the Android platform. Android unfortunately ships with a stripped-down version of
Bouncy Castle, which prevents easy upgrades - Spongy Castle overcomes this and provides a full,
up-to-date version of the Bouncy Castle cryptographic libs.
The newest version!
package org.spongycastle.asn1.x509;
import org.spongycastle.asn1.ASN1Choice;
import org.spongycastle.asn1.ASN1Encodable;
import org.spongycastle.asn1.ASN1Object;
import org.spongycastle.asn1.ASN1Primitive;
import org.spongycastle.asn1.ASN1Sequence;
import org.spongycastle.asn1.ASN1TaggedObject;
import org.spongycastle.asn1.DERTaggedObject;
public class AttCertIssuer
extends ASN1Object
implements ASN1Choice
{
ASN1Encodable obj;
ASN1Primitive choiceObj;
public static AttCertIssuer getInstance(
Object obj)
{
if (obj == null || obj instanceof AttCertIssuer)
{
return (AttCertIssuer)obj;
}
else if (obj instanceof V2Form)
{
return new AttCertIssuer(V2Form.getInstance(obj));
}
else if (obj instanceof GeneralNames)
{
return new AttCertIssuer((GeneralNames)obj);
}
else if (obj instanceof ASN1TaggedObject)
{
return new AttCertIssuer(V2Form.getInstance((ASN1TaggedObject)obj, false));
}
else if (obj instanceof ASN1Sequence)
{
return new AttCertIssuer(GeneralNames.getInstance(obj));
}
throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName());
}
public static AttCertIssuer getInstance(
ASN1TaggedObject obj,
boolean explicit)
{
return getInstance(obj.getObject()); // must be explicitly tagged
}
/**
* Don't use this one if you are trying to be RFC 3281 compliant.
* Use it for v1 attribute certificates only.
*
* @param names our GeneralNames structure
*/
public AttCertIssuer(
GeneralNames names)
{
obj = names;
choiceObj = obj.toASN1Primitive();
}
public AttCertIssuer(
V2Form v2Form)
{
obj = v2Form;
choiceObj = new DERTaggedObject(false, 0, obj);
}
public ASN1Encodable getIssuer()
{
return obj;
}
/**
* Produce an object suitable for an ASN1OutputStream.
*
* AttCertIssuer ::= CHOICE {
* v1Form GeneralNames, -- MUST NOT be used in this
* -- profile
* v2Form [0] V2Form -- v2 only
* }
*
*/
public ASN1Primitive toASN1Primitive()
{
return choiceObj;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy