@@ -333,6 +333,9 @@ bool QPKCS11::reload()
333333 { " /Library/latvia-eid/lib/eidlv-pkcs11.bundle/Contents/MacOS/eidlv-pkcs11" , " 3BDB960080B1FE451F830012428F536549440F900020" }, // LV-G2
334334 { " /Library/mCard/lib/mcard-pkcs11.so" , " 3B9D188131FC358031C0694D54434F5373020505D3" }, // LT-G3
335335 { " /Library/mCard/lib/mcard-pkcs11.so" , " 3B9D188131FC358031C0694D54434F5373020604D1" }, // LT-G3.1
336+ { " /Library/Atostek ID/Atostek-ID-PKCS11.dylib" , " 3B7F9600008031B865B0850300EF1200F6829000" }, // FI-G3
337+ { " /Library/Atostek ID/Atostek-ID-PKCS11.dylib" , " 3B7F9600008031B865B08504021B1200F6829000" }, // FI-G3.1
338+ { " /Library/Atostek ID/Atostek-ID-PKCS11.dylib" , " 3B7F9600008031B865B085050011122460829000" }, // FI-G4
336339 { " /Library/mPolluxDigiSign/libcryptoki.dylib" , " 3B7F9600008031B865B0850300EF1200F6829000" }, // FI-G3
337340 { " /Library/mPolluxDigiSign/libcryptoki.dylib" , " 3B7F9600008031B865B08504021B1200F6829000" }, // FI-G3.1
338341 { " /Library/mPolluxDigiSign/libcryptoki.dylib" , " 3B7F9600008031B865B085050011122460829000" }, // FI-G4
@@ -350,6 +353,9 @@ bool QPKCS11::reload()
350353 { " mcard-pkcs11.so" , " 3B9D188131FC358031C0694D54434F5373020505D3" }, // LT-G3
351354 { " mcard-pkcs11.so" , " 3B9D188131FC358031C0694D54434F5373020604D1" }, // LT-G3.1
352355#if Q_PROCESSOR_WORDSIZE == 8
356+ { " /usr/lib/Atostek-ID-PKCS11.so" , " 3B7F9600008031B865B0850300EF1200F6829000" }, // FI-G3
357+ { " /usr/lib/Atostek-ID-PKCS11.so" , " 3B7F9600008031B865B08504021B1200F6829000" }, // FI-G3.1
358+ { " /usr/lib/Atostek-ID-PKCS11.so" , " 3B7F9600008031B865B085050011122460829000" }, // FI-G4
353359 { " /usr/lib64/libcryptoki.so" , " 3B7F9600008031B865B0850300EF1200F6829000" }, // FI-G3
354360 { " /usr/lib64/libcryptoki.so" , " 3B7F9600008031B865B08504021B1200F6829000" }, // FI-G3.1
355361 { " /usr/lib64/libcryptoki.so" , " 3B7F9600008031B865B085050011122460829000" }, // FI-G4
@@ -371,10 +377,12 @@ bool QPKCS11::reload()
371377 QPCSCReader r (reader, &QPCSC::instance ());
372378 if (!r.isPresent ())
373379 continue ;
374- qDebug () << r.atr ();
375- QString driver = drivers.key (r.atr ());
376- if (!driver.isEmpty () && load (driver))
377- return true ;
380+ QByteArray atr = r.atr ();
381+ qDebug () << atr;
382+ for (auto i = drivers.cbegin (); i != drivers.cend (); ++i) {
383+ if (i.value () == atr && load (i.key ()))
384+ return true ;
385+ }
378386 }
379387 return load (drivers.key ({}));
380388}
0 commit comments