blob: 124bca66d9303bff00c9f23088adea32a2a7615e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
package org.bouncycastle.asn1.cryptopro;
import java.util.Enumeration;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.ASN1OctetString;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.ASN1TaggedObject;
import org.bouncycastle.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();
}
/**
* <pre>
* Gost28147-89-Parameters ::=
* SEQUENCE {
* iv Gost28147-89-IV,
* encryptionParamSet OBJECT IDENTIFIER
* }
*
* Gost28147-89-IV ::= OCTET STRING (SIZE (8))
* </pre>
*/
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();
}
}
|