Skip to content

Airlock smartcard provisioning tool. Written in Java. Ugh.

Notifications You must be signed in to change notification settings

openlab-aux/airlock-smartcard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Airlock-Smartcard

This repository holds the application used to provision Smartcards with Airlock.

Build

  1. If not already present, install maven
  2. Clone Repository
  3. Download and unpack TaplinxSDK
    cd lib
    wget https://www.mifare.net/wp-content/uploads/2022/08/taplinx-java-release-2.0-RELEASE.zip
    unzip taplinx-java-release-2.0-RELEASE.zip
    cd ..
    
  4. Run maven
    mvn initialize
    mvn package
    

There should now be a target folder containing a jar file

Further Setup

Taplinx License

In order to run the command, you have to acquire a TapLinx license. You can sign up for one free of charge at TapLinx Developer Center

The resulting license needs to be in the working directory when the application is run.

KeyStore

For convenience, secret key material is stored in a JKS File.

keytool -genseckey -alias card_master -keystore keystore.jks -keyalg AES -keysize 128
keytool -genseckey -alias app_master -keystore keystore.jks -keyalg AES -keysize 128
keytool -genseckey -alias door_key -keystore keystore.jks -keyalg AES -keysize 128

All of these commands will ask for a passphrase with which the Keystore will be encrypted.

The encryption passphrase needs to be exported as an environment variable:

export AIRLOCK_KEYSTORE_PASSWORD=supersecret

The resulting JKS file needs to be located in the working directory when the application is run.

Select a Smartcard Reader

Now, we can query available Smartcard readers:

java -classpath target/airlock-1.0-SNAPSHOT.jar:lib/librarymanager-2.0-RELEASE.jar:lib/desfire-2.0-RELEASE.jar org.weltraumpflege.airlock.Main

The output should look something like:

Found 1 Terminals
- Linux Foundation 2.0 root hub (2019710) 00 00
Could not select Reader with name "null".

Now we can export our reader's name (everything after - ) as an environment variable

export AIRLIOCK_SMARTCARD_READER_NAME="Linux Foundation 2.0 root hub (2019710) 00 00"

Usage

java -jar target/airlock-1.0-SNAPSHOT.jar --help

create_application

This will create an application with

About

Airlock smartcard provisioning tool. Written in Java. Ugh.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages