
org.spongycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters 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.cryptopro;
import org.spongycastle.asn1.ASN1EncodableVector;
import org.spongycastle.asn1.ASN1Object;
import org.spongycastle.asn1.ASN1ObjectIdentifier;
import org.spongycastle.asn1.ASN1Primitive;
import org.spongycastle.asn1.ASN1Sequence;
import org.spongycastle.asn1.ASN1TaggedObject;
import org.spongycastle.asn1.DERSequence;
public class GOST3410PublicKeyAlgParameters
extends ASN1Object
{
private ASN1ObjectIdentifier publicKeyParamSet;
private ASN1ObjectIdentifier digestParamSet;
private ASN1ObjectIdentifier encryptionParamSet;
public static GOST3410PublicKeyAlgParameters getInstance(
ASN1TaggedObject obj,
boolean explicit)
{
return getInstance(ASN1Sequence.getInstance(obj, explicit));
}
public static GOST3410PublicKeyAlgParameters getInstance(
Object obj)
{
if (obj instanceof GOST3410PublicKeyAlgParameters)
{
return (GOST3410PublicKeyAlgParameters)obj;
}
if(obj != null)
{
return new GOST3410PublicKeyAlgParameters(ASN1Sequence.getInstance(obj));
}
return null;
}
public GOST3410PublicKeyAlgParameters(
ASN1ObjectIdentifier publicKeyParamSet,
ASN1ObjectIdentifier digestParamSet)
{
this.publicKeyParamSet = publicKeyParamSet;
this.digestParamSet = digestParamSet;
this.encryptionParamSet = null;
}
public GOST3410PublicKeyAlgParameters(
ASN1ObjectIdentifier publicKeyParamSet,
ASN1ObjectIdentifier digestParamSet,
ASN1ObjectIdentifier encryptionParamSet)
{
this.publicKeyParamSet = publicKeyParamSet;
this.digestParamSet = digestParamSet;
this.encryptionParamSet = encryptionParamSet;
}
/**
* @deprecated use getInstance()
*/
public GOST3410PublicKeyAlgParameters(
ASN1Sequence seq)
{
this.publicKeyParamSet = (ASN1ObjectIdentifier)seq.getObjectAt(0);
this.digestParamSet = (ASN1ObjectIdentifier)seq.getObjectAt(1);
if (seq.size() > 2)
{
this.encryptionParamSet = (ASN1ObjectIdentifier)seq.getObjectAt(2);
}
}
public ASN1ObjectIdentifier getPublicKeyParamSet()
{
return publicKeyParamSet;
}
public ASN1ObjectIdentifier getDigestParamSet()
{
return digestParamSet;
}
public ASN1ObjectIdentifier getEncryptionParamSet()
{
return encryptionParamSet;
}
public ASN1Primitive toASN1Primitive()
{
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(publicKeyParamSet);
v.add(digestParamSet);
if (encryptionParamSet != null)
{
v.add(encryptionParamSet);
}
return new DERSequence(v);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy