Class ICAO_Card

java.lang.Object
pt.gov.cartaodecidadao.PTEID_Object
pt.gov.cartaodecidadao.ICAO_Card

public class ICAO_Card extends PTEID_Object
Class representing an ICAO-compliant card (MRTD - Machine Readable Travel Document).
Provides access to standardized Data Groups (DGs) such as identity information,
biometric data, and additional holder information, as well as authentication
mechanisms like BAC (Basic Access Control) and PACE (Password Authenticated Connection Establishment).
Reading Data groups requires prior authentication with either PACE or BAC.
  • Method Details

    • delete

      public void delete()
      Overrides:
      delete in class PTEID_Object
    • getAvailableDatagroups

      public VectorDataGroupID getAvailableDatagroups() throws PTEID_Exception
      Throws:
      PTEID_Exception
    • GetDocumentReport

      public PTEID_DocumentReport GetDocumentReport()
    • initPaceAuthentication

      public void initPaceAuthentication(String secret, long length, PTEID_CardPaceSecretType secretType) throws PTEID_Exception
      Init the Pace authentication process
      Parameters:
      secret - string that holds the secret to make the PACE process
      length - size of the secret string
      secretType - type of the secret used to make the PACE process
      Throws:
      PTEID_Exception
    • initBACAuthentication

      public void initBACAuthentication(String mrz_info) throws PTEID_Exception
      Parameters:
      mrz_info - must contain the full MRZInfo needed for BAC authentication:
      i.e. document number + date of birth + expiry date, all 3 fields including their respective check digits
      Throws:
      PTEID_Exception
    • readDatagroupRaw

      public PTEID_RawDataGroup readDatagroupRaw(PTEID_DataGroupID tag) throws PTEID_Exception
      Read raw data from datagroup specified in parameter
      Throws:
      PTEID_Exception
    • readDataGroup1

      public PTEID_ICAO_DG1 readDataGroup1() throws PTEID_Exception
      Read MRZ Data Group (mandatory data group)
      Throws:
      PTEID_Exception
    • readDataGroup2

      public PTEID_ICAO_DG2 readDataGroup2() throws PTEID_Exception
      Read Facial Biometric Information (mandatory data group)
      Throws:
      PTEID_Exception
    • readDataGroup3

      public PTEID_ICAO_DG3 readDataGroup3() throws PTEID_Exception
      Read fingerprint biometric Information (optional data group)
      Throws:
      PTEID_Exception
    • readDataGroup11

      public PTEID_ICAO_DG11 readDataGroup11()
      Read personal details information (optional data group)
    • loadMasterList

      public void loadMasterList(String filePath)
      Load a certificate MasterList containing CSCA certificates. These are needed for certificate validation during
      Passive Authentication This method needs to be called before readDataGroupRaw() or any other readDataGroup* method
    • resetCardState

      public void resetCardState()
      Reset the card state, discarding any Secure Messaging session. This is useful for a multi-application card like
      PT eID v2 to be able to access other applications afterwards Other methods of ICAO_Card will fail after this
      call!