aboutsummaryrefslogtreecommitdiff
path: root/reader/src
diff options
context:
space:
mode:
authorJ08nY2025-03-22 22:17:34 +0100
committerJ08nY2025-04-16 12:25:06 +0200
commitb921927b8747ac8b66d3ccff22446b148c891f01 (patch)
tree08081e94fcf0d14ea20463fc5cee42a8d3763087 /reader/src
parent2e0a31a16740cf05e1bec5b609e29a3c31ecbc83 (diff)
downloadECTester-b921927b8747ac8b66d3ccff22446b148c891f01.tar.gz
ECTester-b921927b8747ac8b66d3ccff22446b148c891f01.tar.zst
ECTester-b921927b8747ac8b66d3ccff22446b148c891f01.zip
Diffstat (limited to 'reader/src')
-rw-r--r--reader/src/main/java/cz/crcs/ectester/reader/ECTesterReader.java2
-rw-r--r--reader/src/test/java/cz/crcs/ectester/reader/AppTests.java71
-rw-r--r--reader/src/test/java/cz/crcs/ectester/reader/OutputTests.java9
3 files changed, 62 insertions, 20 deletions
diff --git a/reader/src/main/java/cz/crcs/ectester/reader/ECTesterReader.java b/reader/src/main/java/cz/crcs/ectester/reader/ECTesterReader.java
index bb11484..6a52dc5 100644
--- a/reader/src/main/java/cz/crcs/ectester/reader/ECTesterReader.java
+++ b/reader/src/main/java/cz/crcs/ectester/reader/ECTesterReader.java
@@ -655,7 +655,7 @@ public class ECTesterReader {
Response.Export exportLocal = new Command.Export(cardManager, CardConsts.KEYPAIR_LOCAL, EC_Consts.KEY_PRIVATE, EC_Consts.PARAMETER_S).send();
respWriter.outputResponse(exportLocal);
privkey_bytes = exportLocal.getParameter(CardConsts.KEYPAIR_LOCAL, EC_Consts.PARAMETER_S);
- pubkey_bytes = ECUtil.toX962Uncompressed(keypair.getParam(EC_Consts.PARAMETER_W));
+ pubkey_bytes = keypair.flatten(EC_Consts.PARAMETER_W);
perform = new Command.ECDH_direct(cardManager, CardConsts.KEYPAIR_LOCAL, CardConsts.EXPORT_TRUE, EC_Consts.TRANSFORMATION_NONE, cfg.ECKAType, pubkey_bytes);
} else {
diff --git a/reader/src/test/java/cz/crcs/ectester/reader/AppTests.java b/reader/src/test/java/cz/crcs/ectester/reader/AppTests.java
index 173f7e2..17f43da 100644
--- a/reader/src/test/java/cz/crcs/ectester/reader/AppTests.java
+++ b/reader/src/test/java/cz/crcs/ectester/reader/AppTests.java
@@ -36,81 +36,98 @@ public class AppTests {
assertTrue(s.contains("secg"));
}
- // Add StdIo to all the suite tests when this is resolved: https://github.com/junit-pioneer/junit-pioneer/issues/822
-
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void defaultSuite() {
+ @StdIo()
+ public void defaultSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "default", "-s"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
+ @StdIo()
+ public void defaultSuitePart(StdOut out) {
+ assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "default:3:5", "-s"}));
+ }
+
+ @Test
+ @XFail(value = "JCardSim sometimes times-out.")
@Disabled
- public void testVectorSuite() {
+ @StdIo()
+ public void testVectorSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "test-vectors", "-s"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void compressionSuite() {
+ @StdIo()
+ public void compressionSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "compression", "-s"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
@Disabled
- public void wrongSuite() {
+ @StdIo()
+ public void wrongSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "wrong", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void degenerateSuite() {
+ @StdIo()
+ public void degenerateSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "degenerate", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
@Disabled
- public void cofactorSuite() {
+ @StdIo()
+ public void cofactorSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "cofactor", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
@Disabled
- public void compositeSuite() {
+ @StdIo()
+ public void compositeSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "composite", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void invalidSuite() {
+ @StdIo()
+ public void invalidSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "invalid", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void edgeCasesSuite() {
+ @StdIo()
+ public void edgeCasesSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "edge-cases", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void signatureSuite() {
+ @StdIo()
+ public void signatureSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "signature", "-s"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void twistSuite() {
+ @StdIo()
+ public void twistSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "twist", "-s", "-y"}));
}
@Test
@XFail(value = "JCardSim sometimes times-out.")
- public void miscellaneousSuite() {
+ @StdIo()
+ public void miscellaneousSuite(StdOut out) {
assertTimeoutPreemptively(Duration.ofSeconds(60), () -> ECTesterReader.main(new String[]{"-t", "miscellaneous", "-s", "-y"}));
}
@@ -120,22 +137,40 @@ public class AppTests {
}
@Test
- public void ecdh() {
+ @StdIo()
+ public void ecdh(StdOut out) {
ECTesterReader.main(new String[]{"-dh", "-fp", "-b", "256", "-s"});
+ String s = out.capturedString();
+ assertTrue(s.contains("OK"));
+ assertTrue(s.contains("ALG_EC_SVDP_DH of remote pubkey and local privkey"));
+ }
+
+ @Test
+ @StdIo()
+ public void ecdh_external(StdOut out) {
+ ECTesterReader.main(new String[]{"-dh", "-fp", "--external", "--named-curve", "secg/secp256r1", "--named-public", "invalid/secp256r1/0", "-b", "256", "-s"});
+ String s = out.capturedString();
+ assertTrue(s.contains("OK"));
+ assertTrue(s.contains("ALG_EC_SVDP_DH of external pubkey and local privkey"));
}
@Test
- public void ecdsa() {
+ @StdIo()
+ public void ecdsa(StdOut out) {
ECTesterReader.main(new String[]{"-dsa", "-fp", "-b", "256", "-s"});
+ String s = out.capturedString();
+ System.err.println(s);
}
@Test
- public void export() {
+ @StdIo()
+ public void export(StdOut out) {
ECTesterReader.main(new String[]{"-e", "-fp", "-b", "256", "-s", "-o", "/dev/null"});
}
@Test
- public void info() {
+ @StdIo()
+ public void info(StdOut out) {
ECTesterReader.main(new String[]{"-nf", "-s"});
}
}
diff --git a/reader/src/test/java/cz/crcs/ectester/reader/OutputTests.java b/reader/src/test/java/cz/crcs/ectester/reader/OutputTests.java
index 5300e98..5d7ba95 100644
--- a/reader/src/test/java/cz/crcs/ectester/reader/OutputTests.java
+++ b/reader/src/test/java/cz/crcs/ectester/reader/OutputTests.java
@@ -1,13 +1,20 @@
package cz.crcs.ectester.reader;
+import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
+import java.nio.file.Path;
+
public class OutputTests {
+ @TempDir
+ static Path tempDir;
+
@ParameterizedTest
@ValueSource(strings = {"text", "xml", "yml"})
public void formats(String format) {
- ECTesterReader.main(new String[]{"-t", "default", "-s", "-o", String.format("%s:out.%s", format, format),});
+ Path outputFile = tempDir.resolve(String.format("out.%s", format));
+ ECTesterReader.main(new String[]{"-t", "default", "-s", "-o", String.format("%s:%s", format, outputFile),});
}
}