1.4. スマートカードとその内容を管理するためのツール
さまざまなツールを使用して、スマートカードに格納されているキーと証明書を管理できます。これらのツールを使用して、次のことができます。
- システムに接続されている使用可能なスマートカードリーダーを一覧表示します。
- 利用可能なスマートカードを一覧表示し、その内容を表示します。
- キーと証明書であるスマートカードの内容を操作します。
同様の機能を提供するツールは多数ありますが、システムの異なるレイヤーで機能するツールもあります。スマートカードは、複数のコンポーネントによって複数のレイヤーで管理されます。下位レベルでは、オペレーティングシステムは PC/SC プロトコルを使用してスマートカードリーダーと通信し、この通信は pcsc-lite デーモンによって処理されます。デーモンは、受信したコマンドを通常は USB 経由でスマートカードリーダーに転送します。これは、低レベルの CCID ドライバーによって処理されます。PC/SC の低レベル通信は、アプリケーションレベルではほとんど見られません。アプリケーションがスマートカードにアクセスするための RHEL での主な方法は、高レベルのアプリケーションプログラミングインターフェイス (API) である OASIS PKCS#11 API を使用することです。この API は、秘密鍵などの暗号化オブジェクトを操作する特定のコマンドにカード通信を抽象化します。スマートカードベンダーは、PKCS#11 API に従い、スマートカードのドライバーとして機能する .so
ファイルなどの共有モジュールを提供します。
次のツールを使用して、スマートカードとその内容を管理できます。
OpenSC ツール:
opensc
に実装されているドライバーと連携します。- opensc-tool: スマートカード操作を実行します。
- pkcs15-tool: スマートカードの PKCS#15 データ構造を管理します (トークンに保存されている PIN、キー、および証明書の一覧表示と読み取りなど)。
- pkcs11-tool: スマートカード上の PKCS#11 データオブジェクトを管理します。たとえば、トークンに格納されている PIN、キー、および証明書の一覧表示と読み取りを行います。
GnuTLS ユーティリティー: アプリケーションがネットワークトランスポート層を介した安全な通信を可能にするための API と、X.509、PKCS#12、OpenPGP、およびその他の構造にアクセスするためのインターフェイス。
- p11tool: PKCS#11 スマートカードとセキュリティーモジュールで操作を実行します。
- certtool: X.509 証明書、要求、秘密鍵を解析して生成します。
ネットワークセキュリティーサービス (NSS) ツール: セキュリティー対応のクライアントおよびサーバーアプリケーションのクロスプラットフォーム開発をサポートするように設計された一連のライブラリー。NSS で構築されたアプリケーションは、SSL v3、TLS、PKCS #5、PKCS #7、PKCS #11、PKCS #12、S/MIME、X.509 v3 証明書、およびその他のセキュリティー標準をサポートできます。
- modutil: PKCS#11 モジュール情報をセキュリティーモジュールデータベースで管理します。
- certutil: NSS データベースと他の NSS トークンの両方でキーと証明書を管理します。
これらのツールを使用してスマートカードを使用した認証に関する問題をトラブルシューティングする方法の詳細は、スマートカードによる認証のトラブルシューティング を参照してください。
関連情報
-
opensc-tool
man ページ -
pkcs15-tool
man ページ -
pkcs11-tool
man ページ -
p11tool
man ページ -
certtool
man ページ -
modutil
man ページ -
certutil
man ページ