Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't use pinpad with gnupg card #199

Closed
asdil12 opened this issue Dec 12, 2013 · 36 comments
Closed

Can't use pinpad with gnupg card #199

asdil12 opened this issue Dec 12, 2013 · 36 comments

Comments

@asdil12
Copy link

asdil12 commented Dec 12, 2013

I'm using the GPGv2 card for SSH. Entering the PIN through the terminal works fine, but if I leave the PIN blank and press ok (which triggers pinpad input as far as I know), the PIN isn't requested via pinpad.

My Reader: Cherry GmbH SmartTerminal ST-2xxx

  • Supports Extended Length APDU
  • Has a pinpad
  • Has no display
  • Supports variable length pin input

I'm using opensc 0.13

Log:

0x7fea12807800 15:03:36.791 [opensc-pkcs11] pkcs11-session.c:259:C_Login: C_Login(0x7fea1407cfe0, 1)
0x7fea12807800 15:03:36.791 [opensc-pkcs11] pkcs15-pin.c:293:sc_pkcs15_verify_pin: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] pkcs15-pin.c:294:sc_pkcs15_verify_pin: PIN((nil);len:0)
0x7fea12807800 15:03:36.791 [opensc-pkcs11] pkcs15-pin.c:295:sc_pkcs15_verify_pin: Auth(type:0;method:1)
0x7fea12807800 15:03:36.791 [opensc-pkcs11] pkcs15-pin.c:299:sc_pkcs15_verify_pin: PIN value validated
0x7fea12807800 15:03:36.791 [opensc-pkcs11] card.c:315:sc_lock: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:517:pcsc_lock: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] card.c:610:sc_select_file: called; type=2, path=3f00
0x7fea12807800 15:03:36.791 [opensc-pkcs11] card-openpgp.c:904:pgp_select_file: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] card-openpgp.c:971:pgp_select_file: returning with: 0 (Success)
0x7fea12807800 15:03:36.791 [opensc-pkcs11] card.c:638:sc_select_file: returning with: 0 (Success)
0x7fea12807800 15:03:36.791 [opensc-pkcs11] sec.c:157:sc_pin_cmd: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] card-openpgp.c:1239:pgp_pin_cmd: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:1614:pcsc_pin_cmd: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:182:pcsc_internal_transmit: called
0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:1655:pcsc_pin_cmd: PC/SC v2 pinpad block: 1e:1e:02:00:00:20:06:02:00:00:00:00:00:00:00:05:00:00:00:00:20:00:82:00
0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:182:pcsc_internal_transmit: called
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:208:pcsc_internal_transmit: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00:SCardTransmit/Control failed: 0x80100016
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:370:pcsc_detect_card_presence: called
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:283:refresh_attributes: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 check
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:299:refresh_attributes: returning with: 0 (Success)
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:375:pcsc_detect_card_presence: returning with: 1
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:370:pcsc_detect_card_presence: called
0x7fea12807800 15:03:36.844 [opensc-pkcs11] reader-pcsc.c:283:refresh_attributes: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 check
0x7fea12807800 15:03:36.844 [opensc-pkcs11] reader-pcsc.c:299:refresh_attributes: returning with: 0 (Success)
0x7fea12807800 15:03:36.844 [opensc-pkcs11] reader-pcsc.c:375:pcsc_detect_card_presence: returning with: 1
0x7fea12807800 15:03:36.844 [opensc-pkcs11] reader-pcsc.c:1659:pcsc_pin_cmd: PC/SC v2 pinpad: block transmit failed!: -1107 (Transmit failed)
0x7fea12807800 15:03:36.844 [opensc-pkcs11] iso7816.c:1001:iso7816_pin_cmd: APDU transmit failed: -1107 (Transmit failed)
0x7fea12807800 15:03:36.844 [opensc-pkcs11] card-openpgp.c:1266:pgp_pin_cmd: returning with: -1107 (Transmit failed)
0x7fea12807800 15:03:36.844 [opensc-pkcs11] sec.c:204:sc_pin_cmd: returning with: -1107 (Transmit failed)
0x7fea12807800 15:03:36.844 [opensc-pkcs11] pkcs15-pin.c:367:sc_pkcs15_verify_pin: PIN cmd result -1107
0x7fea12807800 15:03:36.844 [opensc-pkcs11] card.c:353:sc_unlock: called
0x7fea12807800 15:03:36.844 [opensc-pkcs11] reader-pcsc.c:554:pcsc_unlock: called
0x7fea12807800 15:03:36.848 [opensc-pkcs11] pkcs15-pin.c:372:sc_pkcs15_verify_pin: returning with: -1107 (Transmit failed)
0x7fea12807800 15:03:36.848 [opensc-pkcs11] framework-pkcs15.c:1464:pkcs15_login: PKCS15 verify PIN returned -1107
0x7fea12807800 15:03:36.848 [opensc-pkcs11] misc.c:61:sc_to_cryptoki_error_common: libopensc return value: -1107 (Transmit failed)
@LudovicRousseau
Copy link
Member

Leaving the PIN blank will not enable pinpad.

pinpad is enable using OpenSC configuration file /etc/opensc/opensc.conf. pinpad should be enabled by default if a pinpad reader is found.

The application has to support CKF_PROTECTED_AUTHENTICATION_PATH and use C_Login() with NULL and not an empty password.

Maybe your ssh application do not support CKF_PROTECTED_AUTHENTICATION_PATH.

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

I'm using OpenSSH_6.2p2, OpenSSL 1.0.1e 11 Feb 2013 with this special config:

PKCS11Provider /usr/lib64/pkcs11/opensc-pkcs11.so

@dengert
Copy link
Member

dengert commented Dec 12, 2013

On 12/12/2013 8:46 AM, Dominik Heidler wrote:

I'm using /OpenSSH_6.2p2, OpenSSL 1.0.1e 11 Feb 2013/ with this special config:

|PKCS11Provider /usr/lib64/pkcs11/opensc-pkcs11.so

To see what is going on with PKCS#11 can you try using pkcs11-spy:

export PKCS11SPY_OUTPUT=/tmp/pkcs11spy.out
export PKCS11SPY=/usr/lib64/pkcs11/opensc-pkcs11.so
ssh -I /usr/lib64/pkcs11/pkcs11-spy.so ...

then post to the mailing list the /tmp/pkcs11spy.out

|
|


Reply to this email directly or view it on GitHub #199 (comment).

Douglas E. Engert [email protected]
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

*************** OpenSC PKCS#11 spy *****************
Loaded: "/usr/lib64/pkcs11/opensc-pkcs11.so"

0: C_GetFunctionList
2013-12-12 17:00:44.396
Returned:  0 CKR_OK

1: C_Initialize
2013-12-12 17:00:44.396
[in] pInitArgs = (nil)
Returned:  0 CKR_OK

2: C_GetInfo
2013-12-12 17:00:45.222
[out] pInfo: 
      cryptokiVersion:         2.20
      manufacturerID:         'OpenSC (www.opensc-project.org) '
      flags:                   0
      libraryDescription:     'Smart card PKCS#11 API          '
      libraryVersion:          0.0
Returned:  0 CKR_OK

3: C_GetSlotList
2013-12-12 17:00:45.223
[in] tokenPresent = 0x1
[out] pSlotList: 
Count is 2
[out] *pulCount = 0x2
Returned:  0 CKR_OK

4: C_GetSlotList
2013-12-12 17:00:45.223
[in] tokenPresent = 0x1
[out] pSlotList: 
Slot 1
Slot 2
[out] *pulCount = 0x2
Returned:  0 CKR_OK

5: C_GetTokenInfo
2013-12-12 17:00:45.223
[in] slotID = 0x1
[out] pInfo: 
      label:                  'OpenPGP card (User PIN (sig))   '
      manufacturerID:         'ZeitControl                     '
      model:                  'PKCS#15 emulated'
      serialNumber:           '000500001371    '
      ulMaxSessionCount:       0
      ulSessionCount:          0
      ulMaxRwSessionCount:     0
      ulRwSessionCount:        0
      ulMaxPinLen:             32
      ulMinPinLen:             6
      ulTotalPublicMemory:     -1
      ulFreePublicMemory:      -1
      ulTotalPrivateMemory:    -1
      ulFreePrivateMemory:     -1
      hardwareVersion:         0.0
      firmwareVersion:         0.0
      time:                   '                '
      flags:                   50d
        CKF_RNG                          
        CKF_LOGIN_REQUIRED               
        CKF_USER_PIN_INITIALIZED         
        CKF_PROTECTED_AUTHENTICATION_PATH
        CKF_TOKEN_INITIALIZED            
Returned:  0 CKR_OK

6: C_OpenSession
2013-12-12 17:00:45.223
[in] slotID = 0x1
[in] flags = 0x6
pApplication=(nil)
Notify=(nil)
[out] *phSession = 0x7f4ca298a7a0
Returned:  0 CKR_OK

7: C_FindObjectsInit
2013-12-12 17:00:45.223
[in] hSession = 0x7f4ca298a7a0
[in] pTemplate[1]: 
    CKA_CLASS             CKO_PUBLIC_KEY       
Returned:  0 CKR_OK

8: C_FindObjects
2013-12-12 17:00:45.223
[in] hSession = 0x7f4ca298a7a0
[in] ulMaxObjectCount = 0x1
[out] ulObjectCount = 0x1
Object 0x7f4ca2988920 matches
Returned:  0 CKR_OK

9: C_GetAttributeValue
2013-12-12 17:00:45.223
[in] hSession = 0x7f4ca298a7a0
[in] hObject = 0x7f4ca2988920
[in] pTemplate[3]: 
    CKA_ID                0000000000000000 / 0
    CKA_MODULUS           0000000000000000 / 0
    CKA_PUBLIC_EXPONENT   0000000000000000 / 0
[out] pTemplate[3]: 
    CKA_ID                0000000000000000 / 1
    CKA_MODULUS           0000000000000000 / 384
    CKA_PUBLIC_EXPONENT   0000000000000000 / 3
Returned:  0 CKR_OK

10: C_GetAttributeValue
2013-12-12 17:00:45.223
[in] hSession = 0x7f4ca298a7a0
[in] hObject = 0x7f4ca2988920
[in] pTemplate[3]: 
    CKA_ID                00007f4ca298ac50 / 1
    CKA_MODULUS           00007f4ca298b810 / 384
    CKA_PUBLIC_EXPONENT   00007f4ca2940e90 / 3
[out] pTemplate[3]: 
    CKA_ID                00007f4ca298ac50 / 1
    00000000  01                                               .               
    CKA_MODULUS           00007f4ca298b810 / 384
    00000000  C0 CC 9E 3C 40 31 02 AE B2 CA 36 DC 9C ED 3A 8B  ...<@1....6...:.
    00000010  56 15 CE 39 36 C9 C6 00 8A B6 87 90 1E E9 3D 31  V..96.........=1
    00000020  0F 32 D0 01 CA A0 74 FB 46 36 7E 0B F7 89 8A 3D  .2....t.F6~....=
    00000030  0B 9F 38 97 BD E8 91 97 13 B4 2F 7C 04 EB 66 B4  ..8......./|..f.
    00000040  49 18 17 BD 02 EA D9 0B BB 39 8D EB BD 09 35 08  I........9....5.
    00000050  FC 46 8F 41 48 A6 4C D8 AA C7 EA F5 90 4F 93 42  .F.AH.L......O.B
    00000060  3C 48 28 94 B3 AC 5E 95 67 B5 4E 1A 22 EA 47 77  <H(...^.g.N.".Gw
    00000070  35 4E 1B D3 7D F9 6E 66 1A C7 D1 E2 BC 1E 72 FD  5N..}.nf......r.
    00000080  0B 79 0A F5 F0 5C 63 C2 45 2D 28 64 4B C2 EE 0B  .y...\c.E-(dK...
    00000090  CC E8 95 E2 84 05 DC E0 EC D1 1B 41 31 06 FF 21  ...........A1..!
    000000A0  17 92 F1 12 73 CF 10 21 6D 43 74 10 23 71 9E F8  ....s..!mCt.#q..
    000000B0  94 B8 AB 23 77 E0 11 98 D0 C4 BE 1F A6 27 93 8E  ...#w........'..
    000000C0  D1 EB 25 ED 10 06 52 41 53 FD F5 C7 C9 09 96 1C  ..%...RAS.......
    000000D0  F0 86 B1 72 7E F2 B3 6E 86 BD 20 A9 87 57 6D 5D  ...r~..n.. ..Wm]
    000000E0  DE 68 3E 8E C3 4F 47 59 95 72 14 F5 B0 A3 82 D5  .h>..OGY.r......
    000000F0  B1 DD 36 7F DE 6D 33 02 50 8A 77 12 36 3A 30 D7  ..6�.m3.P.w.6:0.
    00000100  92 90 4D BF 29 B4 0B 40 D1 60 02 41 5F 4B DC E4  ..M.)..@.`.A_K..
    00000110  A7 A3 52 E0 2C 29 A1 6C 4D 69 04 6E EB 19 D8 C8  ..R.,).lMi.n....
    00000120  20 28 6E 75 09 94 70 60 49 E8 F5 90 9F E6 4C CE   (nu..p`I.....L.
    00000130  00 E8 06 DB 90 A7 58 56 7D F1 87 CC 01 EE 0C 68  ......XV}......h
    00000140  B7 14 44 E5 35 EE 1E 68 7C A7 DF 9C 1D EB 63 6D  ..D.5..h|.....cm
    00000150  71 71 46 2A 3E 84 0B 18 37 8D D3 2E 42 6A AB 1D  qqF*>...7...Bj..
    00000160  0F CD 96 9E 2B 3B 4F A5 5B 69 9C E2 50 E4 AE CF  ....+;O.[i..P...
    00000170  DA B7 E6 D7 EA 06 9D 44 68 99 ED 9E 1E 27 1D 47  .......Dh....'.G
    CKA_PUBLIC_EXPONENT   00007f4ca2940e90 / 3
    00000000  01 00 01                                         ...             
Returned:  0 CKR_OK

11: C_FindObjects
2013-12-12 17:00:45.224
[in] hSession = 0x7f4ca298a7a0
[in] ulMaxObjectCount = 0x1
[out] ulObjectCount = 0x0
Returned:  0 CKR_OK

12: C_FindObjectsFinal
2013-12-12 17:00:45.224
[in] hSession = 0x7f4ca298a7a0
Returned:  0 CKR_OK

13: C_GetTokenInfo
2013-12-12 17:00:45.224
[in] slotID = 0x2
[out] pInfo: 
      label:                  'OpenPGP card (User PIN)         '
      manufacturerID:         'ZeitControl                     '
      model:                  'PKCS#15 emulated'
      serialNumber:           '000500001371    '
      ulMaxSessionCount:       0
      ulSessionCount:          0
      ulMaxRwSessionCount:     0
      ulRwSessionCount:        0
      ulMaxPinLen:             32
      ulMinPinLen:             6
      ulTotalPublicMemory:     -1
      ulFreePublicMemory:      -1
      ulTotalPrivateMemory:    -1
      ulFreePrivateMemory:     -1
      hardwareVersion:         0.0
      firmwareVersion:         0.0
      time:                   '                '
      flags:                   50d
        CKF_RNG                          
        CKF_LOGIN_REQUIRED               
        CKF_USER_PIN_INITIALIZED         
        CKF_PROTECTED_AUTHENTICATION_PATH
        CKF_TOKEN_INITIALIZED            
Returned:  0 CKR_OK

14: C_OpenSession
2013-12-12 17:00:45.224
[in] slotID = 0x2
[in] flags = 0x6
pApplication=(nil)
Notify=(nil)
[out] *phSession = 0x7f4ca298ab40
Returned:  0 CKR_OK

15: C_FindObjectsInit
2013-12-12 17:00:45.224
[in] hSession = 0x7f4ca298ab40
[in] pTemplate[1]: 
    CKA_CLASS             CKO_PUBLIC_KEY       
Returned:  0 CKR_OK

16: C_FindObjects
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] ulMaxObjectCount = 0x1
[out] ulObjectCount = 0x1
Object 0x7f4ca29896c0 matches
Returned:  0 CKR_OK

17: C_GetAttributeValue
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] hObject = 0x7f4ca29896c0
[in] pTemplate[3]: 
    CKA_ID                0000000000000000 / 0
    CKA_MODULUS           0000000000000000 / 0
    CKA_PUBLIC_EXPONENT   0000000000000000 / 0
[out] pTemplate[3]: 
    CKA_ID                0000000000000000 / 1
    CKA_MODULUS           0000000000000000 / 256
    CKA_PUBLIC_EXPONENT   0000000000000000 / 3
Returned:  0 CKR_OK

18: C_GetAttributeValue
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] hObject = 0x7f4ca29896c0
[in] pTemplate[3]: 
    CKA_ID                00007f4ca298b920 / 1
    CKA_MODULUS           00007f4ca298bc60 / 256
    CKA_PUBLIC_EXPONENT   00007f4ca298b940 / 3
[out] pTemplate[3]: 
    CKA_ID                00007f4ca298b920 / 1
    00000000  02                                               .               
    CKA_MODULUS           00007f4ca298bc60 / 256
    00000000  A0 B9 0F 54 FB 54 38 B8 6F 89 3B A2 CC 50 A6 09  ...T.T8.o.;..P..
    00000010  44 12 20 46 05 DC 83 5B 6D AA AF 52 E3 1D 68 69  D. F...[m..R..hi
    00000020  23 94 2E E9 2B EE 80 38 5F 96 99 40 35 80 6F 87  #[email protected].
    00000030  13 43 CA 35 2C 5F FE D7 70 09 6B 2C 05 8F 9F 49  .C.5,_..p.k,...I
    00000040  E2 EC 09 22 A5 87 E1 F0 8A C8 E3 91 ED E8 BF 66  ..."...........f
    00000050  50 88 DB 7A 00 1B 65 16 31 C4 AC 97 DA 86 1C 6E  P..z..e.1......n
    00000060  6A 42 48 9D C5 2A 9B B6 9B B5 2B 26 84 98 A1 B4  jBH..*....+&....
    00000070  14 3A 5E CC 53 57 E1 4F FF DA EB AB 95 32 91 94  .:^.SW.O.....2..
    00000080  CA 49 2E E9 B3 7A 00 1A 9C 77 7B 96 4A 8A 54 EF  .I...z...w{.J.T.
    00000090  37 11 47 B9 5E 82 FC 99 8C 67 A8 7D D8 20 0C 99  7.G.^....g.}. ..
    000000A0  61 91 AD DF F6 A6 7B EA 8B 94 9A CF 07 E2 84 CA  a.....{.........
    000000B0  7F 53 C2 07 D9 C7 8D 2F B3 F0 E9 41 76 63 BD 48  �S...../...Avc.H
    000000C0  07 A9 FE F1 94 63 44 5F CA 5A C6 97 BE 5B 6D 4B  .....cD_.Z...[mK
    000000D0  2D 37 5C 18 9B 2B 37 37 A4 05 94 3B 42 01 ED 06  -7\..+77...;B...
    000000E0  56 E4 A0 59 F5 48 99 80 4D D4 D6 BC 3B 9D 29 F4  V..Y.H..M...;.).
    000000F0  C4 9B BC FA F5 2C 43 3F 5C 6E BE 80 CA C1 EB 79  .....,C?\n.....y
    CKA_PUBLIC_EXPONENT   00007f4ca298b940 / 3
    00000000  01 00 01                                         ...             
Returned:  0 CKR_OK

19: C_FindObjects
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] ulMaxObjectCount = 0x1
[out] ulObjectCount = 0x1
Object 0x7f4ca298a520 matches
Returned:  0 CKR_OK

20: C_GetAttributeValue
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] hObject = 0x7f4ca298a520
[in] pTemplate[3]: 
    CKA_ID                0000000000000000 / 0
    CKA_MODULUS           0000000000000000 / 0
    CKA_PUBLIC_EXPONENT   0000000000000000 / 0
[out] pTemplate[3]: 
    CKA_ID                0000000000000000 / 1
    CKA_MODULUS           0000000000000000 / 256
    CKA_PUBLIC_EXPONENT   0000000000000000 / 3
Returned:  0 CKR_OK

21: C_GetAttributeValue
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] hObject = 0x7f4ca298a520
[in] pTemplate[3]: 
    CKA_ID                00007f4ca298b940 / 1
    CKA_MODULUS           00007f4ca298bc60 / 256
    CKA_PUBLIC_EXPONENT   00007f4ca298b920 / 3
[out] pTemplate[3]: 
    CKA_ID                00007f4ca298b940 / 1
    00000000  03                                               .               
    CKA_MODULUS           00007f4ca298bc60 / 256
    00000000  C0 2F 62 4D 9D 1D 04 0E 2A 1C 8B 1C A0 1D 2A 78  ./bM....*.....*x
    00000010  CE 64 5F A4 00 62 F0 3D CD 3B D0 68 8C B6 E2 15  .d_..b.=.;.h....
    00000020  E1 40 68 C4 85 49 1E 86 4C 7B AC 66 41 44 BF A8  [email protected]{.fAD..
    00000030  83 AE 1F 9A AE C5 FC 2A 3F 59 F3 A8 3A FA CD 7C  .......*?Y..:..|
    00000040  C0 7C 1F 59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59  .|.Y.....M..AUqY
    00000050  47 30 27 93 32 45 01 76 39 7F BE C9 6B 46 A9 13  G0'.2E.v9�..kF..
    00000060  80 84 2F 2E 42 94 A4 45 6F ED D9 22 2C 6C 66 F1  ../.B..Eo..",lf.
    00000070  3D 69 B5 02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08  =i.......<.>....
    00000080  93 6B A3 F3 A2 0A 0A CB 90 95 D2 5D 27 2F 66 F4  .k.........]'/f.
    00000090  A3 34 4C 51 D1 0E 48 F1 0B 96 45 74 25 45 40 8C  .4LQ..H...Et%E@.
    000000A0  DE AF 50 2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40  ..P/..v...{.H.8@
    000000B0  DC 72 88 84 D1 EC 6E C4 F3 EB 94 B7 35 32 44 D9  .r....n.....52D.
    000000C0  5E 7B 0B 49 A7 91 36 F1 51 DA 74 9E F2 FF 04 A5  ^{.I..6.Q.t.....
    000000D0  B8 DF A2 93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76  .....D5[.a...-dv
    000000E0  A5 F7 8A 1A CB 51 BD 7F B4 86 D6 78 1E 82 B8 81  .....Q.�...x....
    000000F0  21 4A E8 F9 15 7F 5C 3B 51 9F 43 A1 19 83 61 0D  !J...�\;Q.C...a.
    CKA_PUBLIC_EXPONENT   00007f4ca298b920 / 3
    00000000  01 00 01                                         ...             
Returned:  0 CKR_OK

22: C_FindObjects
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
[in] ulMaxObjectCount = 0x1
[out] ulObjectCount = 0x0
Returned:  0 CKR_OK

23: C_FindObjectsFinal
2013-12-12 17:00:45.225
[in] hSession = 0x7f4ca298ab40
Returned:  0 CKR_OK

24: C_Login
2013-12-12 17:00:52.777
[in] hSession = 0x7f4ca298ab40
[in] userType = CKU_USER
[in] pPin[ulPinLen] 00007f4ca298d400 / 0
    00000000  ðÁ�¢L�                                                           
Returned:  5 CKR_GENERAL_ERROR

@LudovicRousseau
Copy link
Member

C_Login() is called with a 0-bytes length PIN and not with NULL.
SSH has not detected the flag CKF_PROTECTED_AUTHENTICATION_PATH reported by C_GetTokenInfo.

It looks like a SSH bug/limitation.

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

opensc still tried to do pinpad authentification:

0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:1655:pcsc_pin_cmd: PC/SC v2 pinpad block: 1e:1e:02:00:00:20:06:02:00:00:00:00:00:00:00:05:00:00:00:00:20:00:82:00
0x7fea12807800 15:03:36.791 [opensc-pkcs11] reader-pcsc.c:182:pcsc_internal_transmit: called
0x7fea12807800 15:03:36.843 [opensc-pkcs11] reader-pcsc.c:208:pcsc_internal_transmit: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00:SCardTransmit/Control failed: 0x80100016

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

Also patching the C_Login() function and setting pin to a null pointer and pinlength to 0 leads to the same result.

@dengert
Copy link
Member

dengert commented Dec 12, 2013

On 12/12/2013 10:28 AM, Dominik Heidler wrote:

Also patching the |C_Login()| function and setting pin to a null pointer and pinlength to 0 leads to the same result.

If you are still getting:
reader-pcsc.c:1659:pcsc_pin_cmd: PC/SC v2 pinpad: block transmit failed!: -1107 (Transmit failed)

Try running pcscd in debug mode to see the commands. something like:

/usr/sbin/pcscd -a -f -d

There were some issues with the byte order of the pin-pad commands.

What is the endian of your processor?

Does the pin-pad work for any other applications?


Reply to this email directly or view it on GitHub #199 (comment).

Douglas E. Engert [email protected]
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

I'm working on a little endian system.

I successfully used the pinpad with gnupg (latest git version, which has some fixes for variable pinlength)

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

pcscd -a -f -d log

00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000066 configfile.l:254:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000016 configfile.l:266:DBGetReaderListDir() Skipping non regular file: ..
00000002 configfile.l:266:DBGetReaderListDir() Skipping non regular file: .
00000005 configfile.l:307:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000038 configfile.l:307:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/reader.conf
00000026 pcscdaemon.c:545:main() pcsc-lite 1.8.10 daemon ready.
00001484 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x3012, path: /dev/bus/usb/003/002
00000071 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x2003, path: /dev/bus/usb/003/003
00000101 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001
00000104 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000103 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000100 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/006/001
00000100 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000073 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000091 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000077 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000102 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000085 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000019 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000003 hotplug_libudev.c:321:HPAddDevice() Adding USB device: Cherry GmbH SmartTerminal ST-2xxx
00000042 readerfactory.c:989:RFInitializeReader() Attempting startup of Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000153 readerfactory.c:874:RFBindFunctions() Loading IFD Handler 3.0
00000022 ifdhandler.c:1843:init_driver() Driver version: 1.4.13
00000511 ifdhandler.c:1860:init_driver() LogLevel: 0x0003
00000005 ifdhandler.c:1871:init_driver() DriverOptions: 0x0000
00000093 ifdhandler.c:83:CreateChannelByNameOrChannel() Lun: 0, device: usb:046a/003e:libudev:0:/dev/bus/usb/007/003
00000022 ccid_usb.c:281:OpenUSBByName() Using: /usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000447 ccid_usb.c:299:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau ([email protected])
00000005 ccid_usb.c:300:OpenUSBByName() ifdProductString: Generic CCID driver
00000003 ccid_usb.c:301:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
00001272 ccid_usb.c:576:OpenUSBByName() Found Vendor/Product: 046A/003E (Cherry GmbH SmartTerminal ST-2xxx)
00000004 ccid_usb.c:578:OpenUSBByName() Using USB bus/device: 7/3
00001267 ccid_usb.c:1142:ControlUSB() control failed (7/3): -9 Success
00000007 ccid_usb.c:1073:get_data_rates() IFD does not support GET_DATA_RATES request: -9
00114966 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB3, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 readerfactory.c:332:RFAddReader() Using the reader polling thread
00002051 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFAE, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000034 ifdhandler.c:450:IFDHGetCapabilities() Reader supports 1 slot(s)
00000178 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000091 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000090 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000084 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000042 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
17255433 ifdhandler.c:1122:IFDHPowerICC() action: PowerUp, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00191022 eventhandler.c:381:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000010 eventhandler.c:396:EHStatusHandlerThread() Card inserted into Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00000009 Card ATR: 3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40 00 90 00 0C 
01701257 winscard_msg_srv.c:230:ProcessEventsServer() Common channel packet arrival
00000055 winscard_msg_srv.c:242:ProcessEventsServer() ProcessCommonChannelRequest detects: 9
00000006 pcscdaemon.c:111:SVCServiceRunLoop() A new context thread creation is requested: 9
00000066 winscard_svc.c:301:ContextThread() Thread is started: dwClientID=9, threadContext @0x9cb740
00000031 winscard_svc.c:319:ContextThread() Received command: CMD_VERSION from client 9
00000009 winscard_svc.c:331:ContextThread() Client is protocol version 4:3
00000003 winscard_svc.c:351:ContextThread() CMD_VERSION rv=0x0 for client 9
00000038 winscard_svc.c:319:ContextThread() Received command: ESTABLISH_CONTEXT from client 9
00000041 winscard.c:193:SCardEstablishContext() Establishing Context: 0x623D73AC
00000018 winscard_svc.c:412:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 9
00000041 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000038 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000089 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000094 winscard_svc.c:319:ContextThread() Received command: CONNECT from client 9
00000034 winscard.c:235:SCardConnect() Attempting Connect to Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 using protocol: 3
00000019 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000016 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000016 prothandler.c:87:PHSetProtocol() Attempting PTS to T=1
00000017 ifdhandler.c:668:IFDHSetProtocolParameters() protocol T=1, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000018 ifdhandler.c:1980:extra_egt() Extra EGT patch applied
00016162 winscard.c:409:SCardConnect() Active Protocol: T=1
00000012 winscard.c:429:SCardConnect() hCard Identity: 66cf2332
00000004 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000004 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client 9
00000102 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000025 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42000D48, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000017 Control TxBuffer: 
00000019 Control RxBuffer: 06 04 42 33 00 06 07 04 42 33 00 07 0A 04 42 33 00 0A 12 04 42 33 00 12 
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000415 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000083 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000021 ifdhandler.c:1359:IFDHControl() ControlCode: 0x4233000A, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 Control TxBuffer: 
00000015 Control RxBuffer: 00 00 07 00 
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000055 winscard_svc.c:319:ContextThread() Received command: DISCONNECT from client 9
00000031 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000016 winscard.c:850:SCardDisconnect() Active Contexts: 1
00000015 winscard.c:851:SCardDisconnect() dwDisposition: 0
00000015 winscard.c:1016:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000016 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000015 ifdhandler.c:327:IFDHStopPolling() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000884 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 2
00000027 winscard_svc.c:490:ContextThread() DISCONNECT rv=0x0 for client 9
00000186 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000062 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000024 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000020 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000037 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000110 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000045 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000022 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000019 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000225 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000050 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000023 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000019 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000054 winscard_svc.c:319:ContextThread() Received command: CONNECT from client 9
00000020 winscard.c:235:SCardConnect() Attempting Connect to Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 using protocol: 3
00000017 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000015 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000014 winscard.c:409:SCardConnect() Active Protocol: T=1
00000015 winscard.c:429:SCardConnect() hCard Identity: 4f59ca61
00000015 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000016 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client 9
00002843 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000304 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000027 APDU: 00 A4 04 00 06 D2 76 00 01 24 01 00 
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00020731 SW: 62 15 84 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 8A 01 05 90 00 
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000251 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000038 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000014 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00002121 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000311 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000048 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 5F 52 00 08 00 
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00012105 SW: 00 31 C5 73 C0 01 40 05 90 00 90 00 
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000240 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000039 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000014 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00001508 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000282 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000044 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 00 6E 00 08 00 
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00087798 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 02 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00 
00000056 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000018 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000748 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000217 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000007 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000003 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00001736 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000443 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000046 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 00 65 00 08 00 
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00026635 SW: 5B 10 48 65 69 64 6C 65 72 3C 3C 44 6F 6D 69 6E 69 6B 5F 2D 02 64 65 5F 35 01 31 90 00 
00000011 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00001256 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000016 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000004 APDU: 00 CA 7F 21 00 08 00 
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00159881 SW: 30 82 05 32 30 82 03 1A A0 03 02 01 02 02 03 0B A9 70 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 30 79 31 10 30 0E 06 03 55 04 0A 13 07 52 6F 6F 74 20 43 41 31 1E 30 1C 06 03 55 04 0B 13 15 68 74 74 70 3A 2F 2F 77 77 77 2E 63 61 63 65 72 74 2E 6F 72 67 31 22 30 20 06 03 55 04 03 13 19 43 41 20 43 65 72 74 20 53 69 67 6E 69 6E 67 20 41 75 74 68 6F 72 69 74 79 31 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 73 75 70 70 6F 72 74 40 63 61 63 65 72 74 2E 6F 72 67 30 1E 17 0D 31 32 30 34 32 36 32 32 32 30 34 30 5A 17 0D 31 34 30 34 32 36 32 32 32 30 34 30 5A 30 3D 31 18 30 16 06 03 55 04 03 13 0F 44 6F 6D 69 6E 69 6B 20 48 65 69 64 6C 65 72 31 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 64 68 65 69 64 6C 65 72 40 67 6D 61 69 6C 2E 63 6F 6D 30 82 01 22 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01 00 C0 2F 62 4D 9D 1D 04 0E 2A 1C 8B 1C A0 1D 2A 78 CE 64 5F A4 00 62 F0 3D CD 3B D0 68 8C B6 E2 15 E1 40 68 C4 85 49 1E 86 4C 7B AC 66 41 44 BF A8 83 AE 1F 9A AE C5 FC 2A 3F 59 F3 A8 3A FA CD 7C C0 7C 1F 59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59 47 30 27 93 32 45 01 76 39 7F BE C9 6B 46 A9 13 80 84 2F 2E 42 94 A4 45 6F ED D9 22 2C 6C 66 F1 3D 69 B5 02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08 93 6B A3 F3 A2 0A 0A CB 90 95 D2 5D 27 2F 66 F4 A3 34 4C 51 D1 0E 48 F1 0B 96 45 74 25 45 40 8C DE AF 50 2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40 DC 72 88 84 D1 EC 6E C4 F3 EB 94 B7 35 32 44 D9 5E 7B 0B 49 A7 91 36 F1 51 DA 74 9E F2 FF 04 A5 B8 DF A2 93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76 A5 F7 8A 1A CB 51 BD 7F B4 86 D6 78 1E 82 B8 81 21 4A E8 F9 15 7F 5C 3B 51 9F 43 A1 19 83 61 0D 02 03 01 00 01 A3 81 FE 30 81 FB 30 0C 06 03 55 1D 13 01 01 FF 04 02 30 00 30 56 06 09 60 86 48 01 86 F8 42 01 0D 04 49 16 47 54 6F 20 67 65 74 20 79 6F 75 72 20 6F 77 6E 20 63 65 72 74 69 66 69 63 61 74 65 20 66 6F 72 20 46 52 45 45 20 68 65 61 64 20 6F 76 65 72 20 74 6F 20 68 74 74 70 3A 2F 2F 77 77 77 2E 43 41 63 65 72 74 2E 6F 72 67 30 40 06 03 55 1D 25 04 39 30 37 06 08 2B 06 01 05 05 07 03 04 06 08 2B 06 01 05 05 07 03 02 06 0A 2B 06 01 04 01 82 37 0A 03 04 06 0A 2B 06 01 04 01 82 37 0A 03 03 06 09 60 86 48 01 86 F8 42 04 01 30 32 06 08 2B 06 01 05 05 07 01 01 04 26 30 24 30 22 06 08 2B 06 01 05 05 07 30 01 86 16 68 74 74 70 3A 2F 2F 6F 63 73 70 2E 63 61 63 65 72 74 2E 6F 72 67 30 1D 06 03 55 1D 11 04 16 30 14 81 12 64 68 65 69 64 6C 65 72 40 67 6D 61 69 6C 2E 63 6F 6D 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 03 82 02 01 00 88 5B 38 B1 3B 21 EE 5D FD E2 7A B6 6B E3 0F 57 EC 32 91 4B ED 15 66 5A 58 CF C8 0D 0E 2B 9A B4 AE 07 21 E7 67 E7 C4 42 62 31 0C B9 D4 85 10 92 2F A4 57 18 0B 0C 27 5F F1 06 90 38 89 92 64 BA 05 F1 48 F3 63 A9 49 1B 8C 24 51 66 60 86 46 9B EB D5 B3 AA B3 D9 50 D3 F7 B3 E4 F9 6A 38 E7 AE 5D F5 B0 D8 AB 81 D3 90 8E 24 D4 22 1B 13 EF C5 51 B2 66 3C 68 CB B7 62 B3 95 90 2E C0 2D 34 0F 7C 3B E3 B7 51 82 46 48 48 02 17 B8 F7 35 7C 1E 4E 5D 42 90 C5 B7 DF 27 F0 27 FE 35 D2 E2 A2 11 D6 4B E3 71 AE 2E D3 74 60 DF 3C D4 F9 78 44 46 1C A2 08 44 10 8F DA FB 84 CD 0C 22 4C B9 A3 53 0A A5 C2 93 65 89 45 B8 4E 1A 88 E9 62 7E 94 62 5F A7 F2 B0 D3 D3 6B 2C 31 0A C7 63 2A 55 62 F0 BA F4 3C A6 EF 20 E2 D3 69 C4 F2 E1 75 C5 0B CC A0 78 70 F3 11 F9 B2 C9 1A 60 5B B6 6C 55 6E BB BA 71 4D 89 2F 6A 7C 67 2E DC 20 E2 49 B1 E4 01 CC 3A F9 43 96 B8 EB FF 57 ED 52 12 FA AE C9 A6 EA BA 84 9C C4 32 37 0D 49 93 69 28 96 AA DB AE 7C 05 2C 60 FA 25 20 29 03 7A 4D F7 06 19 7C 7C FC F5 B2 D5 A8 FA C2 CE 98 A9 34 C3 BF 9A B4 4E 35 78 75 E5 EA B2 CE BC C8 73 3F 2E 32 56 9C 24 37 27 41 3A 08 E8 E3 B7 22 B2 EF 6F 31 9D 81 20 CC FB 22 3E 6B F2 C3 7A 2A 05 AB 19 BD 65 19 4B FA BF CD 75 80 FC FD 03 64 B1 B4 3A BB 13 BE C5 09 4B A6 16 B8 56 53 69 BE 04 88 2B 1E 7B 0F 5E 44 48 71 F0 31 56 BC 83 35 6B 06 F1 A4 69 72 78 85 A1 E7 66 D4 35 BB 8A 04 9B 3F B4 99 89 D8 70 93 5B 52 03 0C 73 F7 1C C2 F8 DC F4 D2 BF FD 02 3F 7E 8D BE 5B DD DE F9 7C FC 12 22 35 32 D9 80 1C B2 E4 71 6A A8 F6 F6 21 C8 F7 00 37 17 56 13 D7 55 96 BC 67 B8 63 3A E2 DF 68 C0 95 77 4A FB 90 00 
00000021 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000006 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000479 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000034 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00010630 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000013 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000395 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000018 APDU: 00 47 81 00 00 00 02 B6 00 08 00 
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00159135 SW: 7F 49 82 01 8A 81 82 01 80 C0 CC 9E 3C 40 31 02 AE B2 CA 36 DC 9C ED 3A 8B 56 15 CE 39 36 C9 C6 00 8A B6 87 90 1E E9 3D 31 0F 32 D0 01 CA A0 74 FB 46 36 7E 0B F7 89 8A 3D 0B 9F 38 97 BD E8 91 97 13 B4 2F 7C 04 EB 66 B4 49 18 17 BD 02 EA D9 0B BB 39 8D EB BD 09 35 08 FC 46 8F 41 48 A6 4C D8 AA C7 EA F5 90 4F 93 42 3C 48 28 94 B3 AC 5E 95 67 B5 4E 1A 22 EA 47 77 35 4E 1B D3 7D F9 6E 66 1A C7 D1 E2 BC 1E 72 FD 0B 79 0A F5 F0 5C 63 C2 45 2D 28 64 4B C2 EE 0B CC E8 95 E2 84 05 DC E0 EC D1 1B 41 31 06 FF 21 17 92 F1 12 73 CF 10 21 6D 43 74 10 23 71 9E F8 94 B8 AB 23 77 E0 11 98 D0 C4 BE 1F A6 27 93 8E D1 EB 25 ED 10 06 52 41 53 FD F5 C7 C9 09 96 1C F0 86 B1 72 7E F2 B3 6E 86 BD 20 A9 87 57 6D 5D DE 68 3E 8E C3 4F 47 59 95 72 14 F5 B0 A3 82 D5 B1 DD 36 7F DE 6D 33 02 50 8A 77 12 36 3A 30 D7 92 90 4D BF 29 B4 0B 40 D1 60 02 41 5F 4B DC E4 A7 A3 52 E0 2C 29 A1 6C 4D 69 04 6E EB 19 D8 C8 20 28 6E 75 09 94 70 60 49 E8 F5 90 9F E6 4C CE 00 E8 06 DB 90 A7 58 56 7D F1 87 CC 01 EE 0C 68 B7 14 44 E5 35 EE 1E 68 7C A7 DF 9C 1D EB 63 6D 71 71 46 2A 3E 84 0B 18 37 8D D3 2E 42 6A AB 1D 0F CD 96 9E 2B 3B 4F A5 5B 69 9C E2 50 E4 AE CF DA B7 E6 D7 EA 06 9D 44 68 99 ED 9E 1E 27 1D 47 82 04 00 01 00 01 90 00 
00000015 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000343 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000037 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000023 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00003634 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000178 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000027 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000017 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 47 81 00 00 00 02 B8 00 08 00 
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00142610 SW: 7F 49 82 01 0A 81 82 01 00 A0 B9 0F 54 FB 54 38 B8 6F 89 3B A2 CC 50 A6 09 44 12 20 46 05 DC 83 5B 6D AA AF 52 E3 1D 68 69 23 94 2E E9 2B EE 80 38 5F 96 99 40 35 80 6F 87 13 43 CA 35 2C 5F FE D7 70 09 6B 2C 05 8F 9F 49 E2 EC 09 22 A5 87 E1 F0 8A C8 E3 91 ED E8 BF 66 50 88 DB 7A 00 1B 65 16 31 C4 AC 97 DA 86 1C 6E 6A 42 48 9D C5 2A 9B B6 9B B5 2B 26 84 98 A1 B4 14 3A 5E CC 53 57 E1 4F FF DA EB AB 95 32 91 94 CA 49 2E E9 B3 7A 00 1A 9C 77 7B 96 4A 8A 54 EF 37 11 47 B9 5E 82 FC 99 8C 67 A8 7D D8 20 0C 99 61 91 AD DF F6 A6 7B EA 8B 94 9A CF 07 E2 84 CA 7F 53 C2 07 D9 C7 8D 2F B3 F0 E9 41 76 63 BD 48 07 A9 FE F1 94 63 44 5F CA 5A C6 97 BE 5B 6D 4B 2D 37 5C 18 9B 2B 37 37 A4 05 94 3B 42 01 ED 06 56 E4 A0 59 F5 48 99 80 4D D4 D6 BC 3B 9D 29 F4 C4 9B BC FA F5 2C 43 3F 5C 6E BE 80 CA C1 EB 79 82 04 00 01 00 01 90 00 
00000013 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000295 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000026 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000006 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000003 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00004579 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000368 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000005 APDU: 00 47 81 00 00 00 02 A4 00 08 00 
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00142661 SW: 7F 49 82 01 0A 81 82 01 00 C0 2F 62 4D 9D 1D 04 0E 2A 1C 8B 1C A0 1D 2A 78 CE 64 5F A4 00 62 F0 3D CD 3B D0 68 8C B6 E2 15 E1 40 68 C4 85 49 1E 86 4C 7B AC 66 41 44 BF A8 83 AE 1F 9A AE C5 FC 2A 3F 59 F3 A8 3A FA CD 7C C0 7C 1F 59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59 47 30 27 93 32 45 01 76 39 7F BE C9 6B 46 A9 13 80 84 2F 2E 42 94 A4 45 6F ED D9 22 2C 6C 66 F1 3D 69 B5 02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08 93 6B A3 F3 A2 0A 0A CB 90 95 D2 5D 27 2F 66 F4 A3 34 4C 51 D1 0E 48 F1 0B 96 45 74 25 45 40 8C DE AF 50 2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40 DC 72 88 84 D1 EC 6E C4 F3 EB 94 B7 35 32 44 D9 5E 7B 0B 49 A7 91 36 F1 51 DA 74 9E F2 FF 04 A5 B8 DF A2 93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76 A5 F7 8A 1A CB 51 BD 7F B4 86 D6 78 1E 82 B8 81 21 4A E8 F9 15 7F 5C 3B 51 9F 43 A1 19 83 61 0D 82 04 00 01 00 01 90 00 
00000014 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000288 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000053 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000020 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00009059 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000350 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000036 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000014 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00003359 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000045 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000096 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000040 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000046 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000036 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000038 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000141 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000036 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000028 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
02642164 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000016 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000122 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000020 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000016 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330012, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 Control TxBuffer: 
00000015 Control RxBuffer: 01 02 00 00 03 01 00 09 01 00 0B 02 6A 04 0C 02 3E 00 0A 04 00 00 01 00 
00000013 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000011 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000471 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000006 Control TxBuffer: 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 00 05 00 00 00 00 20 00 82 00 
00051269 commands.c:1407:CCID_Receive Command not supported or not allowed
00000016 Control RxBuffer: 
00000005 ifdwrapper.c:461:IFDControl() Card not transacted: 612
00000003 ifdwrapper.c:463:IFDControl() ControlCode: 0x42330006 BytesReturned: 0
00000007 TxBuffer 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 05 05 00 00 00 00 20 00 82 00 
00000001 RxBuffer 
00000003 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000004 winscard_svc.c:652:ContextThread() CONTROL rv=0x80100016 for client 9
00000109 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000049 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000030 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000008 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000029 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000087 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000047 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000023 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000020 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000032 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000161 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000025 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000017 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000014 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
05467726 winscard_svc.c:311:ContextThread() Client die: 9
00000080 winscard.c:204:SCardReleaseContext() Releasing Context: 0x623D73AC
00000028 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 2
00000015 winscard.c:850:SCardDisconnect() Active Contexts: 1
00000015 winscard.c:851:SCardDisconnect() dwDisposition: 0
00000015 winscard.c:1016:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000016 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000014 ifdhandler.c:327:IFDHStopPolling() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00001226 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 3
00000038 winscard_svc.c:817:MSGRemoveContext() UnrefReader() count was: 2
00000008 winscard_svc.c:933:MSGCleanupClient() Thread is stopping: dwClientID=9, threadContext @0x9cb740
00000002 winscard_svc.c:939:MSGCleanupClient() Freeing SCONTEXT @0x9cb740
00399974 eventhandler.c:467:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
05004947 ifdhandler.c:1122:IFDHPowerICC() action: PowerDown, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00001998 eventhandler.c:455:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED

@dengert
Copy link
Member

dengert commented Dec 12, 2013

Sounds like the author(s) of the OpenSC openpgp support needs to look at the pin-pad code.

On 12/12/2013 11:13 AM, Dominik Heidler wrote:

I'm working on a little endian system.

I successfully used the pinpad with gnupg (latest git version, which has some fixes for variable pinlength)


Reply to this email directly or view it on GitHub #199 (comment).

Douglas E. Engert [email protected]
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444

@dengert
Copy link
Member

dengert commented Dec 12, 2013

One more thing that might be helpful, is pcscd output of using the working openpgp code with the pin pad.
to see what works and what does not.

Since the Cherry is a key board, could it be the openpgp code is not actually using the pin pad,
but doing normal pin prompting from the host?

On 12/12/2013 11:17 AM, Dominik Heidler wrote:

|pcscd -a -f -d| log

|00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000066 configfile.l:254:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000016 configfile.l:266:DBGetReaderListDir() Skipping non regular file: ..
00000002 configfile.l:266:DBGetReaderListDir() Skipping non regular file: .
00000005 configfile.l:307:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000038 configfile.l:307:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/reader.conf
00000026 pcscdaemon.c:545:main() pcsc-lite 1.8.10 daemon ready.
00001484 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x3012, path: /dev/bus/usb/003/002
00000071 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x2003, path: /dev/bus/usb/003/003
00000101 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001
00000104 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000103 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000100 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/006/001
00000100 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000073 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000091 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000077 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000102 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000085 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000019 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000003 hotplug_libudev.c:321:HPAddDevice() Adding USB device: Cherry GmbH SmartTerminal ST-2xxx
00000042 readerfactory.c:989:RFInitializeReader() Attempting startup of Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00 00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000153 readerfactory.c:874:RFBindFunctions() Loading IFD Handler 3.0
00000022 ifdhandler.c:1843:init_driver() Driver version: 1.4.13
00000511 ifdhandler.c:1860:init_driver() LogLevel: 0x0003
00000005 ifdhandler.c:1871:init_driver() DriverOptions: 0x0000
00000093 ifdhandler.c:83:CreateChannelByNameOrChannel() Lun: 0, device: usb:046a/003e:libudev:0:/dev/bus/usb/007/003
00000022 ccid_usb.c:281:OpenUSBByName() Using: /usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000447 ccid_usb.c:299:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau ([email protected])
00000005 ccid_usb.c:300:OpenUSBByName() ifdProductString: Generic CCID driver
00000003 ccid_usb.c:301:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
00001272 ccid_usb.c:576:OpenUSBByName() Found Vendor/Product: 046A/003E (Cherry GmbH SmartTerminal ST-2xxx)
00000004 ccid_usb.c:578:OpenUSBByName() Using USB bus/device: 7/3
00001267 ccid_usb.c:1142:ControlUSB() control failed (7/3): -9 Success
00000007 ccid_usb.c:1073:get_data_rates() IFD does not support GET_DATA_RATES request: -9
00114966 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB3, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 readerfactory.c:332:RFAddReader() Using the reader polling thread
00002051 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFAE, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000034 ifdhandler.c:450:IFDHGetCapabilities() Reader supports 1 slot(s)
00000178 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000091 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000090 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000084 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000042 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00 00
17255433 ifdhandler.c:1122:IFDHPowerICC() action: PowerUp, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00191022 eventhandler.c:381:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000010 eventhandler.c:396:EHStatusHandlerThread() Card inserted into Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00 00
00000009 Card ATR: 3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40 00 90 00 0C
01701257 winscard_msg_srv.c:230:ProcessEventsServer() Common channel packet arrival
00000055 winscard_msg_srv.c:242:ProcessEventsServer() ProcessCommonChannelRequest detects: 9
00000006 pcscdaemon.c:111:SVCServiceRunLoop() A new context thread creation is requested: 9
00000066 winscard_svc.c:301:ContextThread() Thread is started: dwClientID=9, threadContext @0x9cb740
00000031 winscard_svc.c:319:ContextThread() Received command: CMD_VERSION from client 9
00000009 winscard_svc.c:331:ContextThread() Client is protocol version 4:3
00000003 winscard_svc.c:351:ContextThread() CMD_VERSION rv=0x0 for client 9
00000038 winscard_svc.c:319:ContextThread() Received command: ESTABLISH_CONTEXT from client 9
00000041 winscard.c:193:SCardEstablishContext() Establishing Context: 0x623D73AC
00000018 winscard_svc.c:412:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 9
00000041 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000038 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000089 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000094 winscard_svc.c:319:ContextThread() Received command: CONNECT from client 9
00000034 winscard.c:235:SCardConnect() Attempting Connect to Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00 00 using protocol: 3
00000019 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000016 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000016 prothandler.c:87:PHSetProtocol() Attempting PTS to T=1
00000017 ifdhandler.c:668:IFDHSetProtocolParameters() protocol T=1, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000018 ifdhandler.c:1980:extra_egt() Extra EGT patch applied
00016162 winscard.c:409:SCardConnect() Active Protocol: T=1
00000012 winscard.c:429:SCardConnect() hCard Identity: 66cf2332
00000004 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000004 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client 9
00000102 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000025 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42000D48, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000017 Control TxBuffer:
00000019 Control RxBuffer: 06 04 42 33 00 06 07 04 42 33 00 07 0A 04 42 33 00 0A 12 04 42 33 00 12
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000415 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000083 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000021 ifdhandler.c:1359:IFDHControl() ControlCode: 0x4233000A, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 Control TxBuffer:
00000015 Control RxBuffer: 00 00 07 00
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000055 winscard_svc.c:319:ContextThread() Received command: DISCONNECT from client 9
00000031 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000016 winscard.c:850:SCardDisconnect() Active Contexts: 1
00000015 winscard.c:851:SCardDisconnect() dwDisposition: 0
00000015 winscard.c:1016:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000016 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000015 ifdhandler.c:327:IFDHStopPolling() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000884 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 2
00000027 winscard_svc.c:490:ContextThread() DISCONNECT rv=0x0 for client 9
00000186 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000062 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000024 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000020 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000037 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000110 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000045 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000022 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000019 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000225 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000050 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000023 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000019 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000054 winscard_svc.c:319:ContextThread() Received command: CONNECT from client 9
00000020 winscard.c:235:SCardConnect() Attempting Connect to Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00 00 using protocol: 3
00000017 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000015 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000014 winscard.c:409:SCardConnect() Active Protocol: T=1
00000015 winscard.c:429:SCardConnect() hCard Identity: 4f59ca61
00000015 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000016 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client 9
00002843 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000304 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000027 APDU: 00 A4 04 00 06 D2 76 00 01 24 01 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00020731 SW: 62 15 84 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 8A 01 05 90 00
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000251 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000038 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000014 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00002121 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000311 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000048 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 5F 52 00 08 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00012105 SW: 00 31 C5 73 C0 01 40 05 90 00 90 00
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000240 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000039 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000014 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00001508 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000282 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000044 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 00 6E 00 08 00
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00087798 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 02 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00
00000056 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000018 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000748 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000217 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000007 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000003 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00001736 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000443 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000046 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 00 65 00 08 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00026635 SW: 5B 10 48 65 69 64 6C 65 72 3C 3C 44 6F 6D 69 6E 69 6B 5F 2D 02 64 65 5F 35 01 31 90 00
00000011 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00001256 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000016 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000004 APDU: 00 CA 7F 21 00 08 00
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00159881 SW: 30 82 05 32 30 82 03 1A A0 03 02 01 02 02 03 0B A9 70 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 30 79 31 10 30 0E 06 03 55 04 0A 13 07 52 6F 6F 74 20 43 41 31 1E 30 1C 06 03 55 04 0B 13 15 68 74 74 70 3A 2F 2F 77 77 77 2E 63 61 63 65 72 74 2E 6F 72 67 31 22 30 20 06 03 55 04 03 13 19 43 41 20 43 65 72 74 20 53 69 67 6E 69 6E 67 20 41 75 74 68 6F 72 69 74 79 31 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 73 75 70 70 6F 72 74 40 63 61 63 65 72 74 2E 6F 72 67 30 1E 17 0D 31 32 30 34 32 36 32 32 32 30 34 30 5A 17 0D 31 34 30 34 32 36 32 32 32 30 34 30 5A 30 3D 31 18 30 16 06 03 55 04 03 13 0F 44 6F 6D 69 6E 69 6B 20 48 65 69 64 6C 65 72 31 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 64 68 65 69 64 6C 65 72 40 67 6D 61 69 6C 2E 63 6F 6D 30 82 01 22 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01 00 C0 2F 62 4D 9D 1D 04 0E 2A 1C 8B 1C A0 1D 2A 78 CE 64 5F A4 00 62 F0 3D CD 3B D0 68 8C B6 E2 15 E1 40 68 C4 85 49 1E 86 4C
7B

AC 66 4
1 44 BF A8 83 AE 1F 9A AE C5 FC 2A 3F 59 F3 A8 3A FA CD 7C C0 7C 1F 59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59 47 30 27 93 32 45 01 76 39 7F BE C9 6B 46 A9 13 80 84 2F 2E 42 94 A4 45 6F ED D9 22 2C 6C 66 F1 3D 69 B5 02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08 93 6B A3 F3 A2 0A 0A CB 90 95 D2 5D 27 2F 66 F4 A3 34 4C 51 D1 0E 48 F1 0B 96 45 74 25 45 40 8C DE AF 50 2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40 DC 72 88 84 D1 EC 6E C4 F3 EB 94 B7 35 32 44 D9 5E 7B 0B 49 A7 91 36 F1 51 DA 74 9E F2 FF 04 A5 B8 DF A2 93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76 A5 F7 8A 1A CB 51 BD 7F B4 86 D6 78 1E 82 B8 81 21 4A E8 F9 15 7F 5C 3B 51 9F 43 A1 19 83 61 0D 02 03 01 00 01 A3 81 FE 30 81 FB 30 0C 06 03 55 1D 13 01 01 FF 04 02 30 00 30 56 06 09 60 86 48 01 86 F8 42 01 0D 04 49 16 47 54 6F 20 67 65 74 20 79 6F 75 72 20 6F 77 6E 20 63 65 72 74 69 66 69 63 61 74 65 20 66 6F 72 20 46 52 45 45 20 68 65 61 64 20 6F 76 65 72 20 74 6F 20 68 74 74 70 3A 2F 2F 77 77 77 2E 43 41 63 65 72 74 2E 6F 72 67 30 40 06 03
55

1D 25 04
39 30 37 06 08 2B 06 01 05 05 07 03 04 06 08 2B 06 01 05 05 07 03 02 06 0A 2B 06 01 04 01 82 37 0A 03 04 06 0A 2B 06 01 04 01 82 37 0A 03 03 06 09 60 86 48 01 86 F8 42 04 01 30 32 06 08 2B 06 01 05 05 07 01 01 04 26 30 24 30 22 06 08 2B 06 01 05 05 07 30 01 86 16 68 74 74 70 3A 2F 2F 6F 63 73 70 2E 63 61 63 65 72 74 2E 6F 72 67 30 1D 06 03 55 1D 11 04 16 30 14 81 12 64 68 65 69 64 6C 65 72 40 67 6D 61 69 6C 2E 63 6F 6D 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 03 82 02 01 00 88 5B 38 B1 3B 21 EE 5D FD E2 7A B6 6B E3 0F 57 EC 32 91 4B ED 15 66 5A 58 CF C8 0D 0E 2B 9A B4 AE 07 21 E7 67 E7 C4 42 62 31 0C B9 D4 85 10 92 2F A4 57 18 0B 0C 27 5F F1 06 90 38 89 92 64 BA 05 F1 48 F3 63 A9 49 1B 8C 24 51 66 60 86 46 9B EB D5 B3 AA B3 D9 50 D3 F7 B3 E4 F9 6A 38 E7 AE 5D F5 B0 D8 AB 81 D3 90 8E 24 D4 22 1B 13 EF C5 51 B2 66 3C 68 CB B7 62 B3 95 90 2E C0 2D 34 0F 7C 3B E3 B7 51 82 46 48 48 02 17 B8 F7 35 7C 1E 4E 5D 42 90 C5 B7 DF 27 F0 27 FE 35 D2 E2 A2 11 D6 4B E3 71 AE 2E D3 7
4 6

0 DF 3C
D4 F9 78 44 46 1C A2 08 44 10 8F DA FB 84 CD 0C 22 4C B9 A3 53 0A A5 C2 93 65 89 45 B8 4E 1A 88 E9 62 7E 94 62 5F A7 F2 B0 D3 D3 6B 2C 31 0A C7 63 2A 55 62 F0 BA F4 3C A6 EF 20 E2 D3 69 C4 F2 E1 75 C5 0B CC A0 78 70 F3 11 F9 B2 C9 1A 60 5B B6 6C 55 6E BB BA 71 4D 89 2F 6A 7C 67 2E DC 20 E2 49 B1 E4 01 CC 3A F9 43 96 B8 EB FF 57 ED 52 12 FA AE C9 A6 EA BA 84 9C C4 32 37 0D 49 93 69 28 96 AA DB AE 7C 05 2C 60 FA 25 20 29 03 7A 4D F7 06 19 7C 7C FC F5 B2 D5 A8 FA C2 CE 98 A9 34 C3 BF 9A B4 4E 35 78 75 E5 EA B2 CE BC C8 73 3F 2E 32 56 9C 24 37 27 41 3A 08 E8 E3 B7 22 B2 EF 6F 31 9D 81 20 CC FB 22 3E 6B F2 C3 7A 2A 05 AB 19 BD 65 19 4B FA BF CD 75 80 FC FD 03 64 B1 B4 3A BB 13 BE C5 09 4B A6 16 B8 56 53 69 BE 04 88 2B 1E 7B 0F 5E 44 48 71 F0 31 56 BC 83 35 6B 06 F1 A4 69 72 78 85 A1 E7 66 D4 35 BB 8A 04 9B 3F B4 99 89 D8 70 93 5B 52 03 0C 73 F7 1C C2 F8 DC F4 D2 BF FD 02 3F 7E 8D BE 5B DD DE F9 7C FC 12 22 35 32 D9 80 1C B2 E4 71 6A A8 F6 F6 21 C8 F7 00 37 17 56 13 D7 55 96 BC
67

B8 63 3
A E2 DF 68 C0 95 77 4A FB 90 00
00000021 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000006 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000479 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000034 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00010630 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000013 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000395 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000018 APDU: 00 47 81 00 00 00 02 B6 00 08 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00159135 SW: 7F 49 82 01 8A 81 82 01 80 C0 CC 9E 3C 40 31 02 AE B2 CA 36 DC 9C ED 3A 8B 56 15 CE 39 36 C9 C6 00 8A B6 87 90 1E E9 3D 31 0F 32 D0 01 CA A0 74 FB 46 36 7E 0B F7 89 8A 3D 0B 9F 38 97 BD E8 91 97 13 B4 2F 7C 04 EB 66 B4 49 18 17 BD 02 EA D9 0B BB 39 8D EB BD 09 35 08 FC 46 8F 41 48 A6 4C D8 AA C7 EA F5 90 4F 93 42 3C 48 28 94 B3 AC 5E 95 67 B5 4E 1A 22 EA 47 77 35 4E 1B D3 7D F9 6E 66 1A C7 D1 E2 BC 1E 72 FD 0B 79 0A F5 F0 5C 63 C2 45 2D 28 64 4B C2 EE 0B CC E8 95 E2 84 05 DC E0 EC D1 1B 41 31 06 FF 21 17 92 F1 12 73 CF 10 21 6D 43 74 10 23 71 9E F8 94 B8 AB 23 77 E0 11 98 D0 C4 BE 1F A6 27 93 8E D1 EB 25 ED 10 06 52 41 53 FD F5 C7 C9 09 96 1C F0 86 B1 72 7E F2 B3 6E 86 BD 20 A9 87 57 6D 5D DE 68 3E 8E C3 4F 47 59 95 72 14 F5 B0 A3 82 D5 B1 DD 36 7F DE 6D 33 02 50 8A 77 12 36 3A 30 D7 92 90 4D BF 29 B4 0B 40 D1 60 02 41 5F 4B DC E4 A7 A3 52 E0 2C 29 A1 6C 4D 69 04 6E EB 19 D8 C8 20 28 6E 75 09 94 70 60 49 E8 F5 90 9F E6 4C CE 00 E8 06 DB 90 A7 58 56 7D F1 87 CC
01

EE 0C 6
8 B7 14 44 E5 35 EE 1E 68 7C A7 DF 9C 1D EB 63 6D 71 71 46 2A 3E 84 0B 18 37 8D D3 2E 42 6A AB 1D 0F CD 96 9E 2B 3B 4F A5 5B 69 9C E2 50 E4 AE CF DA B7 E6 D7 EA 06 9D 44 68 99 ED 9E 1E 27 1D 47 82 04 00 01 00 01 90 00
00000015 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000343 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000037 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000023 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00003634 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000178 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000027 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000017 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 47 81 00 00 00 02 B8 00 08 00
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00142610 SW: 7F 49 82 01 0A 81 82 01 00 A0 B9 0F 54 FB 54 38 B8 6F 89 3B A2 CC 50 A6 09 44 12 20 46 05 DC 83 5B 6D AA AF 52 E3 1D 68 69 23 94 2E E9 2B EE 80 38 5F 96 99 40 35 80 6F 87 13 43 CA 35 2C 5F FE D7 70 09 6B 2C 05 8F 9F 49 E2 EC 09 22 A5 87 E1 F0 8A C8 E3 91 ED E8 BF 66 50 88 DB 7A 00 1B 65 16 31 C4 AC 97 DA 86 1C 6E 6A 42 48 9D C5 2A 9B B6 9B B5 2B 26 84 98 A1 B4 14 3A 5E CC 53 57 E1 4F FF DA EB AB 95 32 91 94 CA 49 2E E9 B3 7A 00 1A 9C 77 7B 96 4A 8A 54 EF 37 11 47 B9 5E 82 FC 99 8C 67 A8 7D D8 20 0C 99 61 91 AD DF F6 A6 7B EA 8B 94 9A CF 07 E2 84 CA 7F 53 C2 07 D9 C7 8D 2F B3 F0 E9 41 76 63 BD 48 07 A9 FE F1 94 63 44 5F CA 5A C6 97 BE 5B 6D 4B 2D 37 5C 18 9B 2B 37 37 A4 05 94 3B 42 01 ED 06 56 E4 A0 59 F5 48 99 80 4D D4 D6 BC 3B 9D 29 F4 C4 9B BC FA F5 2C 43 3F 5C 6E BE 80 CA C1 EB 79 82 04 00 01 00 01 90 00
00000013 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000295 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000026 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000006 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000003 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000003 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00004579 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000368 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000005 APDU: 00 47 81 00 00 00 02 A4 00 08 00
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00142661 SW: 7F 49 82 01 0A 81 82 01 00 C0 2F 62 4D 9D 1D 04 0E 2A 1C 8B 1C A0 1D 2A 78 CE 64 5F A4 00 62 F0 3D CD 3B D0 68 8C B6 E2 15 E1 40 68 C4 85 49 1E 86 4C 7B AC 66 41 44 BF A8 83 AE 1F 9A AE C5 FC 2A 3F 59 F3 A8 3A FA CD 7C C0 7C 1F 59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59 47 30 27 93 32 45 01 76 39 7F BE C9 6B 46 A9 13 80 84 2F 2E 42 94 A4 45 6F ED D9 22 2C 6C 66 F1 3D 69 B5 02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08 93 6B A3 F3 A2 0A 0A CB 90 95 D2 5D 27 2F 66 F4 A3 34 4C 51 D1 0E 48 F1 0B 96 45 74 25 45 40 8C DE AF 50 2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40 DC 72 88 84 D1 EC 6E C4 F3 EB 94 B7 35 32 44 D9 5E 7B 0B 49 A7 91 36 F1 51 DA 74 9E F2 FF 04 A5 B8 DF A2 93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76 A5 F7 8A 1A CB 51 BD 7F B4 86 D6 78 1E 82 B8 81 21 4A E8 F9 15 7F 5C 3B 51 9F 43 A1 19 83 61 0D 82 04 00 01 00 01 90 00
00000014 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000288 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000053 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000020 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00009059 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000350 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000036 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000014 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
00003359 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000045 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000096 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000040 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000046 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000036 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000038 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000141 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000036 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000028 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
02642164 winscard_svc.c:319:ContextThread() Received command: BEGIN_TRANSACTION from client 9
00000016 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 9
00000122 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000020 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000016 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330012, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 Control TxBuffer:
00000015 Control RxBuffer: 01 02 00 00 03 01 00 09 01 00 0B 02 6A 04 0C 02 3E 00 0A 04 00 00 01 00
00000013 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000011 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000471 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000006 Control TxBuffer: 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 00 05 00 00 00 00 20 00 82 00
00051269 commands.c:1407:CCID_Receive Command not supported or not allowed
00000016 Control RxBuffer:
00000005 ifdwrapper.c:461:IFDControl() Card not transacted: 612
00000003 ifdwrapper.c:463:IFDControl() ControlCode: 0x42330006 BytesReturned: 0
00000007 TxBuffer 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 05 05 00 00 00 00 20 00 82 00
00000001 RxBuffer
00000003 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000004 winscard_svc.c:652:ContextThread() CONTROL rv=0x80100016 for client 9
00000109 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000049 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000030 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000008 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000029 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000087 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000047 winscard_svc.c:319:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 9
00000023 winscard_svc.c:319:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000020 winscard_svc.c:393:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000032 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000161 winscard_svc.c:319:ContextThread() Received command: END_TRANSACTION from client 9
00000025 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000017 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count was: 2
00000014 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0 for client 9
05467726 winscard_svc.c:311:ContextThread() Client die: 9
00000080 winscard.c:204:SCardReleaseContext() Releasing Context: 0x623D73AC
00000028 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 2
00000015 winscard.c:850:SCardDisconnect() Active Contexts: 1
00000015 winscard.c:851:SCardDisconnect() dwDisposition: 0
00000015 winscard.c:1016:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000016 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000014 ifdhandler.c:327:IFDHStopPolling() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00001226 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 3
00000038 winscard_svc.c:817:MSGRemoveContext() UnrefReader() count was: 2
00000008 winscard_svc.c:933:MSGCleanupClient() Thread is stopping: dwClientID=9, threadContext @0x9cb740
00000002 winscard_svc.c:939:MSGCleanupClient() Freeing SCONTEXT @0x9cb740
00399974 eventhandler.c:467:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
05004947 ifdhandler.c:1122:IFDHPowerICC() action: PowerDown, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00001998 eventhandler.c:455:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED
|


Reply to this email directly or view it on GitHub #199 (comment).

Douglas E. Engert [email protected]
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444

@LudovicRousseau
Copy link
Member

00000003 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000006 Control TxBuffer: 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 00 05 00 00 00 00 20 00 82 00 
00051269 commands.c:1407:CCID_Receive Command not supported or not allowed

Your reader refused the pinpad command.

The pinpad feature is poorly specified in the CCID specification. And many pinpad readers implement it in different ways. You czan try to change the different values. See http:https://anonscm.debian.org/viewvc/pcsclite/trunk/Drivers/ccid/examples/scardcontrol.c?view=markup (lines 538 and next) for an example.

I do have this "Cherry GmbH SmartTerminal ST-2xxx" reader http:https://pcsclite.alioth.debian.org/ccid/supported.html#0x046A0x003E. But I don't know when I will have time to test OpenSC with it.

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

Gnupg doesn't use ope sc, but uses pcscd via their scdaemon.

Doug Engert [email protected] schrieb:

Sounds like the author(s) of the OpenSC openpgp support needs to look
at the pin-pad code.

On 12/12/2013 11:13 AM, Dominik Heidler wrote:

I'm working on a little endian system.

I successfully used the pinpad with gnupg (latest git version, which
has some fixes for variable pinlength)


Reply to this email directly or view it on GitHub
#199 (comment).

@asdil12
Copy link
Author

asdil12 commented Dec 12, 2013

Since the Cherry is a key board, could it be the openpgp code is not
actually using the pin pad,
but doing normal pin prompting from the host?

It isn't a keyboard - just a standalone reader with a pinpad.

On 12/12/2013 11:17 AM, Dominik Heidler wrote:

|pcscd -a -f -d| log

|00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000066 configfile.l:254:DBGetReaderListDir() Parsing conf
directory: /etc/reader.conf.d
00000016 configfile.l:266:DBGetReaderListDir() Skipping non regular
file: ..
00000002 configfile.l:266:DBGetReaderListDir() Skipping non regular
file: .
00000005 configfile.l:307:DBGetReaderList() Parsing conf file:
/etc/reader.conf.d/libccidtwin
00000038 configfile.l:307:DBGetReaderList() Parsing conf file:
/etc/reader.conf.d/reader.conf
00000026 pcscdaemon.c:545:main() pcsc-lite 1.8.10 daemon ready.
00001484 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x413C, PID: 0x3012, path: /dev/bus/usb/003/002
00000071 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x413C, PID: 0x2003, path: /dev/bus/usb/003/003
00000101 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001
00000104 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000103 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000100 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/006/001
00000100 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000073 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000091 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000077 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000102 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000076 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000085 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000019 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000003 hotplug_libudev.c:321:HPAddDevice() Adding USB device:
Cherry GmbH SmartTerminal ST-2xxx
00000042 readerfactory.c:989:RFInitializeReader() Attempting startup
of Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00
00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000153 readerfactory.c:874:RFBindFunctions() Loading IFD Handler
3.0
00000022 ifdhandler.c:1843:init_driver() Driver version: 1.4.13
00000511 ifdhandler.c:1860:init_driver() LogLevel: 0x0003
00000005 ifdhandler.c:1871:init_driver() DriverOptions: 0x0000
00000093 ifdhandler.c:83:CreateChannelByNameOrChannel() Lun: 0,
device: usb:046a/003e:libudev:0:/dev/bus/usb/007/003
00000022 ccid_usb.c:281:OpenUSBByName() Using:
/usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000447 ccid_usb.c:299:OpenUSBByName() ifdManufacturerString:
Ludovic Rousseau ([email protected])
00000005 ccid_usb.c:300:OpenUSBByName() ifdProductString: Generic
CCID driver
00000003 ccid_usb.c:301:OpenUSBByName() Copyright: This driver is
protected by terms of the GNU Lesser General Public License version
2.1, or (at your option) any later version.
00001272 ccid_usb.c:576:OpenUSBByName() Found Vendor/Product:
046A/003E (Cherry GmbH SmartTerminal ST-2xxx)
00000004 ccid_usb.c:578:OpenUSBByName() Using USB bus/device: 7/3
00001267 ccid_usb.c:1142:ControlUSB() control failed (7/3): -9
Success
00000007 ccid_usb.c:1073:get_data_rates() IFD does not support
GET_DATA_RATES request: -9
00114966 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB3,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 readerfactory.c:332:RFAddReader() Using the reader polling
thread
00002051 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFAE,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000034 ifdhandler.c:450:IFDHGetCapabilities() Reader supports 1
slot(s)
00000178 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000091 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000090 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000084 hotplug_libudev.c:269:get_driver() Looking for a driver for
VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000042 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for
reader: Cherry GmbH SmartTerminal ST-2xxx Vendor Interface
00 00
17255433 ifdhandler.c:1122:IFDHPowerICC() action: PowerUp,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00191022 eventhandler.c:381:EHStatusHandlerThread() powerState:
POWER_STATE_POWERED
00000010 eventhandler.c:396:EHStatusHandlerThread() Card inserted
into Cherry GmbH SmartTerminal ST-2xxx Vendor Interface 00
00
00000009 Card ATR: 3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40
00 90 00 0C
01701257 winscard_msg_srv.c:230:ProcessEventsServer() Common channel
packet arrival
00000055 winscard_msg_srv.c:242:ProcessEventsServer()
ProcessCommonChannelRequest detects: 9
00000006 pcscdaemon.c:111:SVCServiceRunLoop() A new context thread
creation is requested: 9
00000066 winscard_svc.c:301:ContextThread() Thread is started:
dwClientID=9, threadContext @0x9cb740
00000031 winscard_svc.c:319:ContextThread() Received command:
CMD_VERSION from client 9
00000009 winscard_svc.c:331:ContextThread() Client is protocol
version 4:3
00000003 winscard_svc.c:351:ContextThread() CMD_VERSION rv=0x0 for
client 9
00000038 winscard_svc.c:319:ContextThread() Received command:
ESTABLISH_CONTEXT from client 9
00000041 winscard.c:193:SCardEstablishContext() Establishing Context:
0x623D73AC
00000018 winscard_svc.c:412:ContextThread() ESTABLISH_CONTEXT rv=0x0
for client 9
00000041 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000038 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000089 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000094 winscard_svc.c:319:ContextThread() Received command: CONNECT
from client 9
00000034 winscard.c:235:SCardConnect() Attempting Connect to Cherry
GmbH SmartTerminal ST-2xxx Vendor Interface 00 00 using
protocol: 3
00000019 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000016 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000016 prothandler.c:87:PHSetProtocol() Attempting PTS to T=1
00000017 ifdhandler.c:668:IFDHSetProtocolParameters() protocol T=1,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000018 ifdhandler.c:1980:extra_egt() Extra EGT patch applied
00016162 winscard.c:409:SCardConnect() Active Protocol: T=1
00000012 winscard.c:429:SCardConnect() hCard Identity: 66cf2332
00000004 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000004 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client
9
00000102 winscard_svc.c:319:ContextThread() Received command: CONTROL
from client 9
00000025 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42000D48,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000017 Control TxBuffer:
00000019 Control RxBuffer: 06 04 42 33 00 06 07 04 42 33 00 07 0A 04
42 33 00 0A 12 04 42 33 00 12
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client
9
00000415 winscard_svc.c:319:ContextThread() Received command: CONTROL
from client 9
00000083 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000021 ifdhandler.c:1359:IFDHControl() ControlCode: 0x4233000A,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 Control TxBuffer:
00000015 Control RxBuffer: 00 00 07 00
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client
9
00000055 winscard_svc.c:319:ContextThread() Received command:
DISCONNECT from client 9
00000031 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000016 winscard.c:850:SCardDisconnect() Active Contexts: 1
00000015 winscard.c:851:SCardDisconnect() dwDisposition: 0
00000015 winscard.c:1016:SCardDisconnect() powerState:
POWER_STATE_GRACE_PERIOD
00000016 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000015 ifdhandler.c:327:IFDHStopPolling()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000884 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 2
00000027 winscard_svc.c:490:ContextThread() DISCONNECT rv=0x0 for
client 9
00000186 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000062 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000024 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000020 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000037 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000110 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000045 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000022 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000019 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000225 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000050 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000023 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000019 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000054 winscard_svc.c:319:ContextThread() Received command: CONNECT
from client 9
00000020 winscard.c:235:SCardConnect() Attempting Connect to Cherry
GmbH SmartTerminal ST-2xxx Vendor Interface 00 00 using
protocol: 3
00000017 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000015 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000014 winscard.c:409:SCardConnect() Active Protocol: T=1
00000015 winscard.c:429:SCardConnect() hCard Identity: 4f59ca61
00000015 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000016 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client
9
00002843 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000003 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000304 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000019 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000027 APDU: 00 A4 04 00 06 D2 76 00 01 24 01 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00020731 SW: 62 15 84 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00
00 8A 01 05 90 00
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000251 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000038 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000014 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00002121 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000311 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000048 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 5F 52 00 08 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00012105 SW: 00 31 C5 73 C0 01 40 05 90 00 90 00
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000240 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000039 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000014 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00001508 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000282 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000044 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 00 6E 00 08 00
00000015 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00087798 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F
52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08
00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00
00 20 00 C4 07 01 20 20 20 02 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE
4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7
98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97
B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44
30 DF 52 38 4F C8 90 00
00000056 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000018 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000748 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000217 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000007 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000003 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000003 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00001736 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000003 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000443 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000046 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000019 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 00 65 00 08 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00026635 SW: 5B 10 48 65 69 64 6C 65 72 3C 3C 44 6F 6D 69 6E 69 6B 5F
2D 02 64 65 5F 35 01 31 90 00
00000011 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00001256 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000016 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000004 APDU: 00 CA 7F 21 00 08 00
00000004 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00159881 SW: 30 82 05 32 30 82 03 1A A0 03 02 01 02 02 03 0B A9 70 30
0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 30 79 31 10 30 0E 06 03 55 04
0A 13 07 52 6F 6F 74 20 43 41 31 1E 30 1C 06 03 55 04 0B 13 15 68 74 74
70 3A 2F 2F 77 77 77 2E 63 61 63 65 72 74 2E 6F 72 67 31 22 30 20 06 03
55 04 03 13 19 43 41 20 43 65 72 74 20 53 69 67 6E 69 6E 67 20 41 75 74
68 6F 72 69 74 79 31 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 73
75 70 70 6F 72 74 40 63 61 63 65 72 74 2E 6F 72 67 30 1E 17 0D 31 32 30
34 32 36 32 32 32 30 34 30 5A 17 0D 31 34 30 34 32 36 32 32 32 30 34 30
5A 30 3D 31 18 30 16 06 03 55 04 03 13 0F 44 6F 6D 69 6E 69 6B 20 48 65
69 64 6C 65 72 31 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 64 68
65 69 64 6C 65 72 40 67 6D 61 69 6C 2E 63 6F 6D 30 82 01 22 30 0D 06 09
2A 86 48 86 F7 0D 01 01 01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01
00 C0 2F 62 4D 9D 1D 04 0E 2A 1C 8B 1C A0 1D 2A 78 CE 64 5F A4 00 62 F0
3D CD 3B D0 68 8C B6 E2 15 E1 40 68 C4 85 49 1E 86 4C
7B

AC 66 4
1 44 BF A8 83 AE 1F 9A AE C5 FC 2A 3F 59 F3 A8 3A FA CD 7C C0 7C 1F
59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59 47 30 27 93 32 45 01 76 39 7F BE
C9 6B 46 A9 13 80 84 2F 2E 42 94 A4 45 6F ED D9 22 2C 6C 66 F1 3D 69 B5
02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08 93 6B A3 F3 A2 0A 0A CB 90 95 D2
5D 27 2F 66 F4 A3 34 4C 51 D1 0E 48 F1 0B 96 45 74 25 45 40 8C DE AF 50
2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40 DC 72 88 84 D1 EC 6E C4 F3 EB 94
B7 35 32 44 D9 5E 7B 0B 49 A7 91 36 F1 51 DA 74 9E F2 FF 04 A5 B8 DF A2
93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76 A5 F7 8A 1A CB 51 BD 7F B4 86 D6
78 1E 82 B8 81 21 4A E8 F9 15 7F 5C 3B 51 9F 43 A1 19 83 61 0D 02 03 01
00 01 A3 81 FE 30 81 FB 30 0C 06 03 55 1D 13 01 01 FF 04 02 30 00 30 56
06 09 60 86 48 01 86 F8 42 01 0D 04 49 16 47 54 6F 20 67 65 74 20 79 6F
75 72 20 6F 77 6E 20 63 65 72 74 69 66 69 63 61 74 65 20 66 6F 72 20 46
52 45 45 20 68 65 61 64 20 6F 76 65 72 20 74 6F 20 68 74 74 70 3A 2F 2F
77 77 77 2E 43 41 63 65 72 74 2E 6F 72 67 30 40 06 03
55

1D 25 04
39 30 37 06 08 2B 06 01 05 05 07 03 04 06 08 2B 06 01 05 05 07 03
02 06 0A 2B 06 01 04 01 82 37 0A 03 04 06 0A 2B 06 01 04 01 82 37 0A 03
03 06 09 60 86 48 01 86 F8 42 04 01 30 32 06 08 2B 06 01 05 05 07 01 01
04 26 30 24 30 22 06 08 2B 06 01 05 05 07 30 01 86 16 68 74 74 70 3A 2F
2F 6F 63 73 70 2E 63 61 63 65 72 74 2E 6F 72 67 30 1D 06 03 55 1D 11 04
16 30 14 81 12 64 68 65 69 64 6C 65 72 40 67 6D 61 69 6C 2E 63 6F 6D 30
0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 03 82 02 01 00 88 5B 38 B1 3B
21 EE 5D FD E2 7A B6 6B E3 0F 57 EC 32 91 4B ED 15 66 5A 58 CF C8 0D 0E
2B 9A B4 AE 07 21 E7 67 E7 C4 42 62 31 0C B9 D4 85 10 92 2F A4 57 18 0B
0C 27 5F F1 06 90 38 89 92 64 BA 05 F1 48 F3 63 A9 49 1B 8C 24 51 66 60
86 46 9B EB D5 B3 AA B3 D9 50 D3 F7 B3 E4 F9 6A 38 E7 AE 5D F5 B0 D8 AB
81 D3 90 8E 24 D4 22 1B 13 EF C5 51 B2 66 3C 68 CB B7 62 B3 95 90 2E C0
2D 34 0F 7C 3B E3 B7 51 82 46 48 48 02 17 B8 F7 35 7C 1E 4E 5D 42 90 C5
B7 DF 27 F0 27 FE 35 D2 E2 A2 11 D6 4B E3 71 AE 2E D3 7
4 6

0 DF 3C
D4 F9 78 44 46 1C A2 08 44 10 8F DA FB 84 CD 0C 22 4C B9 A3 53 0A
A5 C2 93 65 89 45 B8 4E 1A 88 E9 62 7E 94 62 5F A7 F2 B0 D3 D3 6B 2C 31
0A C7 63 2A 55 62 F0 BA F4 3C A6 EF 20 E2 D3 69 C4 F2 E1 75 C5 0B CC A0
78 70 F3 11 F9 B2 C9 1A 60 5B B6 6C 55 6E BB BA 71 4D 89 2F 6A 7C 67 2E
DC 20 E2 49 B1 E4 01 CC 3A F9 43 96 B8 EB FF 57 ED 52 12 FA AE C9 A6 EA
BA 84 9C C4 32 37 0D 49 93 69 28 96 AA DB AE 7C 05 2C 60 FA 25 20 29 03
7A 4D F7 06 19 7C 7C FC F5 B2 D5 A8 FA C2 CE 98 A9 34 C3 BF 9A B4 4E 35
78 75 E5 EA B2 CE BC C8 73 3F 2E 32 56 9C 24 37 27 41 3A 08 E8 E3 B7 22
B2 EF 6F 31 9D 81 20 CC FB 22 3E 6B F2 C3 7A 2A 05 AB 19 BD 65 19 4B FA
BF CD 75 80 FC FD 03 64 B1 B4 3A BB 13 BE C5 09 4B A6 16 B8 56 53 69 BE
04 88 2B 1E 7B 0F 5E 44 48 71 F0 31 56 BC 83 35 6B 06 F1 A4 69 72 78 85
A1 E7 66 D4 35 BB 8A 04 9B 3F B4 99 89 D8 70 93 5B 52 03 0C 73 F7 1C C2
F8 DC F4 D2 BF FD 02 3F 7E 8D BE 5B DD DE F9 7C FC 12 22 35 32 D9 80 1C
B2 E4 71 6A A8 F6 F6 21 C8 F7 00 37 17 56 13 D7 55 96 BC
67

B8 63 3
A E2 DF 68 C0 95 77 4A FB 90 00
00000021 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000006 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000479 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000034 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00010630 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000013 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000395 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000018 APDU: 00 47 81 00 00 00 02 B6 00 08 00
00000016 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00159135 SW: 7F 49 82 01 8A 81 82 01 80 C0 CC 9E 3C 40 31 02 AE B2 CA
36 DC 9C ED 3A 8B 56 15 CE 39 36 C9 C6 00 8A B6 87 90 1E E9 3D 31 0F 32
D0 01 CA A0 74 FB 46 36 7E 0B F7 89 8A 3D 0B 9F 38 97 BD E8 91 97 13 B4
2F 7C 04 EB 66 B4 49 18 17 BD 02 EA D9 0B BB 39 8D EB BD 09 35 08 FC 46
8F 41 48 A6 4C D8 AA C7 EA F5 90 4F 93 42 3C 48 28 94 B3 AC 5E 95 67 B5
4E 1A 22 EA 47 77 35 4E 1B D3 7D F9 6E 66 1A C7 D1 E2 BC 1E 72 FD 0B 79
0A F5 F0 5C 63 C2 45 2D 28 64 4B C2 EE 0B CC E8 95 E2 84 05 DC E0 EC D1
1B 41 31 06 FF 21 17 92 F1 12 73 CF 10 21 6D 43 74 10 23 71 9E F8 94 B8
AB 23 77 E0 11 98 D0 C4 BE 1F A6 27 93 8E D1 EB 25 ED 10 06 52 41 53 FD
F5 C7 C9 09 96 1C F0 86 B1 72 7E F2 B3 6E 86 BD 20 A9 87 57 6D 5D DE 68
3E 8E C3 4F 47 59 95 72 14 F5 B0 A3 82 D5 B1 DD 36 7F DE 6D 33 02 50 8A
77 12 36 3A 30 D7 92 90 4D BF 29 B4 0B 40 D1 60 02 41 5F 4B DC E4 A7 A3
52 E0 2C 29 A1 6C 4D 69 04 6E EB 19 D8 C8 20 28 6E 75 09 94 70 60 49 E8
F5 90 9F E6 4C CE 00 E8 06 DB 90 A7 58 56 7D F1 87 CC
01

EE 0C 6
8 B7 14 44 E5 35 EE 1E 68 7C A7 DF 9C 1D EB 63 6D 71 71 46 2A 3E 84
0B 18 37 8D D3 2E 42 6A AB 1D 0F CD 96 9E 2B 3B 4F A5 5B 69 9C E2 50 E4
AE CF DA B7 E6 D7 EA 06 9D 44 68 99 ED 9E 1E 27 1D 47 82 04 00 01 00 01
90 00
00000015 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000343 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000037 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000019 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000023 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00003634 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000178 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000027 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000017 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 47 81 00 00 00 02 B8 00 08 00
00000015 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00142610 SW: 7F 49 82 01 0A 81 82 01 00 A0 B9 0F 54 FB 54 38 B8 6F 89
3B A2 CC 50 A6 09 44 12 20 46 05 DC 83 5B 6D AA AF 52 E3 1D 68 69 23 94
2E E9 2B EE 80 38 5F 96 99 40 35 80 6F 87 13 43 CA 35 2C 5F FE D7 70 09
6B 2C 05 8F 9F 49 E2 EC 09 22 A5 87 E1 F0 8A C8 E3 91 ED E8 BF 66 50 88
DB 7A 00 1B 65 16 31 C4 AC 97 DA 86 1C 6E 6A 42 48 9D C5 2A 9B B6 9B B5
2B 26 84 98 A1 B4 14 3A 5E CC 53 57 E1 4F FF DA EB AB 95 32 91 94 CA 49
2E E9 B3 7A 00 1A 9C 77 7B 96 4A 8A 54 EF 37 11 47 B9 5E 82 FC 99 8C 67
A8 7D D8 20 0C 99 61 91 AD DF F6 A6 7B EA 8B 94 9A CF 07 E2 84 CA 7F 53
C2 07 D9 C7 8D 2F B3 F0 E9 41 76 63 BD 48 07 A9 FE F1 94 63 44 5F CA 5A
C6 97 BE 5B 6D 4B 2D 37 5C 18 9B 2B 37 37 A4 05 94 3B 42 01 ED 06 56 E4
A0 59 F5 48 99 80 4D D4 D6 BC 3B 9D 29 F4 C4 9B BC FA F5 2C 43 3F 5C 6E
BE 80 CA C1 EB 79 82 04 00 01 00 01 90 00
00000013 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000295 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000026 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000006 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000003 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000003 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00004579 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000003 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000368 winscard_svc.c:319:ContextThread() Received command:
TRANSMIT from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000005 APDU: 00 47 81 00 00 00 02 A4 00 08 00
00000004 ifdhandler.c:1265:IFDHTransmitToICC()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00142661 SW: 7F 49 82 01 0A 81 82 01 00 C0 2F 62 4D 9D 1D 04 0E 2A 1C
8B 1C A0 1D 2A 78 CE 64 5F A4 00 62 F0 3D CD 3B D0 68 8C B6 E2 15 E1 40
68 C4 85 49 1E 86 4C 7B AC 66 41 44 BF A8 83 AE 1F 9A AE C5 FC 2A 3F 59
F3 A8 3A FA CD 7C C0 7C 1F 59 CE EB C0 C1 FF 4D C5 A2 41 55 71 59 47 30
27 93 32 45 01 76 39 7F BE C9 6B 46 A9 13 80 84 2F 2E 42 94 A4 45 6F ED
D9 22 2C 6C 66 F1 3D 69 B5 02 D8 E5 11 1B EC 3C BB 3E 06 19 EC 08 93 6B
A3 F3 A2 0A 0A CB 90 95 D2 5D 27 2F 66 F4 A3 34 4C 51 D1 0E 48 F1 0B 96
45 74 25 45 40 8C DE AF 50 2F 08 88 76 BC 1A D1 7B C2 48 1E 38 40 DC 72
88 84 D1 EC 6E C4 F3 EB 94 B7 35 32 44 D9 5E 7B 0B 49 A7 91 36 F1 51 DA
74 9E F2 FF 04 A5 B8 DF A2 93 AF 44 35 5B 19 61 F7 D7 E6 2D 64 76 A5 F7
8A 1A CB 51 BD 7F B4 86 D6 78 1E 82 B8 81 21 4A E8 F9 15 7F 5C 3B 51 9F
43 A1 19 83 61 0D 82 04 00 01 00 01 90 00
00000014 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for
client 9
00000288 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000053 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000020 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000015 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00009059 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000003 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000350 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000036 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000014 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
00003359 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000045 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000096 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000040 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000046 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000036 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000038 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000141 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000035 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000036 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000028 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000035 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
02642164 winscard_svc.c:319:ContextThread() Received command:
BEGIN_TRANSACTION from client 9
00000016 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000004 winscard.c:1082:SCardBeginTransaction() Status: 0x00000000
00000002 winscard.c:1085:SCardBeginTransaction() UnrefReader() count
was: 2
00000002 winscard_svc.c:505:ContextThread() BEGIN_TRANSACTION rv=0x0
for client 9
00000122 winscard_svc.c:319:ContextThread() Received command: CONTROL
from client 9
00000020 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000016 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330012,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 Control TxBuffer:
00000015 Control RxBuffer: 01 02 00 00 03 01 00 09 01 00 0B 02 6A 04
0C 02 3E 00 0A 04 00 00 01 00
00000013 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000011 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client
9
00000471 winscard_svc.c:319:ContextThread() Received command: CONTROL
from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000003 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000006 Control TxBuffer: 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00
00 05 00 00 00 00 20 00 82 00
00051269 commands.c:1407:CCID_Receive Command not supported or not
allowed
00000016 Control RxBuffer:
00000005 ifdwrapper.c:461:IFDControl() Card not transacted: 612
00000003 ifdwrapper.c:463:IFDControl() ControlCode: 0x42330006
BytesReturned: 0
00000007 TxBuffer 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 05 05 00
00 00 00 20 00 82 00
00000001 RxBuffer
00000003 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000004 winscard_svc.c:652:ContextThread() CONTROL rv=0x80100016 for
client 9
00000109 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000049 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000030 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000008 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000029 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000087 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000047 winscard_svc.c:319:ContextThread() Received command:
CMD_WAIT_READER_STATE_CHANGE from client 9
00000023 winscard_svc.c:319:ContextThread() Received command:
CMD_STOP_WAITING_READER_STATE_CHANGE from client 9
00000020 winscard_svc.c:393:ContextThread()
CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 9
00000032 winscard_svc.c:319:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
00000161 winscard_svc.c:319:ContextThread() Received command:
END_TRANSACTION from client 9
00000025 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000017 winscard.c:1225:SCardEndTransaction() Status: 0x00000000
00000015 winscard.c:1228:SCardEndTransaction() UnrefReader() count
was: 2
00000014 winscard_svc.c:521:ContextThread() END_TRANSACTION rv=0x0
for client 9
05467726 winscard_svc.c:311:ContextThread() Client die: 9
00000080 winscard.c:204:SCardReleaseContext() Releasing Context:
0x623D73AC
00000028 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 1
00000018 readerfactory.c:772:RFReaderInfoById() RefReader() count
was: 2
00000015 winscard.c:850:SCardDisconnect() Active Contexts: 1
00000015 winscard.c:851:SCardDisconnect() dwDisposition: 0
00000015 winscard.c:1016:SCardDisconnect() powerState:
POWER_STATE_GRACE_PERIOD
00000016 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000014 ifdhandler.c:327:IFDHStopPolling()
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00001226 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 3
00000038 winscard_svc.c:817:MSGRemoveContext() UnrefReader() count
was: 2
00000008 winscard_svc.c:933:MSGCleanupClient() Thread is stopping:
dwClientID=9, threadContext @0x9cb740
00000002 winscard_svc.c:939:MSGCleanupClient() Freeing SCONTEXT
@0x9cb740
00399974 eventhandler.c:467:EHStatusHandlerThread() powerState:
POWER_STATE_POWERED
05004947 ifdhandler.c:1122:IFDHPowerICC() action: PowerDown,
usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00001998 eventhandler.c:455:EHStatusHandlerThread() powerState:
POWER_STATE_UNPOWERED
|


Reply to this email directly or view it on GitHub
#199 (comment).

@asdil12
Copy link
Author

asdil12 commented Dec 13, 2013

OK - this is the pcscd log when using gnupg to sign a file and using the pinpad.

00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000066 configfile.l:254:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000017 configfile.l:266:DBGetReaderListDir() Skipping non regular file: ..
00000003 configfile.l:266:DBGetReaderListDir() Skipping non regular file: .
00000005 configfile.l:307:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000039 configfile.l:307:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/reader.conf
00000028 pcscdaemon.c:545:main() pcsc-lite 1.8.10 daemon ready.
00001656 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000066 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000060 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x3012, path: /dev/bus/usb/003/002
00000055 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001
00000060 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x2003, path: /dev/bus/usb/003/003
00000078 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001
00000083 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000082 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000081 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/006/001
00000079 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000059 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000064 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000072 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000062 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000061 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0D8C, PID: 0x0102, path: /dev/bus/usb/007/002
00000059 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001
00000066 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000017 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x046A, PID: 0x003E, path: /dev/bus/usb/007/003
00000004 hotplug_libudev.c:321:HPAddDevice() Adding USB device: Cherry GmbH SmartTerminal ST-2xxx
00000036 readerfactory.c:989:RFInitializeReader() Attempting startup of Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 using /usr/lib64/readers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000132 readerfactory.c:874:RFBindFunctions() Loading IFD Handler 3.0
00000019 ifdhandler.c:1843:init_driver() Driver version: 1.4.13
00000383 ifdhandler.c:1860:init_driver() LogLevel: 0x0003
00000005 ifdhandler.c:1871:init_driver() DriverOptions: 0x0000
00000069 ifdhandler.c:83:CreateChannelByNameOrChannel() Lun: 0, device: usb:046a/003e:libudev:0:/dev/bus/usb/007/003
00000020 ccid_usb.c:281:OpenUSBByName() Using: /usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plist
00000333 ccid_usb.c:299:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau ([email protected])
00000005 ccid_usb.c:300:OpenUSBByName() ifdProductString: Generic CCID driver
00000003 ccid_usb.c:301:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
00000987 ccid_usb.c:576:OpenUSBByName() Found Vendor/Product: 046A/003E (Cherry GmbH SmartTerminal ST-2xxx)
00000005 ccid_usb.c:578:OpenUSBByName() Using USB bus/device: 7/3
00000935 ccid_usb.c:1142:ControlUSB() control failed (7/3): -9 Success
00000006 ccid_usb.c:1073:get_data_rates() IFD does not support GET_DATA_RATES request: -9
00114985 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB3, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000011 readerfactory.c:332:RFAddReader() Using the reader polling thread
00002053 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFAE, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000039 ifdhandler.c:450:IFDHGetCapabilities() Reader supports 1 slot(s)
00000188 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000089 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000090 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000082 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0CCD, PID: 0x00D7, path: /dev/bus/usb/002/002
00000047 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00003400 ifdhandler.c:1122:IFDHPowerICC() action: PowerUp, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00006687 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010078 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010084 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010070 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010075 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010075 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010109 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010107 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010072 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010067 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010069 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010071 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010071 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010071 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010079 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010101 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010097 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010070 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00010071 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00
00002903 eventhandler.c:266:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000011 Card ATR: 3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40 00 90 00 0C 
04965952 winscard_msg_srv.c:230:ProcessEventsServer() Common channel packet arrival
00000027 winscard_msg_srv.c:242:ProcessEventsServer() ProcessCommonChannelRequest detects: 9
00000004 pcscdaemon.c:111:SVCServiceRunLoop() A new context thread creation is requested: 9
00000246 winscard_svc.c:301:ContextThread() Thread is started: dwClientID=9, threadContext @0xc14740
00000036 winscard_svc.c:319:ContextThread() Received command: CMD_VERSION from client 9
00000021 winscard_svc.c:331:ContextThread() Client is protocol version 4:3
00000006 winscard_svc.c:351:ContextThread() CMD_VERSION rv=0x0 for client 9
00000126 winscard_svc.c:319:ContextThread() Received command: ESTABLISH_CONTEXT from client 9
00000017 winscard.c:193:SCardEstablishContext() Establishing Context: 0x631F8BDB
00000003 winscard_svc.c:412:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 9
00000036 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000034 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000056 winscard_svc.c:319:ContextThread() Received command: CONNECT from client 9
00000013 winscard.c:235:SCardConnect() Attempting Connect to Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00 using protocol: 3
00000004 readerfactory.c:745:RFReaderInfo() RefReader() count was: 1
00000003 winscard.c:330:SCardConnect() powerState: POWER_STATE_INUSE
00000003 prothandler.c:87:PHSetProtocol() Attempting PTS to T=1
00000005 ifdhandler.c:668:IFDHSetProtocolParameters() protocol T=1, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000004 ifdhandler.c:1980:extra_egt() Extra EGT patch applied
00016500 winscard.c:409:SCardConnect() Active Protocol: T=1
00000012 winscard.c:429:SCardConnect() hCard Identity: ceab1a8
00000004 winscard.c:490:SCardConnect() UnrefReader() count was: 2
00000005 winscard_svc.c:453:ContextThread() CONNECT rv=0x0 for client 9
00000194 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000092 winscard_svc.c:319:ContextThread() Received command: STATUS from client 9
00000032 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 winscard.c:1291:SCardStatus() UnrefReader() count was: 2
00000016 winscard_svc.c:561:ContextThread() STATUS rv=0x0 for client 9
00000120 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000035 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000019 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42000D48, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000015 Control TxBuffer: 
00000020 Control RxBuffer: 06 04 42 33 00 06 07 04 42 33 00 07 0A 04 42 33 00 0A 12 04 42 33 00 12 
00000015 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000014 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000169 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000034 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330012, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000021 Control TxBuffer: 
00000020 Control RxBuffer: 01 02 00 00 03 01 00 09 01 00 0B 02 6A 04 0C 02 3E 00 0A 04 00 00 01 00 
00000014 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000015 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00000153 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000267 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000116 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000040 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 A4 00 0C 02 3F 00 
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00007452 SW: 6B 00 
00000007 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000126 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000047 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000018 APDU: 00 A4 04 00 06 D2 76 00 01 24 01 
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00018767 SW: 90 00 
00000030 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000006 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000135 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000044 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000016 APDU: 00 CA 00 4F 00 
00000015 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00013772 SW: D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 90 00 
00000051 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000191 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000031 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000017 APDU: 00 CA 5F 52 00 
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00012646 SW: 00 31 C5 73 C0 01 40 05 90 00 90 00 
00000008 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000263 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000048 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000023 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000022 APDU: 00 CA 00 C4 00 
00000024 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00016612 SW: 01 20 20 20 03 00 03 90 00 
00000010 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000148 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000041 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000023 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000022 APDU: 00 CA 00 6E 00 
00000021 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00086814 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 03 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00 
00000013 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000490 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000014 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000003 APDU: 00 CA 00 5E 00 
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00011381 SW: 90 00 
00000033 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000006 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000305 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000012 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000004 APDU: 00 CA 00 6E 00 
00000003 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00086700 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 03 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00 
00000013 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000286 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000011 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000003 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000003 APDU: 00 CA 00 6E 00 
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00086675 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 03 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00 
00000013 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000251 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000010 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000003 APDU: 00 CA 00 6E 00 
00000003 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00086721 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 03 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00 
00000011 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000003 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000537 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000033 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000003 APDU: 00 CA 00 6E 00 
00000003 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00087385 SW: 4F 10 D2 76 00 01 24 01 02 00 00 05 00 00 13 71 00 00 5F 52 0A 00 31 C5 73 C0 01 40 05 90 00 73 81 B7 C0 0A 7C 00 08 00 08 00 08 00 08 00 C1 06 01 0C 00 00 20 00 C2 06 01 08 00 00 20 00 C3 06 01 08 00 00 20 00 C4 07 01 20 20 20 03 00 03 C5 3C 10 57 CA FE 0F A4 FC F3 CC CE 4F 78 73 77 3C AB 84 95 5C 1C DD 15 92 85 68 8B CE E6 B7 3E 2E 17 E9 C7 98 36 89 D2 71 05 0D CA 25 57 9F 79 8F 87 C4 6B 61 E9 58 C1 E9 6B 7D 97 B4 A8 C6 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CD 0C 52 44 30 48 52 44 30 DF 52 38 4F C8 90 00 
00000010 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000005 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00000229 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000028 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000018 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000015 APDU: 00 CA 00 7A 00 
00000016 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00012614 SW: 93 03 00 00 02 90 00 
00000007 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00028216 winscard_svc.c:319:ContextThread() Received command: CONTROL from client 9
00000076 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000023 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000021 Control TxBuffer: 00 00 82 00 00 0F 06 02 01 09 04 00 00 00 05 05 00 00 00 00 20 00 81 00 
07250692 Control RxBuffer: 90 00 
00000013 winscard.c:1350:SCardControl() UnrefReader() count was: 2
00000004 winscard_svc.c:652:ContextThread() CONTROL rv=0x0 for client 9
00253020 winscard_svc.c:319:ContextThread() Received command: TRANSMIT from client 9
00000019 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000004 winscard.c:1587:SCardTransmit() Send Protocol: T=1
00000011 APDU: 00 2A 9E 9A 00 00 23 30 21 30 09 06 05 2B 0E 03 02 1A 05 00 04 14 80 47 25 FF 62 05 FD 9C F2 88 F0 CC E4 3C 01 72 4E BC 19 E6 08 00 
00000004 ifdhandler.c:1265:IFDHTransmitToICC() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
01294957 SW: 7C C8 BF 9D 5C 27 28 0D F3 44 8D 06 04 4E 52 D3 54 C7 C5 77 72 EF EC 4A AE E2 4A 6C BD E8 0E 46 46 9B B6 EC 8A 1B 8A 3E 16 9D 53 98 50 7F 82 98 E7 20 12 36 E9 B7 8D DB 9C 4C 06 51 AD BD E2 F2 17 6E E0 12 6A BC 97 66 02 45 63 45 63 91 39 31 41 3A E3 37 1D DF C1 DC 38 62 8E 73 C2 9B C5 40 07 2F D3 D3 43 E3 D8 7B A1 35 C1 6B 73 7D A1 C9 16 3D C3 1C 85 E9 A7 2E 3F B4 3E 2B 58 40 31 27 75 11 20 39 05 95 5A 8E 49 1B D5 96 FE 9A 72 95 C8 ED BA FF 45 EC BE 7F 7F C1 0B 6A 86 8E DA 75 AF 66 7A B4 47 BD C9 C1 41 5F 2D 50 01 6A F0 87 8E CF 79 A1 C9 D0 F8 83 B1 09 A1 10 8D E1 69 BD 6F 3B 5D BF 80 13 66 FC E3 9A D7 D9 5F 6F F5 D5 48 32 50 57 9B 29 E6 5A 6C A6 F9 14 36 EE BA 96 EE FB 2D 92 5A 56 88 F1 6A BA 19 EF 22 5E 7C AA F4 4D D8 B9 1E 29 8E E2 09 14 EE EF 0E 1C D6 3E 68 74 F6 6A 1B C5 13 DF 5C F0 DE 2C CF D9 37 5E 3E 37 D9 07 E4 77 4E 44 C6 1B 49 75 F9 35 D2 9D 8A C7 1D D9 56 95 40 50 E4 7D 81 36 B7 2C D1 A3 05 28 3C 7E A0 9C 47 78 DA 05 6A 43 2A 05 43 07 CD CA 9C 75 97 E9 68 72 E7 3D 64 8B D9 C1 59 FC 34 B0 7C B8 90 EF 55 CA 1A CD C2 39 7F B8 7C D0 46 56 AF D5 0D 68 3B AD E2 32 16 B1 65 02 09 18 2B DA 0F CB B0 FA 17 99 B7 15 82 64 F3 90 23 ED 90 00 
00000016 winscard.c:1632:SCardTransmit() UnrefReader() count was: 2
00000004 winscard_svc.c:608:ContextThread() TRANSMIT rv=0x0 for client 9
00006927 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00269609 winscard_svc.c:319:ContextThread() Received command: CMD_GET_READERS_STATE from client 9
00000802 winscard_svc.c:311:ContextThread() Client die: 9
00000038 winscard.c:204:SCardReleaseContext() Releasing Context: 0x631F8BDB
00000020 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 1
00000015 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 2
00000015 winscard.c:1291:SCardStatus() UnrefReader() count was: 3
00000015 readerfactory.c:772:RFReaderInfoById() RefReader() count was: 2
00000014 winscard.c:850:SCardDisconnect() Active Contexts: -1
00000014 winscard.c:851:SCardDisconnect() dwDisposition: 1
00002345 ifdhandler.c:1122:IFDHPowerICC() action: Reset, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00040018 winscard.c:917:SCardDisconnect() Reset complete.
00000015 Card ATR: 3B DA 18 FF 81 B1 FE 75 1F 03 00 31 C5 73 C0 01 40 00 90 00 0C 
00000005 winscard.c:1016:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000004 ifdhandler.c:362:IFDHGetCapabilities() tag: 0xFB2, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000002 winscard.c:1030:SCardDisconnect() Stopping polling thread
00000003 ifdhandler.c:327:IFDHStopPolling() usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000929 winscard.c:1043:SCardDisconnect() UnrefReader() count was: 3
00000026 winscard_svc.c:817:MSGRemoveContext() UnrefReader() count was: 2
00000007 winscard_svc.c:933:MSGCleanupClient() Thread is stopping: dwClientID=9, threadContext @0xc14740
00000003 winscard_svc.c:939:MSGCleanupClient() Freeing SCONTEXT @0xc14740
00400042 eventhandler.c:467:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
03883930 eventhandler.c:455:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED
00002003 eventhandler.c:335:EHStatusHandlerThread() Card Removed From Cherry GmbH SmartTerminal ST-2xxx [Vendor Interface] (000004fa) 00 00

@LudovicRousseau
Copy link
Member

This time the software is using:

00000023 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000021 Control TxBuffer: 00 00 82 00 00 0F 06 02 01 09 04 00 00 00 05 05 00 00 00 00 20 00 81 00 
07250692 Control RxBuffer: 90 00 

to be compared with:

00000003 ifdhandler.c:1359:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/007/003 (lun: 0)
00000006 Control TxBuffer: 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 00 05 00 00 00 00 20 00 82 00 
00051269 commands.c:1407:CCID_Receive Command not supported or not allowed

Maybe the problem is with bytes 6 and 7 corresponding to wPINMaxExtraDigit
GnuPG is using 0F for max and 06 for min.
OpenSC is using 20 for max and 06 for min. Maybe 20 (32 in decimal) is too big for the reader.
I do not know anyone using a PIN with 32 digits!

@asdil12
Copy link
Author

asdil12 commented Dec 13, 2013

Yes - you're right - I tried this and was able to use the pinpad:

diff --git a/src/libopensc/reader-pcsc.c b/src/libopensc/reader-pcsc.c
index 920b6f1..aae22fd 100644
--- a/src/libopensc/reader-pcsc.c
+++ b/src/libopensc/reader-pcsc.c
@@ -1564,6 +1564,9 @@ part10_find_property_by_tag(unsigned char buffer[], int length,
 static int
 part10_check_pin_min_max(sc_reader_t *reader, struct sc_pin_cmd_data *data)
 {
+       data->pin1.min_length = 6;
+       data->pin1.max_length = 15;
+       return 0;
        int r;
        unsigned char buffer[256];
        size_t length = sizeof buffer;

@asdil12
Copy link
Author

asdil12 commented Dec 13, 2013

This is how gnupg scdaemon seems to do that:

scd/apdu.c

/* Check whether the reader supports the ISO command code COMMAND
   on the pinpad.  Return 0 on success.  */
static int
check_pcsc_pinpad (int slot, int command, pininfo_t *pininfo)
{
  int r;

  if (reader_table[slot].pcsc.pinmin >= 0)
    pininfo->minlen = reader_table[slot].pcsc.pinmin;

  if (reader_table[slot].pcsc.pinmax >= 0)
    pininfo->maxlen = reader_table[slot].pcsc.pinmax;

  if (!pininfo->minlen)
    pininfo->minlen = 1; 
  if (!pininfo->maxlen)
    pininfo->maxlen = 15;
…
}

…

static int
pcsc_vendor_specific_init (int slot)
{
…
  while (p < buf + len)
    {
      unsigned char tag = *p++;
      int l = *p++;
      unsigned int v = 0;

      /* Umm... here is little endian, while the encoding above is big.  */
      if (l == 1)
        v = p[0];
      else if (l == 2)
        v = ((p[1] << 8) | p[0]);
      else if (l == 4)
        v = ((p[3] << 24) | (p[2] << 16) | (p[1] << 8) | p[0]);

      if (tag == PCSCv2_PART10_PROPERTY_bMinPINSize)
        reader_table[slot].pcsc.pinmin = v;
      else if (tag == PCSCv2_PART10_PROPERTY_bMaxPINSize)
        reader_table[slot].pcsc.pinmax = v;
      else if (tag == PCSCv2_PART10_PROPERTY_wIdVendor)
        vendor = v;
      else if (tag == PCSCv2_PART10_PROPERTY_wIdProduct)
        product = v;

      if (DBG_CARD_IO)
        log_debug ("TLV properties: tag=%02X, len=%d, v=%08X\n", tag, l, v);

      p += l;
    }
…
}

@LudovicRousseau
Copy link
Member

OpenSC has code to deal with PCSCv2_PART10_PROPERTY_bMaxPINSize in https://github.com/OpenSC/OpenSC/blob/master/src/libopensc/reader-pcsc.c#L1595

But the CCID driver do not return the max pin size for the Cherry GmbH SmartTerminal ST-2xxx reader. So a default value has been used. I could not find where the max pin size of (default ?) 32 bytes comes from.

@asdil12
Copy link
Author

asdil12 commented Dec 14, 2013

I added some log - this is what part10_find_property_by_tag returns:

reader-pcsc.c:1586:part10_check_pin_min_max: PINPAD MIN_PIN_SIZE: -1
reader-pcsc.c:1598:part10_check_pin_min_max: PINPAD MAX_PIN_SIZE: -1

@asdil12
Copy link
Author

asdil12 commented Dec 14, 2013

I had a look at the gnupg-scdaemon code.
They are using a default minlen of 6 when using a PIN and a default minlen of 8 when using a PUK.
The maxlen is set to 0 by default.
This default is already set in pininfo when check_pcsc_pinpad is called.
check_pcsc_pinpad tries to get infos from the PCSCv2_PART10_PROPERTY values, which return -1 for min and max. So the fallback value of 15 is set for the maxlen (which was 0 at that time).

So gnupg isn't getting that info from pcsc as well.

@asdil12
Copy link
Author

asdil12 commented Dec 14, 2013

When searching for the default pin length in opensc, I found another (possible) bug:

In 3567660 there was a switch added, which is used in part10_build_modify_pin_block and part10_check_pin_min_max:

@@ -1408,6 +1408,9 @@ static int part10_build_modify_pin_block(struct sc_reader *reader, u8 * buf, siz
        u8 tmp;
        unsigned int tmp16;
        PIN_MODIFY_STRUCTURE *pin_modify  = (PIN_MODIFY_STRUCTURE *)buf;
+       struct sc_pin_cmd_pin *pin_ref =
+               data->flags & SC_PIN_CMD_IMPLICIT_CHANGE ?
+               &data->pin2 : &data->pin1;

and

@@ -1569,6 +1571,9 @@ part10_check_pin_min_max(sc_reader_t *reader, struct sc_pin_cmd_data *data)
        unsigned char buffer[256];
        size_t length = sizeof buffer;
        struct pcsc_private_data *priv = GET_PRIV_DATA(reader);
+       struct sc_pin_cmd_pin *pin_ref =
+               data->flags & SC_PIN_CMD_IMPLICIT_CHANGE ?
+               &data->pin1 : &data->pin2;

Note that the order (pin1:pin2 vs pin2:pin1) is different. I think, pin2:pin1 is correct.
So even if ccid would return proper pin-lengths from the reader - part10_check_pin_min_max doesn't touch the pin1 - at least not while I'm using it. The pin1 has a default of 6-32, the pin2 has a default of 0-0.

@LudovicRousseau
Copy link
Member

where does the default 6-32 for pin1 comes from? 32 is a huge value.

@asdil12
Copy link
Author

asdil12 commented Dec 14, 2013

The 6-32 values are already present in the C_Login function in pkcs11/pkcs11-session.c in session->slot->fw_data->data->attrs.pin.min_length

@asdil12
Copy link
Author

asdil12 commented Dec 14, 2013

Is's also already present in C_GetTokenInfo after

rv = slot_get_token(slotID, &slot);

@asdil12
Copy link
Author

asdil12 commented Dec 14, 2013

I think, I found the source: It's the card itself:

./p15dump -r0
…
PIN [User PIN (sig)]
        Com. Flags  : private, modifiable
        Auth ID     : 01
        Flags       : [0x13], case-sensitive, local, initialized
        Length      : min_len:6, max_len:32, stored_len:32
        Pad char    : 0x00
        Reference   : 1
        Encoding    : UTF8
        Path        : 3f00
        Tries left  : 3

I also tried a Feitian card (p15dump reports 4-16) and my debug prints also returned 4-16 for the default pin min/max.

@LudovicRousseau
Copy link
Member

So your card may have a pin code of 32 digits. But it will then be impossible to enter it using the Cherry GmbH SmartTerminal ST-2xxx.

Maybe OpenSC should limit the maximal pin length if the driver returns a value with PCSCv2_PART10_PROPERTY_bMaxPINSize. But if the PIN is longer than this value you have to disable the pinpad feature.

Can you do some tests with your reader and tell me the minimum and maximum PIN lengths supported by the SmartTerminal ST-2xxx (so I can add them in the CCID driver)?

@asdil12
Copy link
Author

asdil12 commented Dec 15, 2013

I can't test this at home, because my home pc (arch) seems to run into different issues than my pc at work (suse). But I think, that 4-15 would be a good start.

The issue on my home pc seems to be a too small request block:

00000010 ifdhandler.c:1360:IFDHControl() ControlCode: 0x42330006, usb:046a/003e:libudev:0:/dev/bus/usb/003/002 (lun: 0)
00000020 Control TxBuffer: 1E 1E 02 00 00 20 06 02 00 00 00 00 00 00 00 05 00 00 00 00 20 00 82 
00000018 commands.c:333:SecurePINVerify() Wrong lengths: 24 23
00000007 Control RxBuffer: 
00000008 ifdwrapper.c:461:IFDControl() Card not transacted: 614

I even tried the opensc binaries from my pc at work on my home pc - with the same result.

@LudovicRousseau
Copy link
Member

Your request block is wrong. You indicates an APDU of 5 bytes but give only 4.

I would like to use the real values for PIN size min/max, and not just a good start.

@asdil12
Copy link
Author

asdil12 commented Dec 16, 2013

OK - just did some testing: the reader accepts a min_length of 1 and a max_length of 25.

@LudovicRousseau
Copy link
Member

The "Wrong lengths: 24 23" problem was a bug on my side in ccid/examples/scardcontrol.c. Sorry for that.

I fixed it in revision 6809 http:https://lists.alioth.debian.org/pipermail/pcsclite-cvs-commit/2013-December/006364.html

@27o
Copy link

27o commented Dec 27, 2013

based on 48ec5b1 the same changes as in scardcontrol.c have to be done in reader-pcsc.c

Line numbers may be off due to unrelated changes in PACE code and hardcoded maximum PIN length.

diff --git a/src/libopensc/reader-pcsc.c b/src/libopensc/reader-pcsc.c
--- a/src/libopensc/reader-pcsc.c
+++ b/src/libopensc/reader-pcsc.c
@@ -1396,7 +1400,7 @@ static int part10_build_verify_pin_block(struct sc_reader *reader, u8 * buf, siz

        pin_verify->ulDataLength = HOST_TO_CCID_32(offset); /* APDU size */

-       count = sizeof(PIN_VERIFY_STRUCTURE) + offset -1;
+       count = sizeof(PIN_VERIFY_STRUCTURE) + offset;
        *size = count;
        return SC_SUCCESS;
 }
@@ -1515,7 +1519,7 @@ static int part10_build_modify_pin_block(struct sc_reader *reader, u8 * buf, siz

        pin_modify->ulDataLength = HOST_TO_CCID_32(offset); /* APDU size */

-       count = sizeof(PIN_MODIFY_STRUCTURE) + offset -1;
+       count = sizeof(PIN_MODIFY_STRUCTURE) + offset;
        *size = count;
        return SC_SUCCESS;
 }

This change fixed it

@LudovicRousseau
Copy link
Member

The CCID driver now reports the min/max PIN sizes for the SmartTerminal ST-2xxx reader
http:https://lists.alioth.debian.org/pipermail/pcsclite-cvs-commit/2014-January/006366.html

LudovicRousseau pushed a commit that referenced this issue Jan 6, 2014
The PC/SC v2 part 10 commands for PIN verify and modify were wrong after
a change in pcsc-lite.
See a similar change in http:https://lists.alioth.debian.org/pipermail/pcsclite-cvs-commit/2013-December/006364.html

Should fix issue #199
@asdil12
Copy link
Author

asdil12 commented Jan 6, 2014

Does opensc already respect the pin min/max size reported by ccid?

@LudovicRousseau
Copy link
Member

OpenSC is using PCSCv2_PART10_PROPERTY_bMinPINSize https://github.com/OpenSC/OpenSC/blob/master/src/libopensc/reader-pcsc.c#L1585 and PCSCv2_PART10_PROPERTY_bMaxPINSize https://github.com/OpenSC/OpenSC/blob/master/src/libopensc/reader-pcsc.c#L1596 so it should respect PIN min/max size reported by the CCID driver.

hiranotaka pushed a commit to hiranotaka/ccid-scr331-nttcom that referenced this issue Feb 20, 2014
The Cherry GmbH SmartTerminal ST-2xxx reader has a min PIN size of 0
digits and a max PIN size of 25 (0x19) digits.

Thanks to Dominik Heidler for the bug report
OpenSC/OpenSC#199


git-svn-id: svn:https://anonscm.debian.org/pcsclite/trunk/Drivers/ccid@6811 0ce88b0d-b2fd-0310-8134-9614164e65ea
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants