Bare JavaCard Ant project

This commit is contained in:
Elizabeth Cray 2025-03-07 00:38:41 -05:00
commit 61ca427119
3 changed files with 56 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
java_card_kit*/
build/
tools/

37
build.xml Normal file
View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="buildcap" name="Crystal">
<description>
JavaCard Applet for the Kyber Post-Quantum-Cryptography Algorithm
</description>
<property name="JCSDK" value="C:\Program Files (x86)\Oracle\Java Card Development Kit 3.0.5u4" />
<target name="clean">
<delete dir="build" />
</target>
<target name="setup">
<mkdir dir="tools"/>
<get src="https://github.com/martinpaljak/ant-javacard/releases/download/v24.11.19/ant-javacard.jar" dest="tools" skipexisting="true"/>
<get src="https://github.com/martinpaljak/GlobalPlatformPro/releases/download/v24.10.15/gp.jar" dest="tools" skipexisting="true"/>
</target>
<target name="build" depends="clean,setup">
<!-- ant-javacard task from javacard.pro -->
<taskdef name="javacard" classname="pro.javacard.ant.JavaCard" classpath="tools/ant-javacard.jar" />
<javacard jckit="${JCSDK}">
<cap output="build/cyber.cap" aid="A000000648" sources="src" targetsdk="java_card_kit-2_2_1">
<applet class="org.hacdc.cyber.Cyber" aid="A0000006482F0002" />
</cap>
</javacard>
</target>
<!-- Install Applet -->
<target name="install" depends="build">
<java jar="tools/gp.jar" fork="true">
<arg value="-reinstall" />
<arg value="build/cyber.cap" />
</java>
</target>
</project>

View File

@ -0,0 +1,16 @@
package org.hacdc.cyber;
import javacard.framework.APDU;
import javacard.framework.Applet;
public class Cyber extends Applet {
public static void install(byte[] buffer, short offset, byte length){
// GP-compliant JavaCard applet registration
new Cyber().register();
}
public void process(APDU apdu){
// Process APDU commands
}
}