Coder Social home page Coder Social logo

githuseyingur / acs_pinpad_verify_tc_identity_pin Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 3.46 MB

ACS Smartcard Pinpad TC Identity Card Pin Verify (ACS Smartcard Pinpad Türkiye Cumhuriyeti Kimlik Kartı Pin Doğrulama)

Java 100.00%
acs pin-pad pinpad smart-card smart-card-reader smartcard smartcard-reader smartcardio acs-id-card-pin-verify acs-pin-verify acs-smart-card acs-smartcard acs-tc-id-card pin-verify smartcard-io

acs_pinpad_verify_tc_identity_pin's Introduction

Verify TC Identity Card PIN from ACS Smartcard Reader

We need APDU commands for pin verification. These APDU commands vary according to the type of the card. Since the card we will use is a TC ID card, we need to work with IAS-specific APDU commands. These values are as follows:




Since a 6-digit pin will be entered, we need to enter a minimum value of 6 and a maximum value of 6, that is 0606, in the Pin Extra Digit field. The data in the 'abData' section is important. This data is CLA, INS, P1, P2 and Lp (length of the pin to be entered) respectively.

abData : CLA, INS, P1, P2, Lp


CLA (Class Byte):    The class indicates the type of operation to be performed, e.g. whether it is a basic operation or a special operation. For example, the CLA byte "00" often represents basic operations, while the CLA byte "80" may represent special operations.

INS (Instruction Byte):    The INS byte specifies the specific instruction to be executed. This byte tells the board what operation to perform.

P1 (Parameter 1):     The P1 byte indicates whether the command is associated with a specific parameter. For example, in a command to change a PIN code, the P1 byte can specify which PIN to change.

P2 (parameter 2):     The P2 byte, used in conjunction with P1, specifies how the command is further associated with additional parameters. It is particularly used for more specific commands. For example, if the P1 byte indicates that a PIN is to be changed, the P2 byte can specify what operation is to be performed (e.g. changing the PIN code).








Response : 90 00 (Successful)

A response is returned as a result of the pin verification process.
If this response is 90 00, it means that the pin verification process was successful.

Complete list of APDU responses : https://www.eftlab.com/knowledge-base/complete-list-of-apdu-responses





Thanks to Muhammed Hoşgör : https://github.com/muhammedhosgor

acs_pinpad_verify_tc_identity_pin's People

Contributors

githuseyingur avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.