Skip to content
Snippets Groups Projects
build.xml 3.47 KiB
Newer Older
<project name="KeyWrapping" basedir=".">
    <property name="output.dir"         value="target"/>
    <property name="output.file"        value="${output.dir}/KeyChallenge.cap"/>
    <property name="verify.file"        value="${output.dir}/Verification.cap"/>
    <property name="app.id"             value="0F0E0D0C0B0A0908"/>
    <property name="pkg.id"             value="0F0E0D0C0B"/>
    <property name="lib.dir"            value="lib"/>
    <property name="key-import.apdu"    value="B0010000147a41eacbbfe01a919c2dbfc83ee45b1ad067d090"/>
    <property name="key-challenge.apdu" value="B002000020B42CCC222C86585E8F761F15BDFFCC7793A518587ABB0DDF0C4ADBD465651C0714"/>

Emily Ehlert's avatar
Emily Ehlert committed
    <mkdir dir="${lib.dir}" />
    <get src="https://github.com/martinpaljak/ant-javacard/releases/latest/download/ant-javacard.jar" dest="${lib.dir}/ant-javacard.jar" skipexisting="true"/>
    <get src="https://github.com/martinpaljak/GlobalPlatformPro/releases/latest/download/gp.jar" dest="${lib.dir}/gp.jar" skipexisting="true"/>

    <taskdef name="javacard" classname="pro.javacard.ant.JavaCard" classpath="${lib.dir}/ant-javacard.jar"/>

    <target name="verify">
        <javacard>
            <cap jckit="sdks/jc305u3_kit" aid="${pkg.id}" package="org.KeyChallenge" output="${verify.file}" sources="src/main/java">
                <applet class="org.KeyWrapping.KeyChallengeApplet" aid="${app.id}"/>
            </cap>
        </javacard>
    </target>

    <target name="build">
        <mkdir dir="${output.dir}"/>
        <javacard>
            <cap jckit="sdks/jc304_kit" aid="${pkg.id}" package="org.KeyChallenge" output="${output.file}" sources="src/main/java">
                <applet class="org.KeyChallenge.KeyChallengeApplet" aid="${app.id}"/>
            </cap>
        </javacard>
    </target>

    <target name="install">
        <exec executable="java">
            <arg value="-jar"/>
            <arg value="${lib.dir}/gp.jar"/>
            <arg value="--install"/>
            <arg value="${output.file}"/>
        </exec>
    </target>

    <target name="list">
        <exec executable="java">
            <arg value="-jar"/>
            <arg value="${lib.dir}/gp.jar"/>
            <arg value="--list"/>
        </exec>
    </target>

    <target name="uninstall">
        <exec executable="java" failonerror="false">
            <arg value="-jar"/>
            <arg value="${lib.dir}/gp.jar"/>
            <arg value="--delete"/>
            <arg value="${app.id}"/>
            <arg value="--delete"/>
            <arg value="${pkg.id}"/>
        </exec>
    </target>

    <target name="test-key-import">
        <exec executable="java">
            <arg value="-jar"/>
            <arg value="${lib.dir}/gp.jar"/>
            <arg value="--debug"/>
            <arg value="--applet"/>
            <arg value="${app.id}"/>
            <arg value="--apdu"/>
            <arg value="${key-import.apdu}"/>
        </exec>
    </target>
    <target name="test-key-challenge">
        <exec executable="java">
            <arg value="-jar"/>
            <arg value="${lib.dir}/gp.jar"/>
            <arg value="--debug"/>
            <arg value="--applet"/>
            <arg value="${app.id}"/>
            <arg value="--apdu"/>
            <arg value="${key-challenge.apdu}"/>
        </exec>
    </target>

    <target name="test" depends="test-key-import, test-key-challenge"/>
    <target name="build-reinstall" depends="build, uninstall, install"/>
    <target name="build-reinstall-test" depends="build, uninstall, install, test"/>

</project>