ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris セキュリティーサービス開発ガイド Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris の開発者向けセキュリティー機能 (概要)
3. PAM アプリケーションおよび PAM サービスの記述
8. Oracle Solaris 暗号化フレームワークの紹介
9. ユーザーレベルの暗号化アプリケーションとプロバイダの記述
Oracle Solaris OS 用に開発されるスマートカード端末では、Linux のスマートカード端末で使用されるのと同じ API セットが使用されます。以前に IFD ハンドラを開発したことがない場合は、IFD ソースコードを提供する Linux 環境用のいずれかの Web サイト(http://www.musclecard.com/drivers.html など) を参照したほうがよいでしょう。Solaris オペレーティングシステムでスマートカード端末用の IFD ハンドラを開発するには、 /usr/include/smartcard/ifdhandler.h をインクルードし、次のインタフェースを実装する必要があります。
IFDHCreateChannelByName(3SMARTCARD) – 特定のスマートカード端末との通信チャネルを開きます。このインタフェースは、最新バージョンの MUSCLE IFD 仕様の新機能です。このため、IFDHCreateChannelByName() はほかの IFD ハンドラでは使用できません。Solaris ソフトウェアでは、IFDHCreateChannel(3SMARTCARD) 関数の代わりに IFDHCreateChannelByName () が使用されます。
IFDHICCPresence(3SMARTCARD) – リーダー、または論理ユニット番号 (LUN) によって指定されたスロットに ICC (スマートカード) が存在するかどうかを確認します。
IFDHPowerICC(3SMARTCARD) – ICC の電源とリセットの信号を制御します。
IFDHCloseChannel(3SMARTCARD) – LUN によって指定された IFD の通信チャネルを閉じます。
IFDHGetCapabilities(3SMARTCARD) – 指定されたスマートカード、IFD ハンドラ、またはスマートカード端末の性能を戻します。
IFDHSetProtocolParameters(3SMARTCARD) – 特定のスロットまたはカードに対して PTS (Protocol Type Selection) を設定します。PTS の値は、ISO 7816 標準を確認してください。この関数は、フレームワークによって呼び出されないかもしれませんが、実装すべきです。IFDHSetProtocolParameters() を使用して、各種カードが確実にフレームワークと通信できることを確認してください。
IFDHTransmitToICC(3SMARTCARD) – スマートカードと通信するためにフレームワークによって呼び出されます。
注 - IFDHCreateChannel()、IFDHSetCapabilities()、および IFDHControl() は現在使用されていませんが、これらのインタフェースは今後のリリースで必要になる場合があります。
IFDHICCPresence() および IFDHPowerICC() の各関数はテストの際に役に立ちます。たとえば、IFDHICCPresence() 関数を使用して、スロット内にカードが存在するかどうかをテストできます。スマートカードの電源が正常に機能しているかどうかを確認する場合は、IFDHPowerICC() 関数を使用するのも 1 つの方法です。この関数は、挿入されているスマートカードの ATR (Answer to Reset) 値を取得します。