SunVTS 4.3 テストリファレンスマニュアル

第 47 章 Smart Card テスト (sctest)

Smart Card テスト (sctest) は、スマートカードとスマートカードリーダーのテストを行う、いくつかのサブテストで構成されます。このテストは、内部 I2C SCM スマートカードリーダー、SCMstc と Ibutton の外部シリアルスマートカードリーダー、および Cyberflex と Ibutton のスマートカードで行うことができます。JavaTM カード端末リーダードライバ、Solaris の I2C SCM デバイスドライバとシリアルデバイスドライバのテストを行うことができます。

sctest は、Intervention モード以外ではテストできません。Intervention モードを選択するには、Select Devices パネルの Intervention ボタンをクリックします。


注意 - 注意 -

スマートカードは、sctest の実際のデータとともに使用しないでください。スクラッチスマートカードは、テスト目的以外では使用しないでください。sctestinit.sh スクリプトおよび sctest の機能によって、カード上の既存のデータが消去されます。



注 -

sctestsptest を同時にテストしないでください。sctest が動作しているときに sptest が有効になっている場合は、テスト結果が矛盾します (Intervention モードのテストなので、sptest はデフォルトで無効になっています)。


sctest テストの条件

sctest を実行するには、以下の 5 つの条件を満たす必要があります。

sctestinit.sh スクリプトを実行するには、コマンドプロンプトで以下のコマンドを入力します。


% /opt/SUNWvts/bin/sctestinit.sh

テストセッションを開始する前に、sctestinit.sh スクリプトを使用してテストカードを初期化します。初期化しないと、Write モードのテストが異常終了することがあります。スクリプトの完了には、数分かかります。

テスト中にカードを挿入するか、テストの開始前に挿入しておくかについては、sctest のサブテスト」を参照してください。

カードリーダーを構成する
  1. scrdrconfig.sh スクリプトをルートとして実行し、カードリーダーを構成します。

    たとえば、内部 I2C リーダーを構成するには、以下のコマンドを入力します。

    # /opt/SUNWvts/bin/scrdrconfig.sh -i2c

    シリアルポート A に接続された外部シリアルリーダーを構成するには、以下のコマンドを入力します。

    # /opt/SUNWvts/bin/scrdrconfig.sh -a

    このスクリプトに関するヘルプを表示するには、以下のコマンドを入力します。

    # /opt/SUNWvts/bin/scrdrconfig.sh -help

  2. カードリーダーが構成されていることを確認します。

    プロパティ OpenCard.terminals は、/ect/smartcard/opencard.properties ファイルに定義されます。このプロパティの状態をチェックするには、以下のコマンドを入力します。

    % grep 'OpenCard.terminals' /etc/smartcard/opencard.properties

    このファイルでは、# 記号で始まる行がコメントを意味します。

  3. OpenCard Framework デーモン (ocfserv) を再起動して、最新の構成を有効にします。

    ocfserv を再起動するには、以下に示す 3 つのコマンドを入力します。

    # pkill inetd

    # pkill ocfserv

    # inetd -s

これでスマートカードリーダーが構成できました。

scrdrconfig.sh スクリプトは、/ect/smartcard/opencard.properties ファイルを更新するための一連の /bin/smartcard コマンドで構成されます。/bin/smartcard コマンドについての詳細は、『Solarisスマートカードの管理』を参照してください。

ocfserv の確認

sctest を適切に実行するには、ocf サーバー (/usr/sbin/ocfserv) が動作していなければなりません。Solaris が開始する前に、ocfserv が自動的に起動します。

  1. シェルプロンプトに移動し、以下のコマンドを入力してocfserv が動作中であることをチェックするために以下のコマンドを入力します。


    # ps -eaf | grep ocfserv
    

    また、シェルプロンプトで以下のコマンドを入力することによってのプロセス ID を確認できます。

    # pgrep ocfserv


    注 -

    現在のバージョンの ocfserv では、スマートカードの FileAccessCardService テストはサポートされていません。


カードリーダーを削除する
  1. 設定済みのリーダーを削除するには、次のコマンドを入力します。

    # /bin/smartcard -c admin -t terminal -r SunInternalCardReader -x delete

sctest のサブテスト

表 47-1 sctest のサブテスト

サブテスト 

説明 

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 の妥当性検査が行われている必要があります。

sctest のオプション

以下のダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、折りたたまれたグループを展開する必要があります。展開しない場合、このテストに適したデバイスがシステムに含まれないことがあります。詳細は、『SunVTS 4.3 ユーザーマニュアル』を参照してください。

図 47-1 sctest のテストパラメタオプションダイアログボックス

Graphic

表 47-2 sctest のオプション

オプション 

説明 

Mode 

UserInfoCard Service サブテストの Write モードを有効または無効にします。 

OCF Based Tests 

次のサブテストをすべて有効または無効にします: Card Presence Detect、Card Lock/Unlock、Insertion/Removal、PinCardService、Simple Authentication、および UserInfoCardService。 

Card Removal Test 

Insertion/Removal サブテストを有効または無効にします。 

sctest のテストモード

表 47-3 sctest のテストモード

テストモード 

サポート 

説明 

接続テスト 

× 

サポートされていません。 

機能テスト 

(オフライン) 

○ 

すべてのテストを実行できます。

sctest のコマンド行構文

/opt/SUNWvts/bin/sctest 標準引数 -o dev=a|b|i2cscmN,Mode=ReadWrite|ReadOnly,OCFBasedTests=Enable|Disable, CardRemovalTest=Enable|Disable

表 47-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 ビットテスト」を参照してください。