org.bouncycastle.asn1.esf.SignaturePolicyIdentifier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15 Show documentation
Show all versions of bcprov-jdk15 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5.
package org.bouncycastle.asn1.esf;
import org.bouncycastle.asn1.*;
public class SignaturePolicyIdentifier
extends ASN1Encodable
{
private SignaturePolicyId signaturePolicyId;
private boolean isSignaturePolicyImplied;
public static SignaturePolicyIdentifier getInstance(
Object obj)
{
if (obj == null || obj instanceof SignaturePolicyIdentifier)
{
return (SignaturePolicyIdentifier) obj;
}
else if (obj instanceof ASN1Sequence)
{
return new SignaturePolicyIdentifier(SignaturePolicyId.getInstance(obj));
}
else if (obj instanceof ASN1Null)
{
return new SignaturePolicyIdentifier();
}
throw new IllegalArgumentException(
"unknown object in 'SignaturePolicyIdentifier' factory: "
+ obj.getClass().getName() + ".");
}
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 DERObject toASN1Object()
{
if (isSignaturePolicyImplied)
{
return new DERNull();
}
else
{
return signaturePolicyId.getDERObject();
}
}
}