Smart Card テスト (sctest) は、スマートカードとスマートカードリーダーのテストを行う、いくつかのサブテストで構成されます。このテストは、内部 I2C SCM スマートカードリーダー、SCMstc と Ibutton の外部シリアルスマートカードリーダー、および Cyberflex と Ibutton のスマートカードで行うことができます。JavaTM カード端末リーダードライバ、Solaris の I2C SCM デバイスドライバとシリアルデバイスドライバのテストを行うことができます。
sctest は、Intervention モード以外ではテストできません。Intervention モードを選択するには、Select Devices パネルの Intervention ボタンをクリックします。
スマートカードは、sctest の実際のデータとともに使用しないでください。スクラッチスマートカードは、テスト目的以外では使用しないでください。sctestinit.sh スクリプトおよび sctest の機能によって、カード上の既存のデータが消去されます。
sctest と sptest を同時にテストしないでください。sctest が動作しているときに sptest が有効になっている場合は、テスト結果が矛盾します (Intervention モードのテストなので、sptest はデフォルトで無効になっています)。
sctest を実行するには、以下の 5 つの条件を満たす必要があります。
SunVTS の intervention モードを有効にする必要があります。
スクラッチスマートカードを使用可能にする必要があります。
カードリーダーがまだ構成されていない場合は、scrdrconfig.sh スクリプトを少なくとも 1 回、ルートとして実行し、カードリーダーを構成する必要があります。詳細は、「カードリーダーを構成する」を参照してください。
OpenCard Framework デーモン (ocfserv) が動作している必要があります。Solaris が開始すると、ocfserv が自動的に起動します。詳細は、「ocfserv の確認」を参照してください。
テストカードを初期化するために、sctestinit.sh スクリプトを実行する必要があります。
sctestinit.sh スクリプトを実行するには、コマンドプロンプトで以下のコマンドを入力します。
% /opt/SUNWvts/bin/sctestinit.sh |
テストセッションを開始する前に、sctestinit.sh スクリプトを使用してテストカードを初期化します。初期化しないと、Write モードのテストが異常終了することがあります。スクリプトの完了には、数分かかります。
テスト中にカードを挿入するか、テストの開始前に挿入しておくかについては、「sctest のサブテスト」を参照してください。
scrdrconfig.sh スクリプトをルートとして実行し、カードリーダーを構成します。
たとえば、内部 I2C リーダーを構成するには、以下のコマンドを入力します。
# /opt/SUNWvts/bin/scrdrconfig.sh -i2c |
シリアルポート A に接続された外部シリアルリーダーを構成するには、以下のコマンドを入力します。
# /opt/SUNWvts/bin/scrdrconfig.sh -a |
このスクリプトに関するヘルプを表示するには、以下のコマンドを入力します。
# /opt/SUNWvts/bin/scrdrconfig.sh -help |
カードリーダーが構成されていることを確認します。
プロパティ OpenCard.terminals は、/ect/smartcard/opencard.properties ファイルに定義されます。このプロパティの状態をチェックするには、以下のコマンドを入力します。
% grep 'OpenCard.terminals' /etc/smartcard/opencard.properties |
このファイルでは、# 記号で始まる行がコメントを意味します。
OpenCard Framework デーモン (ocfserv) を再起動して、最新の構成を有効にします。
ocfserv を再起動するには、以下に示す 3 つのコマンドを入力します。
# pkill inetd # pkill ocfserv # inetd -s |
これでスマートカードリーダーが構成できました。
scrdrconfig.sh スクリプトは、/ect/smartcard/opencard.properties ファイルを更新するための一連の /bin/smartcard コマンドで構成されます。/bin/smartcard コマンドについての詳細は、『Solarisスマートカードの管理』を参照してください。
sctest を適切に実行するには、ocf サーバー (/usr/sbin/ocfserv) が動作していなければなりません。Solaris が開始する前に、ocfserv が自動的に起動します。
シェルプロンプトに移動し、以下のコマンドを入力してocfserv が動作中であることをチェックするために以下のコマンドを入力します。
# ps -eaf | grep ocfserv |
また、シェルプロンプトで以下のコマンドを入力することによってのプロセス ID を確認できます。
# pgrep ocfserv |
現在のバージョンの ocfserv では、スマートカードの FileAccessCardService テストはサポートされていません。
設定済みのリーダーを削除するには、次のコマンドを入力します。
# /bin/smartcard -c admin -t terminal -r SunInternalCardReader -x delete |
サブテスト |
説明 |
---|---|
Card Presence Detect テスト |
カードがリーダーに存在するかどうかをチェックします。カードは、テストを開始する前にリーダーに挿入してください。 |
Card Lock/Unlock テスト |
カードのロックおよびロック解除を行う機能を検査します。カードは、テストを開始する前にリーダーに挿入してください。 |
Insertion/Removal テスト |
カードの挿入および取り外しの検出をテストします。カードがすでにリーダーに挿入されている場合は、要求に応じて取り外してから再度挿入してください。このテストはデフォルトでは無効になっています。このため、ユーザーの介入が必要です。 |
PinCardService テスト |
カードが挿入されるのを待機してから、デフォルトの PIN ($$$$java) の認証を行います。注: このサブテストでは、カードは sctestinit.sh スクリプトによって初期化されていることを前提としています。 |
Simple Authentication テスト |
カードが挿入されるのを待機してから、デフォルトの PIN ($$$$java) の認証を行います。ユーザー AAA のユーザー名とパスワードを例として表示します。このテストは、カードが sctestinit.sh スクリプトによって初期化されていない場合は動作しません。また、このサブテストでは、スマートカード上で PinCardService テストによる PIN の妥当性検査が行われている必要があります。 |
UserInfoCardService テスト |
カードが挿入されるのを待機してから、デフォルトの PIN ($$$$java) の認証を行います。ユーザー AAA のユーザー名とパスワードを例として表示します。Write モードが有効な場合は、ユーザー BBB のデフォルトユーザー情報が例として作成します。Verbose モードが有効な場合は、このユーザー情報が表示されます。次に、BBB のユーザー情報を削除します。BBB のユーザー情報を照会すると、例外が発生します (この情報が削除されているためです)。このサブテストでは、スマートカード上で PinCardService テストによる PIN の妥当性検査が行われている必要があります。 |
以下のダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、折りたたまれたグループを展開する必要があります。展開しない場合、このテストに適したデバイスがシステムに含まれないことがあります。詳細は、『SunVTS 4.2 ユーザーマニュアル』を参照してください。
オプション |
説明 |
---|---|
Mode |
UserInfoCard Service サブテストの Write モードを有効または無効にします。 |
OCF Based Tests |
次のサブテストをすべて有効または無効にします: Card Presence Detect、Card Lock/Unlock、Insertion/Removal、PinCardService、Simple Authentication、および UserInfoCardService。 |
Card Removal Test |
Insertion/Removal サブテストを有効または無効にします。 |
テストモード |
サポート |
説明 |
---|---|---|
接続テスト |
× |
サポートされていません。 |
機能テスト (オフライン) |
○ |
すべてのテストを実行できます。 |
機能テスト (オンライン) |
× |
サポートされていません。 |
/opt/SUNWvts/bin/sctest 標準引数 -o dev=a|b|i2cscmN,Mode=ReadWrite|ReadOnly,OCFBasedTests=Enable|Disable, CardRemovalTest=Enable|Disable
表 46-4 sctest のコマンド行構文
引数 |
説明 |
---|---|
dev=a|b|i2cscmN |
デバイスの種類を指定します。a または b は、ttya または ttyb です。N は 0、1、2 などです。 |
Mode= Enable|Disable |
UserInfoCard Service サブテストで Write モードを有効または無効にします。 |
OCFBasedTests= Enable|Disable |
次のサブテストをすべて有効または無効にします: Card Presence Detect、Card Lock/Unlock、Insertion/Removal、PinCardService、Simple Authentication、および UserInfoCardService。 |
CardRemovalTest=Enable|Disable |
Insertion/Removal サブテストを有効または無効にします。 |
64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名)。このディレクトリにテストが存在しない場合は、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。