Sun Ray Software は、Sun Ray クライアントに接続された CCID 準拠の外付け USB スマートカードリーダーをサポートする CCID IFD ハンドラ V1.3.10 を提供します。CCID IFD ハンドラ V1.3.10 は、Sun Ray 実装の PC/SC-lite API 用 インタフェースデバイスハンドラ (IFD) です。Sun Ray Software が提供するスマートカードサービスと一緒に使用する場合、この CCID IFD ハンドラによって PC/SC 準拠のアプリケーションおよびミドルウェアは Sun Ray クライアントで外付け 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 から PC/SC-lite 1.3 コンポーネントをダウンロードできます (CCID IFD ハンドラ v1.3.10 ディストリビューションが含まれています)。CCID IFD ハンドラのみをインストールする必要があります。PC/SC-lite はすでに Sun Ray Software 5.3 と一緒にインストールされています。
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 クライアントの外付けスマートカードリーダーを使用している場合にセッションモビリティー、リセット、または電源再投入を行うことは、このリリースではサポートされていないため、アプリケーションが動かなくなったり、外付けリーダーのトラックを単純に失う場合があります。
現在のところ、外付け USB リーダーが PC/SC-lite アプリケーションに表示されるまでに数秒の遅延が発生します。この遅延は、ユーザーセッションのために PC/SC-lite インスタンスが起動された場合には常に、そして USB バスを再度列挙する必要がある場合にも発生します具体的には、外付け USB リーダーがすぐにアプリケーションに表示されない場合の列挙の遅延は、次のような状況で発生します。
PC/SC-lite のインスタンスがはじめて起動された。つまり、アプリケーションが指定されたセッション内から PC/SC-lite にはじめてアクセスしようとした場合。
活動していないアイドル時間のために PC/SC-lite が自分で終了したあとに、PC/SC-lite インスタンスが自動的に再起動された場合。これは最初のケースに似ています。
ターゲット Sun Ray クライアントの外付け USB リーダーを再度列挙している間に、セッションモビリティーイベントが発生し、リーダーの表示が遅れている場合。Sun Ray クライアントにある外付け USB リーダーの CCID IFD ハンドラは、現在のところセッションモビリティーをサポートしていません。
Sun Ray セッションの Sun Ray クライアントをリセットするか、電源を再投入します。
Windows Connecter 経由での Windows スマートカードログインなど、特定のアプリケーションは USB のホットプラグモデルに関連する列挙遅延に対応するように設計されていません。このようなアプリケーションは、最初に PC/SC-lite リーダーのリストをスキャンしたあとに出現したリーダーを表示しません。つまり、前に説明したいずれかのシナリオのために、あとで表示されるリーダーをアプリケーションが見逃している可能性があります。
アプリケーションは最初に検出したリーダーを使用する場合があります。Sun Ray クライアントでは、最初に検出されるのは常に内蔵リーダーです (次のコマンドによって無効にされている場合を除く):
# utdevadm -d -s internal_smartcard_reader
その他の解決方法は、アプリケーションがリーダーリストをスキャンする前に、アプリケーションに対して USB リーダーリストを表示できるようにしておくことです。これに対処する方法の 1 つは、事前に指定されたアイドル時間のあとに PC/SC-lite インスタンスがタイムアウトしないようにすることです。/etc/smartcard/pcscd-SunRay.conf
ファイルを編集し、INSTANCE_TIMEOUT
パラメータを -1 に変更することで、インスタンスのタイムアウトを無効にできます。出荷時のデフォルト値は 600 秒 (10 分) です。
INSTANCE_TIMEOUT
を変更することによって非活動タイムアウトを無効にすると、ユーザーのセッションが終了するまで PC/SC-lite インスタンスは存続し続けます (多くの PC/SC-lite プロセスがプロセステーブルに存在し、システムリソースを使用する場合があることを意味します)。
現在のところ、システム上のユーザーセッション数が増えるにつれてどの程度の影響があるのかに関するデータはありません (つまり、その基準となる十分なデータがありません)。プロセステーブルがほかの場合よりも活動していないプロセスで雑然とすることを除けば、多くの場合はまったく問題はないと考えられます。