Skip to content

Commit 86f0d2b

Browse files
committed
Update rosstandart OIDs
- see #513
1 parent 4891925 commit 86f0d2b

File tree

2 files changed

+16
-33
lines changed

2 files changed

+16
-33
lines changed

crypto/src/asn1/cryptopro/ECGOST3410NamedCurves.cs

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -127,38 +127,6 @@ protected override X9ECParameters CreateParameters()
127127
}
128128
};
129129

130-
internal class Holder_gostR3410_2001_CryptoPro_XchB
131-
: X9ECParametersHolder
132-
{
133-
private Holder_gostR3410_2001_CryptoPro_XchB() {}
134-
135-
internal static readonly X9ECParametersHolder Instance = new Holder_gostR3410_2001_CryptoPro_XchB();
136-
137-
protected override ECCurve CreateCurve()
138-
{
139-
BigInteger mod_p = FromHex("9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D759B");
140-
BigInteger mod_q = FromHex("9B9F605F5A858107AB1EC85E6B41C8AA582CA3511EDDFB74F02F3A6598980BB9");
141-
142-
return ConfigureCurve(new FpCurve(
143-
mod_p,
144-
FromHex("9B9F605F5A858107AB1EC85E6B41C8AACF846E86789051D37998F7B9022D7598"),
145-
FromHex("805A"),
146-
mod_q, BigInteger.One, isInternal: true));
147-
}
148-
149-
protected override X9ECParameters CreateParameters()
150-
{
151-
byte[] S = null;
152-
ECCurve curve = Curve;
153-
154-
X9ECPoint G = ConfigureBasepoint(curve,
155-
BigInteger.Zero,
156-
FromHex("41ECE55743711A8C3CBF3783CD08C0EE4D4DC440D4641A8F366E550DFDB3BB67"));
157-
158-
return new X9ECParameters(curve, G, curve.Order, curve.Cofactor, S);
159-
}
160-
};
161-
162130
internal class Holder_id_tc26_gost_3410_12_256_paramSetA
163131
: X9ECParametersHolder
164132
{
@@ -317,10 +285,19 @@ static ECGost3410NamedCurves()
317285
Holder_gostR3410_2001_CryptoPro_A.Instance);
318286
DefineCurve("GostR3410-2001-CryptoPro-XchB",
319287
CryptoProObjectIdentifiers.GostR3410x2001CryptoProXchB,
320-
Holder_gostR3410_2001_CryptoPro_XchB.Instance);
288+
Holder_gostR3410_2001_CryptoPro_C.Instance);
321289
DefineCurve("Tc26-Gost-3410-12-256-paramSetA",
322290
RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetA,
323291
Holder_id_tc26_gost_3410_12_256_paramSetA.Instance);
292+
DefineCurve("Tc26-Gost-3410-12-256-paramSetB",
293+
RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetB,
294+
Holder_gostR3410_2001_CryptoPro_A.Instance);
295+
DefineCurve("Tc26-Gost-3410-12-256-paramSetC",
296+
RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetC,
297+
Holder_gostR3410_2001_CryptoPro_B.Instance);
298+
DefineCurve("Tc26-Gost-3410-12-256-paramSetD",
299+
RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256_paramSetD,
300+
Holder_gostR3410_2001_CryptoPro_C.Instance);
324301
DefineCurve("Tc26-Gost-3410-12-512-paramSetA",
325302
RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512_paramSetA,
326303
Holder_id_tc26_gost_3410_12_512_paramSetA.Instance);

crypto/src/asn1/rosstandart/RosstandartObjectIdentifiers.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ public abstract class RosstandartObjectIdentifiers
3535

3636
public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetA = id_tc26_gost_3410_12_256_paramSet.Branch("1");
3737

38+
public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetB = id_tc26_gost_3410_12_256_paramSet.Branch("2");
39+
40+
public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetC = id_tc26_gost_3410_12_256_paramSet.Branch("3");
41+
42+
public static readonly DerObjectIdentifier id_tc26_gost_3410_12_256_paramSetD = id_tc26_gost_3410_12_256_paramSet.Branch("4");
43+
3844
public static readonly DerObjectIdentifier id_tc26_gost_3410_12_512_paramSet = id_tc26.Branch("2.1.2");
3945

4046
public static readonly DerObjectIdentifier id_tc26_gost_3410_12_512_paramSetA = id_tc26_gost_3410_12_512_paramSet.Branch("1");

0 commit comments

Comments
 (0)