Sunday, January 25, 2009

[THIN] Hi! help needed on rdesktop and Smart card

Hello All,

While trying to configure my rdesktop 1.6 on Linux system for etoken I
came across one issue, I am sure you can help in solving that.

I have installed pkiclient-full-4.55-34.i386.rpm and
pcsc-lite-1.4.0-9.el4.at.i386.rpm from Aladdin in my system. etoken
pro usb is getting properly detected in that. now i launch rdesktop
(1.6) with "-r scard" and i am taken in to server with smart card
authentication properly. As soon as i remove etoken from host, the
login comes back to normal username an password. Now the problem is
when I reinsert etoken back to the client, the server system doesn't
detects that etoken is inserted again and the only way to login is
usename and password (not etoken smart card).

I believe that RDP server is not transferred the information that
eToken is inserted again. can you tell me what am i missing ?

I have seen in windows that we do not need to restart RDP connection.
once user removes etoken, session gets locked and on inserting etoken
back, session (or MS Gina) detects this and asks for etoken PIN to
make user gets login back again.

I just tried to debug rdesktop. please have a look at debug messages.

--------------
root@OEM000F00480CA3:/etc/udev/rules.d# rdesktop -r scard 107.108.92.142
ERROR: Failed to open keymap en-us
WARNING: rdp_out_unistr: iconv_open[ANSI_X3.4-1968 -> UTF-16LE] fail 0xffffffff
WARNING: Remote desktop does not support colour depth 24; falling back to 16
SCARD: SCardAccessStartedEvent()
SCARD: SCardEstablishContext()
SCARD: -> Success (context: 0x0103a5a6)
SCARD: SCardListReaders(context: 0x0103a5a6)
SCARD: -> Success
SCARD: "Aladdin eToken PRO USB 72K Java 00 00"
SCARD: SCardGetStatusChange(context: 0x0103a5a6, timeout: 0xffffffff, count: 2)
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000000
SCARD: current state: 0x00000000
SCARD: "Aladdin eToken PRO USB 72K Java 00 00"
SCARD: user: 0x00000000, state: 0x00000010, event: 0x00000000
SCARD: current state: 0x00000010
SCARD: -> Success
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000000, event: 0x00000001
SCARD: "Aladdin eToken PRO USB 72K Java 00 00"
SCARD: user: 0x00000000, state: 0x00000010, event: 0x00010122
SCARD: SCardGetStatusChange(context: 0x0103a5a6, timeout: 0xffffffff, count: 2)
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: current state: 0x00000001
SCARD: "Aladdin eToken PRO USB 72K Java 00 00"
SCARD: user: 0x00000000, state: 0x00000122, event: 0x00000122
SCARD: current state: 0x00010122


SCARD: -> Success
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: "Aladdin eToken PRO USB 72K Java 00 00"
SCARD: user: 0x00000000, state: 0x00010122, event: 0x0002000a
SCARD: SCardGetStatusChange(context: 0x0103a5a6, timeout: 0xffffffff, count: 1)
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: current state: 0x00000001
SCARD: -> Success
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: SCardGetStatusChange(context: 0x0103a5a6, timeout: 0xffffffff, count: 1)
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: current state: 0x00000001


SCARD: -> Success
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: SCardGetStatusChange(context: 0x0103a5a6, timeout: 0xffffffff, count: 1)
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000001
SCARD: current state: 0x00000001

------------------------------------------------------------

In the above messages the first block shows that etoken is
successfully connected to rdesktop session and all information is
transfered. Second block shows that etoken is disconnected. 3rd block
shows that there is some device which is connected but I am not sure
why etoken information is not being shown as it is shown in 1st block
although on re-inserting PKIMonitor properly detects etoken device.

Is it possible that some of my udev or driver rules are wrong which
are making it difficult for rdesktop to know of etoken information ?
or do we need to install some other component as well

any suggestions ?


If there is some other information needed, please let me know.

Thanks and Regards,

Puneet Goel
************************************************
For Archives, RSS, to Unsubscribe, Subscribe or
set Digest or Vacation mode use the below link:
http://www.freelists.org/list/thin
Follow ThinList on Twitter
http://twitter.com/thinlist
Thin List discussion is now available in blog format at:
http://thinmaillist.blogspot.com
Thinlist MOBILE Feed
http://thinlist.net/mobile
************************************************

No comments: