A JavaCard applet for setting the global PIN (0x11) on a card using GlobalPlatform API

Overview

JC-PIN-Manager

A JavaCard applet for setting the global PIN (0x11) on a card using GlobalPlatform API.

Prerequisites

Environment Setup

  1. Initialise JavaCard SDK binaries by running the following commands:
git submodule init
git submodule update
  1. Ensure that your JAVA_HOME environment variable is set to Open JDK 11, for example on OS X you can run:
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
  1. Install the Python prerequisites by running pip3 install -r requirements.txt or equivalent on your platform.

To build and run the applet

  1. Build the applet by running ant from the project root directory.
  2. Install the resulting applet onto your JavaCard using GlobalplatformPro. Note that the CVMManagement priviledge is necessary for the applet to administrate PINs, also known as Cardholder Verification Methods (CVMs), on the card. On an unlocked card please run:
gp --install bin/SetupApplet.cap --privs CVMManagement         

Otherwise, you must specify your card keys using e.g.,

gp --install bin/SetupApplet.cap --privs CVMManagement --key-enc ENC-KEY --key-mac MAC-KEY --key-dek DEK-KEY      
  1. Run the setup_card.py host application which will instruct the applet to return the number of PIN retries on the global PIN, reset the global PIN to 3333 and then verify the new PIN.

Debugging

Has been tested using the Taisys SIMoME only. Please let me know if it also works on your hardware! You may need to replace the GlobalPlatform API jar file with a version which is compatible with your JavaCard.

You might also like...

This API provides functionalities to lookup and manage user accounts

This API provides functionalities to lookup and manage user accounts. Any human or computer system that will interact with any of the API's requires being authenticated as a user. The API allows for common functionalities such as creating a new user account, resetting passwords and generating JWT tokens.

Jan 22, 2022

A Fast, Secure, Ready to use, Highly customizable email verifier API

Email verification API What is this? A Fast, Secure, Ready to use, Highly customizable email verifier API. How to use Clone the project git clone http

Oct 4, 2022

Simple, server side api for drawing on maps with runtime only state and no id collisions

Simple, server side api for drawing on maps with runtime only state and no id collisions! It can be used in non-main/server threads for better performance/more fps.

Sep 2, 2022

An open-source component of TabLight project "Base-API"

DataAddons is a library (or framework?) created for Minecraft providing comfortable abstractions making additions over already existing data, generally, it is anti-pattern ans YOU SHOULDN'T USE IT in normal programms.

Mar 8, 2022

Backend for Saunah Management App provides a REST-API for the Saunah management app

🛁 🔥 Saunah Backend Backend for Saunah Management App. This application provides a REST-API for the Saunah management app. 👨🏼‍💻 Technology Stack T

Jun 13, 2022

Public API for all of ID2R's projects

Public API for all of ID2R's projects. This API contains some useful utilities and tools that will help ID2R to deliver high quality code. originally developed by Invvk.

Sep 8, 2022

A Parser That parses OpenAPI definitions in JSON or YAML format and Generates Pact files That contain HTTP request/response interactions by parsing Given Open API specifications

This is a Parser That parses OpenAPI definitions in JSON or YAML format and Generates Pact files That contain HTTP request/response interactions by parsing Given Open API specifications.

Mar 19, 2022

An open source, modular alternative of sketchware. Create your own app in android using block programming like scratch!

An open source, modular alternative of sketchware. Create your own app in android using block programming like scratch!

OpenBlocks An open source, modular alternative of sketchware. Create your own app in android using block programming like scratch! What is OpenBlocks?

Dec 16, 2022

A Registration Form using Java Swing with database connectivity

A Registration Form using Java Swing with database connectivity

Registration Form A Registration Form using Java Swing with database connectivity.

Jan 16, 2022
Owner
Chris Hicks
Eclectic information forager.
Chris Hicks
Simple way of causing a bsod using the native api implemented into a 1.12.2 Forge mod

Simple-BSOD-Mod Simple way of causing a bsod using the native api implemented into a 1.12.2 Forge mod. Dowload It HERE To make your own you can go to

INZO_Technologies 5 Dec 28, 2022
The project was created using the API of the Spotify application.

Spotify API The project was created using the API of the Spotify application.

Atakan Koçyiğit 3 Jan 27, 2022
API gateway for REST and SOAP written in Java.

Membrane Service Proxy Reverse HTTP proxy (framework) written in Java, that can be used as an API gateway as a security proxy for HTTP based integrati

predic8 GmbH 389 Dec 31, 2022
Simple API, Complex Emails (JavaMail smtp wrapper)

Simple Java Mail Simple Java Mail is the simplest to use lightweight mailing library for Java, while being able to send complex emails including CLI s

Benny Bottema 1k Jan 5, 2023
A high level API to express vectorized operations in Java

vector-handle A high level API to express vectorized operations on primitive arrays in Java allowing to specify the vectorized operations as a simple

Rémi Forax 25 Oct 5, 2022
This service checks the Co-WIN public API at a specific interval and send update to users specified telegram bot.

COVID VACCINE TELEGRAM BOT USING SPRING BOOT This application is a covid vaccine slot notifier via telegram bot. This application uses public CO-WIN A

Hardeek Sharma 6 Oct 4, 2022
Leveraging Java 8, create an API with a multi-tier user system.

Project 0 Description Leveraging Java 8, create an API with a multi-tier user system. You may choose the actual use case for your application as long

null 1 Jan 9, 2022
Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible

Jiskord Jiskord is a selfbot wrapper for Discord with almost every API endpoint accessible. This library is inspired by Discum. It is made using Java

Vinesh Rajpurohit 5 Feb 28, 2022
SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

SpringBoot Micro Services, Discovery Server, Discovery Client, API-Gateway

null 2 Jan 26, 2022
This repository holds the source code for TML (Tecknix Mod Loader)'s API.

This repository contains the modding API not the MDK (Mod Development Kit). This repository will not give you the ability to mod Tecknix Client but you can contribute to the repository if you have events you would like to add.

Tecknix Client 6 Aug 1, 2022