Sun Ray Software 提供 CCID IFD 处理程序 V1.3.10 以支持与 Sun Ray Client 连接的符合 CCID 的外部 USB 智能卡读取器。CCID IFD 处理程序 V1.3.10 是用于 PC/SC-lite API 的接口设备处理程序 (Interface Device Handler, IFD) 的 Sun Ray 实现。该 CCID IFD 处理程序在与 Sun Ray Software 提供的智能卡服务结合使用时,会启用符合 PC/SC 标准的应用程序与中间件,以使用 Sun Ray Client 上的外部 USB 智能卡读取器。
要安装 CCID IFD 处理程序,请按以下说明进行操作。
要在 Oracle Solaris Trusted Extensions 环境中安装 CCID IFD 处理程序,请从 ADMIN_LOW(全局区域)以 root 用户身份进行安装。
下载并解压缩 CCID IFD 处理程序。
Sun Ray Software 5.3 发行版本中不提供 CCID IFD 处理程序。但您可以从 5.1.1 Media Pack(5.1.1 介质包)下载 PC/SC-lite 1.3 组件,其中包含 CCID IFD 处理程序 v1.3.10 分发版。只需安装 CCID IFD 处理程序。Sun Ray Software 5.3 已安装了 PC/SC-lite。
在 Sun Ray 服务器上成为超级用户。
安装 CCID IFD 处理程序:
# svcadm disable pcscd # /usr/sbin/pkgadd -d . SUNWusb-scrdr # svcadm enable pcscd
要删除 CCID IFD 处理程序,请按以下说明进行操作。
要从 Oracle Solaris Trusted Extensions 环境中卸载 CCID IFD 处理程序,请从 ADMIN_LOW(全局区域)以 root 用户身份进行卸载。
在 Sun Ray 服务器上成为超级用户。
卸载 CCID IFD 处理程序:
# svcadm disable pcscd # /usr/sbin/pkgrm SUNWusb-scrdr # svcadm enable pcscd
使用外部智能卡读取器时,本发行版本不支持会话移动性、对 Sun Ray Client 进行重置或关开机循环,这些可能会导致应用程序冻结或丢失外部读取器的跟踪信息。
目前,外部 USB 读取器对于 PC/SC-lite 客户端应用程序变为可见之前有几秒的延迟。只要出现以下情况,此延迟就会发生:为用户会话启动 PC/SC-lite 实例时以及 USB 总线需要重新枚举时。具体而言,外部 USB 读取器无法对应用程序立即可见的枚举延迟会在以下情况中发生:
PC/SC-lite 实例首次启动时。也就是应用程序首次尝试从某个给定会话内访问 PC/SC-lite 时。
PC/SC-lite 实例由于非活动的闲置期而自我终止后自动重新启动时。该情况与首个情况类似。
会话移动性事件发生,导致在系统重新枚举目标 Sun Ray Client 上的外部 USB 读取器的同时产生读取器可见性延迟时。目前针对 Sun Ray Client 上的外部 USB 读取器的 CCID IFD 处理程序不支持会话移动性。
在 Sun Ray 会话中对 Sun Ray Client 进行重置或关开机循环时。
某些应用程序(例如 Windows 连接器上的 Windows Smart Card 登录程序)并不适应与 USB 热插拔模式相关联的枚举延迟。此类应用程序看不到其首次扫描 PC/SC-lite 读取器列表后显示的读取器。也就是说,后来显示的读取器可能由于上述任一情形而被应用程序忽略。
有时应用程序会使用查找到的首个读取器。在 Sun Ray Client 上,该读取器一定是内部读取器,除非该读取器已由以下命令禁用:
# utdevadm -d -s internal_smartcard_reader
附加解决方案的目的在于确保 USB 读取器列表在应用程序扫描前就对其可见。解决该问题的一种方法是防止 PC/SC-lite 实例在经过预先指定的空闲期后超时。您可以通过编辑 /etc/smartcard/pcscd-SunRay.conf
文件,将 INSTANCE_TIMEOUT
参数更改为 -1,来禁用实例超时设置。系统提供的默认值为 600 秒(10 分钟)。
当通过更改 INSTANCE_TIMEOUT
禁用非活动的超时设置时,PC/SC-lite 实例仍然存在,直到用户的会话终止。这意味着进程表中可能存在很多使用系统资源的 PC/SC-lite 进程。
由于系统中用户会话数不断增长,对于这可能带来多大的影响,我们目前没有相关数据(也就是说,我们关于其扩展情况的数据不足)。很多情况下,这可能根本不算问题,唯一的影响就是进程表中会存在更多非活动的进程,因而显得更为杂乱。