if you have a blank JavaCard 3.0.5 card (readily available for purchase on the web) you can build your own Keycard. This is especially useful for developers who want to contribute to the project and/or experiment with it.
Please note that cards built this way will miss the certificate that is present on cards we distribute. This doesn't affect functionality in any way but will cause a warning to appear when using the card with Shell or another Keycard compatible wallet for the first time. Since you built the card yourself you can safely dismiss this warning.
compiling and installing from source is probably the best way to proceed, since this will also leave you with a working development environment for all your experiments.
git clone --recurse-submodules https://github.com/keycard-tech/status-keycardcd status-keycard./gradlew installThis assume that the smartcard you are using uses the default GlobalPlatform keys (true for most cards sold online) or the Keycard development keys (if you bought a dev card from us). In case you already played with the card and changed the ISD keys yourself, follow the below step.
./gradlew convertJavacardkeycard.cap file in the build directory.A00000080400010101After following the installation steps above your card will still be open to changes. This is very useful during development because you can repeat the installation steps as many times as you want to test changes you made to the app. To make your card immutable, in a way similar to what we do you need to do 2 things:
you can perform these two steps using either your favorite GlobalPlatform management tool or by following these two steps
cd status-keycard./gradlew lockNOTE: THIS PROCEDURE IS NOT REVERSIBLE. THE AUTOMATED LOCKING TOOL DOES NOT PRINT OR STORE THE RANDOMLY GENERATED KEYS ANYWHERE