Portuguese eID Middleware SDK Version: 3.14.0
Loading...
Searching...
No Matches
eIDMW::ICAO_Card Class Reference

#include <eidlib.h>

Public Member Functions

virtual PTEIDSDK_API void initPaceAuthentication (const char *secret, size_t length, PTEID_CardPaceSecretType secretType)
 
virtual PTEIDSDK_API void initBACAuthentication (const char *mrz_info)
 
virtual PTEIDSDK_API PTEID_RawDataGroupreadDatagroupRaw (PTEID_DataGroupID tag)
 
virtual PTEIDSDK_API PTEID_ICAO_DG1readDataGroup1 ()
 
virtual PTEIDSDK_API PTEID_ICAO_DG2readDataGroup2 ()
 
virtual PTEIDSDK_API PTEID_ICAO_DG3readDataGroup3 ()
 
virtual PTEIDSDK_API PTEID_ICAO_DG11readDataGroup11 ()
 
virtual PTEIDSDK_API void loadMasterList (const char *filePath)
 
virtual PTEIDSDK_API void resetCardState ()
 
- Public Member Functions inherited from eIDMW::PTEID_Object
virtual PTEIDSDK_API ~PTEID_Object ()=0
 
NOEXPORT_PTEIDSDK void Init (const SDK_Context *context, void *impl)
 
NOEXPORT_PTEIDSDK void Release ()
 

Protected Member Functions

 ICAO_Card (const SDK_Context *context, APL_ICAO *impl)
 
- Protected Member Functions inherited from eIDMW::PTEID_Object
 PTEID_Object (const SDK_Context *context, void *impl)
 
void addObject (PTEID_Object *impl)
 
void backupObject (unsigned long idx)
 
PTEID_ObjectgetObject (unsigned long idx)
 
PTEID_ObjectgetObject (void *impl)
 
void delObject (unsigned long idx)
 
void delObject (void *impl)
 
void checkContextStillOk () const
 
 PTEID_Object (const PTEID_Object &obj)
 
PTEID_Objectoperator= (const PTEID_Object &obj)
 

Friends

ICAO_CardPTEID_ReaderContext::getICAOCard ()
 

Additional Inherited Members

- Protected Attributes inherited from eIDMW::PTEID_Object
bool m_delimpl
 
void * m_impl
 
unsigned long m_ulIndexExtAdd
 
std::map< unsigned long, PTEID_Object * > m_objects
 
SDK_Context * m_context
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ICAO_Card()

eIDMW::ICAO_Card::ICAO_Card ( const SDK_Context * context,
APL_ICAO * impl )
protected

For internal use : Constructor

Member Function Documentation

◆ initBACAuthentication()

virtual PTEIDSDK_API void eIDMW::ICAO_Card::initBACAuthentication ( const char * mrz_info)
virtual
Parameters
mrz_infomust 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

◆ initPaceAuthentication()

virtual PTEIDSDK_API void eIDMW::ICAO_Card::initPaceAuthentication ( const char * secret,
size_t length,
PTEID_CardPaceSecretType secretType )
virtual

Init the Pace authentication process

Parameters
secretstring that holds the secret to make the PACE process
lengthsize of the secret string
secretTypetype of the secret used to make the PACE process

◆ loadMasterList()

virtual PTEIDSDK_API void eIDMW::ICAO_Card::loadMasterList ( const char * filePath)
virtual

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

◆ readDataGroup1()

virtual PTEIDSDK_API PTEID_ICAO_DG1 * eIDMW::ICAO_Card::readDataGroup1 ( )
virtual

Read MRZ Data Group (mandatory data group)

◆ readDataGroup11()

virtual PTEIDSDK_API PTEID_ICAO_DG11 * eIDMW::ICAO_Card::readDataGroup11 ( )
virtual

Read personal details information (optional data group)

◆ readDataGroup2()

virtual PTEIDSDK_API PTEID_ICAO_DG2 * eIDMW::ICAO_Card::readDataGroup2 ( )
virtual

Read Facial Biometric Information (mandatory data group)

◆ readDataGroup3()

virtual PTEIDSDK_API PTEID_ICAO_DG3 * eIDMW::ICAO_Card::readDataGroup3 ( )
virtual

Read fingerprint biometric Information (optional data group)

◆ readDatagroupRaw()

virtual PTEIDSDK_API PTEID_RawDataGroup * eIDMW::ICAO_Card::readDatagroupRaw ( PTEID_DataGroupID tag)
virtual

Read raw data from datagroup specified in @tag parameter

◆ resetCardState()

virtual PTEIDSDK_API void eIDMW::ICAO_Card::resetCardState ( )
virtual

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!

Friends And Related Symbol Documentation

◆ PTEID_ReaderContext::getICAOCard

For internal use : This method must access protected constructor