CAP file library

JavaCard CAP parsing

License

License

MIT
GroupId

GroupId

com.github.martinpaljak
ArtifactId

ArtifactId

capfile
Last Version

Last Version

21.04.05
Release Date

Release Date

Type

Type

jar
Description

Description

CAP file library
JavaCard CAP parsing
Project URL

Project URL

https://github.com/martinpaljak/capfile
Source Code Management

Source Code Management

https://github.com/martinpaljak/capfile

Download capfile

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.martinpaljak/capfile/ -->
<dependency>
    <groupId>com.github.martinpaljak</groupId>
    <artifactId>capfile</artifactId>
    <version>21.04.05</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.martinpaljak/capfile/
implementation 'com.github.martinpaljak:capfile:21.04.05'
// https://jarcasting.com/artifacts/com.github.martinpaljak/capfile/
implementation ("com.github.martinpaljak:capfile:21.04.05")
'com.github.martinpaljak:capfile:jar:21.04.05'
<dependency org="com.github.martinpaljak" name="capfile" rev="21.04.05">
  <artifact name="capfile" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.martinpaljak', module='capfile', version='21.04.05')
)
libraryDependencies += "com.github.martinpaljak" % "capfile" % "21.04.05"
[com.github.martinpaljak/capfile "21.04.05"]

Dependencies

compile (2)

Group / Artifact Type Version
org.bouncycastle : bcpkix-jdk15on Optional jar 1.68
org.yaml : snakeyaml jar 1.28

test (1)

Group / Artifact Type Version
org.testng : testng jar 7.4.0

Project Modules

There are no modules declared in this project.

capfile · Build Status MIT licensed

Release Maven version Maven Central

Handle JavaCard CAP files, from command line or Java project

java -jar capfile.jar <capfile>

Off-card verification

java -jar capfile.jar -v <path to JavaCard SDK> [<targetsdkpath>] <capfile> [<expfiles...>]

(SDK-s usable on Unix machines are conveniently available from https://github.com/martinpaljak/oracle_javacard_sdks/). EXP files can be plain EXP files or JAR files containing EXP files. Please use JavaCard 3.0.5u3 as the SDK and verify target SDK.

DAP signing

Usable with GlobalPlatformPro. At the moment, only PKCS#1 v1.5 SHA1 signature with 1024 bit RSA key is supported.

java -jar capfile.jar -s <keyfile.pem> <capfile>

A sample flow would look along the lines of:

openssl genrsa 1024 > dap.pem                          # generate DAP key
capfile -s dap.pem applet.cap                          # sign CAP with DAP key
gp -domain $SSD_AID -privs DAPVerification --allow-to  # create SSD with DAP
gp -sdaid $SSD_AID -put-key dap.pem -key $SSD_SCP_KEY  # add DAP key to SSD
gp -load applet.cap -to $SSD_AID                       # load signed CAP file to SSD

Versions

Version
21.04.05
20.01.30
19.03.04
18.10.04
18.09.25.1
18.09.25
18.09.18
18.09.06
18.09.05
18.08.21
18.8.15
18.06.27
18.06.26