blob: 0b489db32ca05e4e2aa2500e8ac4618eb88aa8b4 [file] [log] [blame]
// See file LICENSE for more information.
library test.paddings.ecdsa_signer_test;
import 'package:pointycastle/pointycastle.dart';
import 'package:pointycastle/signers/ecdsa_signer.dart';
import '../test/signer_tests.dart';
import '../test/src/null_secure_random.dart';
void main() {
var eccDomain = ECDomainParameters('prime192v1');
// ignore_for_file: non_constant_identifier_names
var Qx = BigInt.parse(
'1498602238651628509310686451034731914387602356706565103527');
var Qy = BigInt.parse(
'6264116558863692852155702059476882343593676720209154057133');
var Q = eccDomain.curve.createPoint(Qx, Qy);
var verifyParams = () => PublicKeyParameter(ECPublicKey(Q, eccDomain));
var d = BigInt.parse(
'3062713166230336928689662410859599564103408831862304472446');
var privParams = PrivateKeyParameter(ECPrivateKey(d, eccDomain));
var signParams = () => ParametersWithRandom(privParams, NullSecureRandom());
runSignerTests(Signer('SHA-1/ECDSA'), signParams, verifyParams, [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit ........',
_newSignature('4165461920577864743570110591887661239883413257826890841803',
'4192466672819485121438972302615731758021595554374647962056'),
'En un lugar de La Mancha, de cuyo nombre no quiero acordarme ...',
_newSignature('4165461920577864743570110591887661239883413257826890841803',
'4124624969901653266585887193504647035526068719224431686679'),
]);
runSignerTests(Signer('SHA-1/DET-ECDSA'), signParams, verifyParams, [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit ........',
_newSignature('6052012072724008730564193612572794050491696411960275629627',
'2161019278549597185578307509265728228343111084484752661213'),
'En un lugar de La Mancha, de cuyo nombre no quiero acordarme ...',
_newSignature('4087581495017442027693712553398765118791696551913571321320',
'4593990646726045634082084213208629584972116888758459298644'),
]);
runSignerTests(
NormalizedECDSASigner(Signer('SHA-1/DET-ECDSA') as ECDSASigner),
signParams,
verifyParams, [
'Lorem ipsum dolor sit amet, consectetur adipiscing elit ........',
_newSignature('6052012072724008730564193612572794050491696411960275629627',
'2161019278549597185578307509265728228343111084484752661213'),
'En un lugar de La Mancha, de cuyo nombre no quiero acordarme ...',
_newSignature('4087581495017442027693712553398765118791696551913571321320',
'1683111088660635129753705209967429428795077884424382985437'),
]);
runSignerTestsFail(
NormalizedECDSASigner(Signer('SHA-1/DET-ECDSA') as ECDSASigner,
enforceNormalized: true),
signParams,
verifyParams,
[
'En un lugar de La Mancha, de cuyo nombre no quiero acordarme ...',
_newSignature(
'4087581495017442027693712553398765118791696551913571321320',
'4593990646726045634082084213208629584972116888758459298644'),
]);
}
ECSignature _newSignature(String r, String s) =>
ECSignature(BigInt.parse(r), BigInt.parse(s));