4.4. スマートカードから証明書を使用して認証するアプリケーションの設定

  • wget ネットワークダウンローダーでは、ローカルに保存された秘密鍵へのパスの代わりに PKCS #11 の URI を指定できるため、安全に保存された秘密鍵と証明書を必要とするタスク用のスクリプトの作成が容易になります。以下に例を示します。

    $ wget --private-key 'pkcs11:token=softhsm;id=%01;type=private?pin-value=111111' --certificate 'pkcs11:token=softhsm;id=%01;type=cert' https://example.com/

    詳細は、man ページの wget(1) を参照してください。

  • curl ツールで使用する PKCS #11 の URI は、以下のように指定します。

    $ curl --key 'pkcs11:token=softhsm;id=%01;type=private?pin-value=111111' --cert 'pkcs11:token=softhsm;id=%01;type=cert' https://example.com/

    詳細は、man ページの curl(1) を参照してください。

  • Web ブラウザーの Firefox は、p11-kit-proxy モジュールを自動的に読み込みます。つまり、システムで対応しているすべてのスマートカードが自動的に検出されます。TLS クライアント認証を使用した場合、その他に必要な設定はありません。また、サーバーがスマートカードを要求する際に、スマートカードの鍵が自動的に使用されます。

カスタムアプリケーションで PKCS #11 の URI の使用

アプリケーションが GnuTLS ライブラリーまたは NSS ライブラリーを使用する場合、PKCS #11 の URI は PKCS #11 の組み込みサポートで保証されます。また、OpenSSL ライブラリーに依存するアプリケーションは、openssl-pkcs11 エンジンが生成する暗号化ハードウェアモジュールにアクセスできます。

アプリケーションでスマートカードの秘密鍵を使用する必要があり、NSSGnuTLS、または OpenSSL は使用しない場合は、p11-kit を使用して PKCS #11 モジュールの登録を実装します。

詳細は、man ページの p11-kit (8) を参照してください。