Table of Contents

Statistic

20.06. 2011 186225 celkom
17.10. 2011 207887 celkom
04.01. 2013 262299 celkom
28.03. 2013 331865 celkom
10.05. 2013 332490 celkom 7.0.0 release
10.07. 2013 341121 celkom 8.0.0
14.08. 2013 322989 celkom celkom 8.1.0 - odstranenie dummy sam interfare …


186225

06/11
207887

10/11
262299

01/13
341121

07/13
322989

08/13

mesiac/rok
MM/YY

enum na AID-cka

BasicPTDefines.h
enum t_AIDs - AID0cka pre desfire karty


pre mifare karty v mifaredata.h
#define APL_ICOM_ADMINISTRATIVE_DATA 0×1009

File simulator

bool EMifareCardFileData::CreateCardFileTmpCopy()

primat udalosti od soketu (cardIn(fname - absoluteParh) cardOut) unsigned long EPCSCFileDriverData::CheckForEvent(bool &cardIn,bool &cardOut)

KA karta - vyber spravneho kluca

EVDVKAContactDriverPrivate::GetBetreiberRsaKey(

nastavenie step FINISHED v answer

				if (mapper)
				{
					unsigned long step = error->GetRawData()->GetStep();
					mapper->UpdateAnswer(step,ERequestAnswer::FINISHED);

Vytvorenie spravneho drivera ku typu karty

EAbstractCardDriver		*tmpDriver = ECardDriverFactory::GetInstance()->GetClassByType(type);

Udalosti.dat

EINFO0(UNICODE_TAG("BinarySearch udalosti"));
EEMObject	*pObject = BinarySearch(pFile,0,ulPomPocet,m_ulSRN);

UL citacka

ERemoteInterfacePrivate::WriteOtherCard

enum ECryptoVersion + IDS crypto enumy

ECryptoVersion

IDSSignType
IDSCryptoType

prevod z IDS na ECryptoVersion
ECryptoVersion ConvertCryptoVersion(IDSCryptoType cryptoType)
ECryptoVersion ConvertSignVersion(IDSSignType signType)

Vytvorenie spravneho SAM interface na zaklade AID v PTConfig.xml

void EDummyContactDriver::OnCardConnected(){
	do {
		if (!EPTSetting::GetInstance()->GetAppletName(aid,&aidSize,pos)){
			SetAid(emptyAid);
			return;
		}
		if (((EContactCard*)GetCard())->SelectApplication(aid, aidSize) == PCSC_OK)
			break;
		pos++;
	}while(true);
	if (!GetReaderInterface()){
		EERROR(UNICODE_TAG("No reader interface"));
		return;
	}
	mData->mCardConected = true;
	SetAid(aid);
	GetReaderInterface()->OnCardApproach(); - v OnCardApproach si vytiahne z factory SAM interface na zaklade setnuteho aid riadok vyzsie

Priradenie SAMov ku jednotlivym AID karty

void ECardApplicationFinder::ECardApplicationFinderPrivate::CheckCardUsers(unsigned long *aplIds,unsigned long count)
{
...
	unsigned long	pos = 0;
	ESAMInterface	*tmpInterface = ESAMManager::GetInstance()->GetSAMByIdx(pos);
        ...
	while (i < count)
	{
		unsigned long	keySetId = tmpInterface->GetKeySetIdByAid(aplIds[i],i < 16 ? mMad1User : mOtherDirectoryUser);
		if (keySetId != TYPE_UNKNOWN_CARD)
		{
                        ... nastavi SAM ID ku AID
		        mAplUsers[i] = keySetId;
			mAplSamType[i] = tmpInterface->GetType();
			i++;
                        ...
		}
		else
		{
                        vybraty sam nevyhovoval, skusim dalsi a idem dalsi cyklus
			if (!tmpSamType)
				tmpSamType = tmpInterface->GetType();
			pos++;
			tmpInterface = ESAMManager::GetInstance()->GetSAMByIdx(pos);

Kontrolovanie vsetkych podpisov logov penazenky na desfire karte

ked chceme kontrolovat vsetky logy - Treba zakomentovat if za poznamkou: 9.9.2010 - VHU vypnutie kontroly podpisov logov s indexom > 0

void EMapperDesfirePurseLog::VerifyData( EM::PT::EAbstractRawData* rawData )
{
    if ( rawData->IsCached() )
    {
        mData->SetIsRecordValid(true, mData->mIndex);
        return;
    }

    bool verifySignatureEnabled = EPTSetting::GetInstance()->IsVerifySignatureEnabled();
    if (!verifySignatureEnabled)
    {
        mData->SetIsRecordValid(true, mData->mIndex);
        return;
    }

    if (EPTSetting::GetInstance()->UseDesfitreSwSAM())// zatial vynimka pretoze nie je dorieseny SW IDS SAM
    {
        mData->SetIsRecordValid(true, mData->mIndex);
        return;
    }

    mData->SetIsRecordValid(false, mData->mIndex);
    if (GetTemplateType(mData->mIndex) == 0 && GetStructType(mData->mIndex) == EM::PT::StructType::TemporaryFile)
    {
        mData->SetIsRecordValid(true, mData->mIndex);
        return;
    }
    //9.9.2010 - VHU vypnutie kontroly podpisov logov s indexom > 0
    if (mData->mIndex > 0 && GetStructType(mData->mIndex) == EM::PT::StructType::PurseLog)
        return;
    ESAMType		samType = (EPTSetting::GetInstance()->UseDesfitreSwSAM() ? SAM_SWE : SAM_IDS);
...
}