org.spongycastle.asn1.esf.SignaturePolicyIdentifier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scprov-jdk15on Show documentation
Show all versions of scprov-jdk15on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms.
This jar contains JCE provider for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.7.
package org.spongycastle.asn1.esf;
import org.spongycastle.asn1.ASN1Null;
import org.spongycastle.asn1.ASN1Object;
import org.spongycastle.asn1.ASN1Primitive;
import org.spongycastle.asn1.BERTags;
import org.spongycastle.asn1.DERNull;
public class SignaturePolicyIdentifier
extends ASN1Object
{
private SignaturePolicyId signaturePolicyId;
private boolean isSignaturePolicyImplied;
public static SignaturePolicyIdentifier getInstance(
Object obj)
{
if (obj instanceof SignaturePolicyIdentifier)
{
return (SignaturePolicyIdentifier)obj;
}
else if (obj instanceof ASN1Null || hasEncodedTagValue(obj, BERTags.NULL))
{
return new SignaturePolicyIdentifier();
}
else if (obj != null)
{
return new SignaturePolicyIdentifier(SignaturePolicyId.getInstance(obj));
}
return null;
}
public SignaturePolicyIdentifier()
{
this.isSignaturePolicyImplied = true;
}
public SignaturePolicyIdentifier(
SignaturePolicyId signaturePolicyId)
{
this.signaturePolicyId = signaturePolicyId;
this.isSignaturePolicyImplied = false;
}
public SignaturePolicyId getSignaturePolicyId()
{
return signaturePolicyId;
}
public boolean isSignaturePolicyImplied()
{
return isSignaturePolicyImplied;
}
/**
*
* SignaturePolicyIdentifier ::= CHOICE{
* SignaturePolicyId SignaturePolicyId,
* SignaturePolicyImplied SignaturePolicyImplied }
*
* SignaturePolicyImplied ::= NULL
*
*/
public ASN1Primitive toASN1Primitive()
{
if (isSignaturePolicyImplied)
{
return new DERNull();
}
else
{
return signaturePolicyId.toASN1Primitive();
}
}
}