Red Hat Training

A Red Hat training course is available for RHEL 8

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

アプリケーションでスマートカードを使用して認証することにより、セキュリティーが強化され、自動化が簡素化される場合があります。次の方法を使用して、Public Key Cryptography Standard (PKCS) #11 URI をアプリケーションに統合できます。

  • Firefox Web ブラウザーは、p11-kit-proxy PKCS #11 モジュールを自動的にロードします。つまり、システムで対応しているすべてのスマートカードが自動的に検出されます。TLS クライアント認証を使用する場合、追加のセットアップは必要ありません。サーバーが要求したときにスマートカードの鍵と証明書が自動的に使用されます。
  • アプリケーションが GnuTLS または NSS ライブラリーを使用している場合、PKCS #11 URI はすでにサポートされています。また、OpenSSL ライブラリーに依存するアプリケーションは、openssl-pkcs11 パッケージによって提供される pkcs11 エンジンを通じて、スマートカードを含む暗号化ハードウェアモジュールにアクセスできます。
  • スマートカード上の秘密鍵を操作する必要があり、NSSGnuTLSOpenSSL を使用しないアプリケーションは、特定の PKCS #11 モジュールの PKCS #11 API を使用するのではなく、p11-kit API を直接使用して、スマートカードを含む暗号化ハードウェアモジュールを操作できます。
  • 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/
  • また、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/

関連情報

  • curl(1)wget(1)、および p11-kit(8) man ページ