Skip to content

Commit b2f9397

Browse files
committed
Sketch out test changes for ECGOST3410-2012
1 parent de8e5c6 commit b2f9397

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed

crypto/test/src/test/NamedCurveTest.cs

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -240,18 +240,39 @@ public void doTestECDsa(
240240
// }
241241
}
242242

243-
public void doTestECGost(
244-
string name)
243+
public void doTestECGost(string name)
245244
{
246-
// ECGenParameterSpec ecSpec = new ECGenParameterSpec(name);
247-
ECDomainParameters ecSpec = GetCurveParameters(name);
245+
ISigner sgr;
246+
string keyAlgorithm;
247+
248+
if (name.IndexOf("Tc26-Gost-3410") == 0)
249+
{
250+
// TODO Implement ECGOST3410-2012 in SignerUtilies/GeneratorUtilities etc.
251+
// Current test cases don't work for GOST34.10 2012
252+
return;
253+
254+
keyAlgorithm = "ECGOST3410-2012";
255+
if (name.IndexOf("256") > 0)
256+
{
257+
sgr = SignerUtilities.GetSigner("ECGOST3410-2012-256");
258+
}
259+
else
260+
{
261+
sgr = SignerUtilities.GetSigner("ECGOST3410-2012-512");
262+
}
263+
}
264+
else
265+
{
266+
keyAlgorithm = "ECGOST3410";
248267

249-
IAsymmetricCipherKeyPairGenerator g = GeneratorUtilities.GetKeyPairGenerator("ECGOST3410");
268+
sgr = SignerUtilities.GetSigner("ECGOST3410");
269+
}
250270

251-
// g.initialize(ecSpec, new SecureRandom());
271+
ECDomainParameters ecSpec = GetCurveParameters(name);
272+
273+
IAsymmetricCipherKeyPairGenerator g = GeneratorUtilities.GetKeyPairGenerator(keyAlgorithm);
252274
g.Init(new ECKeyGenerationParameters(ecSpec, new SecureRandom()));
253275

254-
ISigner sgr = SignerUtilities.GetSigner("ECGOST3410");
255276
AsymmetricCipherKeyPair pair = g.GenerateKeyPair();
256277
AsymmetricKeyParameter sKey = pair.Private;
257278
AsymmetricKeyParameter vKey = pair.Public;
@@ -280,7 +301,7 @@ public void doTestECGost(
280301
//// byte[] pubEnc = vKey.getEncoded();
281302
// byte[] pubEnc = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(vKey).GetDerEncoded();
282303
//
283-
//// KeyFactory keyFac = KeyFactory.getInstance("ECGOST3410");
304+
//// KeyFactory keyFac = KeyFactory.getInstance(keyAlgorithm);
284305
//// X509EncodedKeySpec pubX509 = new X509EncodedKeySpec(pubEnc);
285306
//// ECPublicKey pubKey = (ECPublicKey)keyFac.generatePublic(pubX509);
286307
// ECPublicKeyParameters pubKey = (ECPublicKeyParameters) PublicKeyFactory.CreateKey(pubEnc);
@@ -369,10 +390,6 @@ public override void PerformTest()
369390

370391
foreach (string name in ECGost3410NamedCurves.Names)
371392
{
372-
// Current test cases don't work for GOST34.10 2012
373-
if (name.IndexOf("3410-12") >= 0)
374-
continue;
375-
376393
doTestECGost(name);
377394
}
378395
}

0 commit comments

Comments
 (0)