
org.spongycastle.asn1.cryptopro.GOST28147Parameters 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.
package org.spongycastle.asn1.cryptopro;
import java.util.Enumeration;
import org.spongycastle.asn1.ASN1EncodableVector;
import org.spongycastle.asn1.ASN1Object;
import org.spongycastle.asn1.ASN1ObjectIdentifier;
import org.spongycastle.asn1.ASN1OctetString;
import org.spongycastle.asn1.ASN1Primitive;
import org.spongycastle.asn1.ASN1Sequence;
import org.spongycastle.asn1.ASN1TaggedObject;
import org.spongycastle.asn1.DERSequence;
/**
* ASN.1 algorithm identifier parameters for GOST-28147
*/
public class GOST28147Parameters
extends ASN1Object
{
private ASN1OctetString iv;
private ASN1ObjectIdentifier paramSet;
public static GOST28147Parameters getInstance(
ASN1TaggedObject obj,
boolean explicit)
{
return getInstance(ASN1Sequence.getInstance(obj, explicit));
}
public static GOST28147Parameters getInstance(
Object obj)
{
if (obj instanceof GOST28147Parameters)
{
return (GOST28147Parameters)obj;
}
if (obj != null)
{
return new GOST28147Parameters(ASN1Sequence.getInstance(obj));
}
return null;
}
/**
* @deprecated use the getInstance() method. This constructor will vanish!
*/
public GOST28147Parameters(
ASN1Sequence seq)
{
Enumeration e = seq.getObjects();
iv = (ASN1OctetString)e.nextElement();
paramSet = (ASN1ObjectIdentifier)e.nextElement();
}
/**
*
* Gost28147-89-Parameters ::=
* SEQUENCE {
* iv Gost28147-89-IV,
* encryptionParamSet OBJECT IDENTIFIER
* }
*
* Gost28147-89-IV ::= OCTET STRING (SIZE (8))
*
*/
public ASN1Primitive toASN1Primitive()
{
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(iv);
v.add(paramSet);
return new DERSequence(v);
}
/**
* Return the OID representing the sBox to use.
*
* @return the sBox OID.
*/
public ASN1ObjectIdentifier getEncryptionParamSet()
{
return paramSet;
}
/**
* Return the initialisation vector to use.
*
* @return the IV.
*/
public byte[] getIV()
{
return iv.getOctets();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy