diff options
| author | J08nY | 2025-01-30 16:00:21 +0100 |
|---|---|---|
| committer | J08nY | 2025-01-30 16:00:21 +0100 |
| commit | 08623da26afae75aeeb66a13fd36c173ddcd40ce (patch) | |
| tree | c2cae1c21f109300300dce3e2068795078fd62fa /reader/src | |
| parent | 79a611acbc2f22023ebe2ee25372de3ef40c3dbc (diff) | |
| download | ECTester-08623da26afae75aeeb66a13fd36c173ddcd40ce.tar.gz ECTester-08623da26afae75aeeb66a13fd36c173ddcd40ce.tar.zst ECTester-08623da26afae75aeeb66a13fd36c173ddcd40ce.zip | |
Diffstat (limited to 'reader/src')
| -rw-r--r-- | reader/src/main/java/cz/crcs/ectester/reader/command/Command.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/reader/src/main/java/cz/crcs/ectester/reader/command/Command.java b/reader/src/main/java/cz/crcs/ectester/reader/command/Command.java index 451dda0..71ba599 100644 --- a/reader/src/main/java/cz/crcs/ectester/reader/command/Command.java +++ b/reader/src/main/java/cz/crcs/ectester/reader/command/Command.java @@ -373,13 +373,18 @@ public abstract class Command implements Cloneable { System.arraycopy(external, 0, data, 2, external.length); if ((params & EC_Consts.PARAMETER_FP) != 0) { EC_Params par = new EC_Params(params); - par.readBytes(external); + boolean read = par.inflate(external); + if (!read) { + throw new IllegalArgumentException("External curve data does not match parameters."); + } byte[][] prime = par.getParam(EC_Consts.PARAMETER_FP); byte[] p = prime[0]; int bytes = p.length; if ((params & EC_Consts.PARAMETER_G) != 0) { byte[][] generator = par.getParam(EC_Consts.PARAMETER_G); if (generator[0].length != bytes || generator[1].length != bytes) { + System.err.println("Generator x length: " + generator[0].length + " vs " + bytes); + System.err.println("Generator y length: " + generator[1].length + " vs " + bytes); throw new IllegalArgumentException("Generator point does not match prime field size."); } } |
