Skip to content

Commit 3b77ea5

Browse files
committed
move of ASN.1 edec, misc, nsri, and rosstandart to util package
1 parent e05e4b7 commit 3b77ea5

File tree

104 files changed

+821
-130
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+821
-130
lines changed

core/src/main/java/org/bouncycastle/asn1/cryptopro/ECGOST3410NamedCurves.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
import java.util.Hashtable;
66

77
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
8-
import org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers;
98
import org.bouncycastle.asn1.x9.X9ECParameters;
109
import org.bouncycastle.asn1.x9.X9ECParametersHolder;
1110
import org.bouncycastle.asn1.x9.X9ECPoint;
11+
import org.bouncycastle.internal.asn1.rosstandart.RosstandartObjectIdentifiers;
1212
import org.bouncycastle.math.ec.ECConstants;
1313
import org.bouncycastle.math.ec.ECCurve;
1414
import org.bouncycastle.math.ec.ECPoint;

core/src/main/java/org/bouncycastle/crypto/util/AlgorithmIdentifierFactory.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
66
import org.bouncycastle.asn1.DERNull;
77
import org.bouncycastle.asn1.DEROctetString;
8-
import org.bouncycastle.asn1.misc.CAST5CBCParameters;
98
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
109
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
1110
import org.bouncycastle.asn1.pkcs.RC2CBCParameter;
1211
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
1312
import org.bouncycastle.internal.asn1.cms.CCMParameters;
1413
import org.bouncycastle.internal.asn1.cms.GCMParameters;
1514
import org.bouncycastle.internal.asn1.kisa.KISAObjectIdentifiers;
15+
import org.bouncycastle.internal.asn1.misc.CAST5CBCParameters;
1616
import org.bouncycastle.internal.asn1.ntt.NTTObjectIdentifiers;
1717
import org.bouncycastle.internal.asn1.oiw.OIWObjectIdentifiers;
1818

core/src/main/java/org/bouncycastle/crypto/util/CipherFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
77
import org.bouncycastle.asn1.ASN1OctetString;
88
import org.bouncycastle.asn1.ASN1Primitive;
9-
import org.bouncycastle.asn1.misc.CAST5CBCParameters;
10-
import org.bouncycastle.asn1.misc.MiscObjectIdentifiers;
119
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
1210
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
1311
import org.bouncycastle.asn1.pkcs.RC2CBCParameter;
@@ -36,6 +34,8 @@
3634
import org.bouncycastle.internal.asn1.cms.CCMParameters;
3735
import org.bouncycastle.internal.asn1.cms.GCMParameters;
3836
import org.bouncycastle.internal.asn1.kisa.KISAObjectIdentifiers;
37+
import org.bouncycastle.internal.asn1.misc.CAST5CBCParameters;
38+
import org.bouncycastle.internal.asn1.misc.MiscObjectIdentifiers;
3939
import org.bouncycastle.internal.asn1.ntt.NTTObjectIdentifiers;
4040
import org.bouncycastle.internal.asn1.oiw.OIWObjectIdentifiers;
4141

core/src/main/java/org/bouncycastle/crypto/util/PBKDF2Config.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import org.bouncycastle.asn1.gm.GMObjectIdentifiers;
1010
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
1111
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
12-
import org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers;
1312
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
13+
import org.bouncycastle.internal.asn1.rosstandart.RosstandartObjectIdentifiers;
1414
import org.bouncycastle.util.Integers;
1515

1616
/**

core/src/main/java/org/bouncycastle/crypto/util/PrivateKeyFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
1515
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves;
1616
import org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters;
17-
import org.bouncycastle.asn1.edec.EdECObjectIdentifiers;
1817
import org.bouncycastle.asn1.pkcs.DHParameter;
1918
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
2019
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
2120
import org.bouncycastle.asn1.pkcs.RSAPrivateKey;
22-
import org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers;
2321
import org.bouncycastle.asn1.sec.ECPrivateKey;
2422
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
2523
import org.bouncycastle.asn1.x509.DSAParameter;
@@ -45,8 +43,10 @@
4543
import org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters;
4644
import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
4745
import org.bouncycastle.crypto.params.X448PrivateKeyParameters;
46+
import org.bouncycastle.internal.asn1.edec.EdECObjectIdentifiers;
4847
import org.bouncycastle.internal.asn1.oiw.ElGamalParameter;
4948
import org.bouncycastle.internal.asn1.oiw.OIWObjectIdentifiers;
49+
import org.bouncycastle.internal.asn1.rosstandart.RosstandartObjectIdentifiers;
5050
import org.bouncycastle.util.Arrays;
5151

5252
/**

core/src/main/java/org/bouncycastle/crypto/util/PrivateKeyInfoFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@
1414
import org.bouncycastle.asn1.DEROctetString;
1515
import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
1616
import org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters;
17-
import org.bouncycastle.asn1.edec.EdECObjectIdentifiers;
1817
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
1918
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
2019
import org.bouncycastle.asn1.pkcs.RSAPrivateKey;
21-
import org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers;
2220
import org.bouncycastle.asn1.sec.ECPrivateKey;
2321
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
2422
import org.bouncycastle.asn1.x509.DSAParameter;
@@ -39,6 +37,8 @@
3937
import org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters;
4038
import org.bouncycastle.crypto.params.X25519PrivateKeyParameters;
4139
import org.bouncycastle.crypto.params.X448PrivateKeyParameters;
40+
import org.bouncycastle.internal.asn1.edec.EdECObjectIdentifiers;
41+
import org.bouncycastle.internal.asn1.rosstandart.RosstandartObjectIdentifiers;
4242
import org.bouncycastle.math.ec.ECPoint;
4343
import org.bouncycastle.math.ec.FixedPointCombMultiplier;
4444

core/src/main/java/org/bouncycastle/crypto/util/PublicKeyFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@
1717
import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
1818
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves;
1919
import org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters;
20-
import org.bouncycastle.asn1.edec.EdECObjectIdentifiers;
2120
import org.bouncycastle.asn1.pkcs.DHParameter;
2221
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
2322
import org.bouncycastle.asn1.pkcs.RSAPublicKey;
24-
import org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers;
2523
import org.bouncycastle.asn1.ua.DSTU4145BinaryField;
2624
import org.bouncycastle.asn1.ua.DSTU4145ECBinary;
2725
import org.bouncycastle.asn1.ua.DSTU4145NamedCurves;
@@ -59,8 +57,10 @@
5957
import org.bouncycastle.crypto.params.RSAKeyParameters;
6058
import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
6159
import org.bouncycastle.crypto.params.X448PublicKeyParameters;
60+
import org.bouncycastle.internal.asn1.edec.EdECObjectIdentifiers;
6261
import org.bouncycastle.internal.asn1.oiw.ElGamalParameter;
6362
import org.bouncycastle.internal.asn1.oiw.OIWObjectIdentifiers;
63+
import org.bouncycastle.internal.asn1.rosstandart.RosstandartObjectIdentifiers;
6464
import org.bouncycastle.math.ec.ECCurve;
6565
import org.bouncycastle.math.ec.ECPoint;
6666
import org.bouncycastle.util.Arrays;

core/src/main/java/org/bouncycastle/crypto/util/ScryptConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.bouncycastle.crypto.util;
22

3-
import org.bouncycastle.asn1.misc.MiscObjectIdentifiers;
3+
import org.bouncycastle.internal.asn1.misc.MiscObjectIdentifiers;
44

55
/**
66
* Configuration class for a PBKDF based around scrypt.

core/src/main/java/org/bouncycastle/crypto/util/SubjectPublicKeyInfoFactory.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,12 @@
88
import org.bouncycastle.asn1.ASN1Encodable;
99
import org.bouncycastle.asn1.ASN1Integer;
1010
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
11-
import org.bouncycastle.asn1.ASN1OctetString;
1211
import org.bouncycastle.asn1.DERNull;
1312
import org.bouncycastle.asn1.DEROctetString;
1413
import org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers;
1514
import org.bouncycastle.asn1.cryptopro.GOST3410PublicKeyAlgParameters;
16-
import org.bouncycastle.asn1.edec.EdECObjectIdentifiers;
1715
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
1816
import org.bouncycastle.asn1.pkcs.RSAPublicKey;
19-
import org.bouncycastle.asn1.rosstandart.RosstandartObjectIdentifiers;
2017
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
2118
import org.bouncycastle.asn1.x509.DSAParameter;
2219
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
@@ -36,6 +33,8 @@
3633
import org.bouncycastle.crypto.params.RSAKeyParameters;
3734
import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
3835
import org.bouncycastle.crypto.params.X448PublicKeyParameters;
36+
import org.bouncycastle.internal.asn1.edec.EdECObjectIdentifiers;
37+
import org.bouncycastle.internal.asn1.rosstandart.RosstandartObjectIdentifiers;
3938

4039
/**
4140
* Factory to create ASN.1 subject public key info objects from lightweight public keys.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.bouncycastle.internal.asn1.edec;
2+
3+
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
4+
5+
/**
6+
* Edwards Elliptic Curve Object Identifiers (RFC 8410)
7+
*/
8+
public interface EdECObjectIdentifiers
9+
{
10+
ASN1ObjectIdentifier id_edwards_curve_algs = new ASN1ObjectIdentifier("1.3.101");
11+
12+
ASN1ObjectIdentifier id_X25519 = id_edwards_curve_algs.branch("110").intern();
13+
ASN1ObjectIdentifier id_X448 = id_edwards_curve_algs.branch("111").intern();
14+
ASN1ObjectIdentifier id_Ed25519 = id_edwards_curve_algs.branch("112").intern();
15+
ASN1ObjectIdentifier id_Ed448 = id_edwards_curve_algs.branch("113").intern();
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package org.bouncycastle.internal.asn1.misc;
2+
3+
import org.bouncycastle.asn1.ASN1EncodableVector;
4+
import org.bouncycastle.asn1.ASN1Integer;
5+
import org.bouncycastle.asn1.ASN1Object;
6+
import org.bouncycastle.asn1.ASN1OctetString;
7+
import org.bouncycastle.asn1.ASN1Primitive;
8+
import org.bouncycastle.asn1.ASN1Sequence;
9+
import org.bouncycastle.asn1.DEROctetString;
10+
import org.bouncycastle.asn1.DERSequence;
11+
import org.bouncycastle.util.Arrays;
12+
13+
public class CAST5CBCParameters
14+
extends ASN1Object
15+
{
16+
ASN1Integer keyLength;
17+
ASN1OctetString iv;
18+
19+
public static CAST5CBCParameters getInstance(
20+
Object o)
21+
{
22+
if (o instanceof CAST5CBCParameters)
23+
{
24+
return (CAST5CBCParameters)o;
25+
}
26+
else if (o != null)
27+
{
28+
return new CAST5CBCParameters(ASN1Sequence.getInstance(o));
29+
}
30+
31+
return null;
32+
}
33+
34+
public CAST5CBCParameters(
35+
byte[] iv,
36+
int keyLength)
37+
{
38+
this.iv = new DEROctetString(Arrays.clone(iv));
39+
this.keyLength = new ASN1Integer(keyLength);
40+
}
41+
42+
private CAST5CBCParameters(
43+
ASN1Sequence seq)
44+
{
45+
iv = (ASN1OctetString)seq.getObjectAt(0);
46+
keyLength = (ASN1Integer)seq.getObjectAt(1);
47+
}
48+
49+
public byte[] getIV()
50+
{
51+
return Arrays.clone(iv.getOctets());
52+
}
53+
54+
public int getKeyLength()
55+
{
56+
return keyLength.intValueExact();
57+
}
58+
59+
/**
60+
* Produce an object suitable for an ASN1OutputStream.
61+
* <pre>
62+
* cast5CBCParameters ::= SEQUENCE {
63+
* iv OCTET STRING DEFAULT 0,
64+
* -- Initialization vector
65+
* keyLength INTEGER
66+
* -- Key length, in bits
67+
* }
68+
* </pre>
69+
*/
70+
public ASN1Primitive toASN1Primitive()
71+
{
72+
ASN1EncodableVector v = new ASN1EncodableVector(2);
73+
74+
v.add(iv);
75+
v.add(keyLength);
76+
77+
return new DERSequence(v);
78+
}
79+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package org.bouncycastle.internal.asn1.misc;
2+
3+
import org.bouncycastle.asn1.ASN1EncodableVector;
4+
import org.bouncycastle.asn1.ASN1Object;
5+
import org.bouncycastle.asn1.ASN1OctetString;
6+
import org.bouncycastle.asn1.ASN1Primitive;
7+
import org.bouncycastle.asn1.ASN1Sequence;
8+
import org.bouncycastle.asn1.DEROctetString;
9+
import org.bouncycastle.asn1.DERSequence;
10+
import org.bouncycastle.util.Arrays;
11+
12+
public class IDEACBCPar
13+
extends ASN1Object
14+
{
15+
ASN1OctetString iv;
16+
17+
public static IDEACBCPar getInstance(
18+
Object o)
19+
{
20+
if (o instanceof IDEACBCPar)
21+
{
22+
return (IDEACBCPar)o;
23+
}
24+
else if (o != null)
25+
{
26+
return new IDEACBCPar(ASN1Sequence.getInstance(o));
27+
}
28+
29+
return null;
30+
}
31+
32+
public IDEACBCPar(
33+
byte[] iv)
34+
{
35+
this.iv = new DEROctetString(Arrays.clone(iv));
36+
}
37+
38+
private IDEACBCPar(
39+
ASN1Sequence seq)
40+
{
41+
if (seq.size() == 1)
42+
{
43+
iv = (ASN1OctetString)seq.getObjectAt(0);
44+
}
45+
else
46+
{
47+
iv = null;
48+
}
49+
}
50+
51+
public byte[] getIV()
52+
{
53+
if (iv != null)
54+
{
55+
return Arrays.clone(iv.getOctets());
56+
}
57+
else
58+
{
59+
return null;
60+
}
61+
}
62+
63+
/**
64+
* Produce an object suitable for an ASN1OutputStream.
65+
* <pre>
66+
* IDEA-CBCPar ::= SEQUENCE {
67+
* iv OCTET STRING OPTIONAL -- exactly 8 octets
68+
* }
69+
* </pre>
70+
*/
71+
public ASN1Primitive toASN1Primitive()
72+
{
73+
ASN1EncodableVector v = new ASN1EncodableVector(1);
74+
75+
if (iv != null)
76+
{
77+
v.add(iv);
78+
}
79+
80+
return new DERSequence(v);
81+
}
82+
}

0 commit comments

Comments
 (0)