Skip to content

Getting started

Martin Paljak edited this page Oct 2, 2024 · 15 revisions

Before you begin ...

Important

You really-really-really need to know the (I)SD keys of your card ...

Installing

GlobalPlatformPro requires Java and a smart card reader (PC/SC).

Java

JDK 11 LTS or later is required (for JavaCard development, see https://github.com/martinpaljak/ant-javacard/wiki/JavaCard-SDK-and-JDK-version-compatibility). Temurin and Zulu are used and recommended. When installing the JDK on Windows and you want to use the packaged .exe, be sure to select the installation option JavaSoft (Oracle) registry keys or the .exe will not be able to find the JRE!

GPPro is distributed as a self-contained JAR file, to be executed with java -jar gp.jar. On Windows, gp.exe is equivalent to java -jar gp.jar.

Note

Both invocations are shorthanded as gp in samples and documentation!

Tip

On Linux/macOS it is easier to add an alias for your shell, like this:

alias gp="java -jar $PWD/gp.jar"

Now you can avoid typing java -jar gp.jar and gp works from any folder.

Choosing the reader

Most users have only a single smart card reader connected to the system at a time. Some people have several readers visible on the PC/SC layer: an embedded 3G/4G modem which exposes its SIM slot as a reader, always connected Yubikey, virtual readers created by SDK-s, or an embedded reader in a laptop that is not suitable for some operations. GlobalPlatformPro allows to fine tune the default reader via environment variables.

$GP_READER

If you know that you would always want to use a specific reader with GPPro, specify the name of it in $GP_READER. It will always be chosen if available.

$ export GP_READER="ACS ACR122U PICC Interface"

$GP_READER_IGNORE

To always ignore certain readers with GPPro, specify fragments of their names in $GP_READER_IGNORE, separated by semicolon.

$ export GP_READER_IGNORE="Yubikey;Alcor"