tixsys / esteid

Automatically exported from code.google.com/p/esteid
2 stars 0 forks source link

[qesteidutil] "PIN1 ja PIN2 ei tohi sisaldada sünnikuupäeva ja -aastat" viga #166

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Digi-ID, mitte ID kaart.

PIN1 lukustumise fakti ise kuidagi fikseerinud ei ole, tööl viimati asi 
töötas. 

Nüüd puhtale Ubuntu süsteemile tarkvara paigaldades kuvab utiliit, et PIN1 
on lukustatud, kuna 3 korda valesti sisestatud (nagu öeldud - ei mäleta, et 
oleks seda teinud...)
Igatahes, püüdes PIN1 lukust lahti võtta, see ei õnnestu ja kuvatakse 
veateade "PIN1 ja PIN2 ei tohi sisaldada sünnikuupäeva ja -aastat" Seda isegi 
juhul, kui PIN1-ks püüda panna näiteks "9999" või "0000", mis ei tohiks 
sünnikuupäevaks kuidagi kvalifitseeruda... Ei lase muuta ka teisteks 
kombinatsioonideks, mis pole sünnikuupäeva ja -aasta kombinatsioon.

Lisaks näitab utiliit suurelt ja punaselt, et kaart on kehtetu, kuigi 
tegelikult ei ole. Isikuandmetest kuvatakse ainult e-posti aadress. Nime, 
sündinud, isikukoodi ja kodakondsust ei kuvata.
Viide "Juhised uue ID-kaardi saamiseks leiad SIIT" viitab aadressile 
http://www.politsei.ee/et/teenused/isikut-toendavad-dokumendid-/id-kaart/taiskas
vanule/ , kus omakorda on sõnum: "Viga! Lehte ei leitud.
11.09.2011
Vabandame, sellist lehte ei leitud.
Palun vajuta siia, et minna tagasi avalehele."

Diagnostika väljund:
"ID-kaardi haldusvahendi versioon: 0.1.0.0
Operatsioonisüsteem: Ubuntu 11.04 (32)

Teegi otsing: /usr/lib/kde4/plugins;/usr/lib/qt4/plugins;/usr/bin
Teegid
pcsclite (/lib/libpcsclite.so.1.0.0)
ssl - viga versiooniinfo lugemisel
crypto - viga versiooniinfo lugemisel
opensc-pkcs11 (/usr/lib/opensc-pkcs11.so)
QT (4.7.2)

PCSC teenuse staatus: Töötab

Kaardilugejad
* Broadcom 5880 [Broadcom USH w/swipe sensor] (0123456789ABCD) 00 00
ID - 

"

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

Please provide any additional information below.
DigiID, mitte ID-kaart

Original issue reported on code.google.com by maik...@gmail.com on 11 Sep 2011 at 8:29

Attachments:

GoogleCodeExporter commented 9 years ago
Mul esineb ka sama probleem.

Idee oli kohe selles, et kuna Digi-ID ei sisalda sünniaastat, siis on 
kontrolli osas midagi valesti. Lugesin natukene lähtekoodi ja sünniaastat 
kontrollitakse nii:
bool JsEsteidCard::checkPin( const QString &pin )
{
        QDate date( QDate::fromString( birthDate, "dd.MM.yyyy" ) );
    if ( pin.contains( date.toString( "yyyy" ) ) ||
                        pin.contains( date.toString( "ddMM" ) ) ||
                        pin.contains( date.toString( "MMdd" ) ) )
                return false;
        return true;
}

Seega ongi valesti, kuna '' sisaldub igas stringis. Ma panin endal asja 
kiiresti häki korral tööle stiilis false>true, kuid õigem oleks lisada 
näiteks kontroll:
pin.contains( date.toString( "MMdd" ) ) &&
!date.isNull() )
return false

Samas, ma pole C++ga väga tuttav ja ei oska öelda, kas see süntaks on õige.

Original comment by tsimmm on 6 Sep 2012 at 8:03