Repository navigation
Add jCardsim test suite for all applets (official + THD-89) - #5
Open
3rdIteration wants to merge 1 commit into
Open
3rdIteration wants to merge 1 commit into
3rdIteration wants to merge 1 commit into
Conversation
Adds tests/: a jCardsim (JC 3.0.5) test suite covering the Satochip, Satodime and Seedkeeper applets in both the official and THD-89 builds, driven over APDUs including the full secure channel. 318 tests across 6 per-variant modules plus cross-applet pairing modules. Highlights: - Shared harness with a secure-channel client (ECDH handshake, ephemeral pubkey recovery, 0x82 wrap/unwrap) and RFC known-answer tests. - Per-applet suites: secure-channel negatives, setup/PIN/label/status, Satochip BIP32/signing/2FA/PKI/trusted-pubkey import, Satodime keyslot lifecycle + contactless unlock-code HMAC, Seedkeeper secrets/NFC policy/storage layer. - End-to-end Seedkeeper -> Satochip secure seed import (INS 0xA8 -> 0xAA + 0xAC), a regression for the THD-89 trusted_pubkey bug (issue #3). - Fix the sha256sums.txt artifact so it verifies (issue #2) and add a CI test job. The THD-89 trusted_pubkey fix lives in the applets/satochip-thd89 submodule (3rdIteration/SatochipApplet#3).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a jCardsim-based test suite that exercises the Satochip, Satodime and Seedkeeper applets in both the official and THD-89 builds, plus the cross-applet Seedkeeper -> Satochip secure import. 318 tests, all passing.
Also fixes the two open issues:
trusted_pubkeynever allocated). The one-line fix is in theapplets/satochip-thd89submodule: Fix THD-89 trusted_pubkey allocation (Seedkeeper secure import) SatochipApplet#3.What's included
tests/is a Gradle multi-project (wrapper included, JDK 8):testkit/common- jCardsimCardwrapper, a full secure-channel client (ECDH handshake, ephemeral-pubkey recovery from the self-signature, 0x82 wrap/unwrap), crypto/secp256k1 helpers, RFC known-answer tests.testkit/tests-*- per-applet suites shared by both forks:applet-<name>[-thd89]- one module per variant compiling the real applet sources;integration-pairing[-thd89]- Satochip + Seedkeeper on one simulated card.CI
.github/workflows/ant.ymlnow has atestjob (recursive checkout, JDK 8,./gradlew test, report upload) in addition to the existing Ant build job, which now generates and verifies the checksum manifest (issue #2).Notes
8693b23); merge the submodule PR without squashing (or update the pointer after merge) so the SHA stays reachable.ALG_EC_SVDP_DH_PLAIN_XY, CAP memory-fit, side channels). CAP files are still built and checksum-verified by the Ant job.