10.3. IdM Kerberos KDC が PKINIT を使用でき、CA 証明書が正しく配置されていることの確認
この手順に従って、IdM Kerberos KDC が PKINIT を使用できることを検証する方法と、CA 証明書が正しく配置されていることを検証する方法も説明します。
前提条件
- スマートカードで使用する IdM サーバーおよびクライアントをインストールして設定している。
- スマートカードリーダーを検出し、スマートカードの内容を表示できる。システムでのスマートカードアクセスのテスト を参照してください。
手順
kinitユーティリティーを実行し、スマートカードに保存されている証明書を使用してidmuser1として認証します。kinit -X X509_user_identity=PKCS11: idmuser1 MyEID (sctest) PIN:
$ kinit -X X509_user_identity=PKCS11: idmuser1 MyEID (sctest) PIN:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - スマートカード PIN を入力します。PIN の入力を求められない場合は、スマートカードリーダーを検出してスマートカードの内容を表示できることを確認してください。スマートカード認証のテスト を参照してください。
PIN が受け入れられ、パスワードの入力を求められた場合は、CA 署名証明書がない可能性があります。
opensslコマンドを使用して、CA チェーンがデフォルトの証明書バンドルファイルにリスト表示されていることを確認します。openssl crl2pkcs7 -nocrl -certfile /var/lib/ipa-client/pki/ca-bundle.pem | openssl pkcs7 -print_certs -noout subject=O = IDM.EXAMPLE.COM, CN = Certificate Authority issuer=O = IDM.EXAMPLE.COM, CN = Certificate Authority
$ openssl crl2pkcs7 -nocrl -certfile /var/lib/ipa-client/pki/ca-bundle.pem | openssl pkcs7 -print_certs -noout subject=O = IDM.EXAMPLE.COM, CN = Certificate Authority issuer=O = IDM.EXAMPLE.COM, CN = Certificate AuthorityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書の有効性を確認します。
idmuser1のユーザー認証証明書 ID を見つけます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow DER 形式で、スマートカードからユーザー証明書情報を読み取ります。
pkcs11-tool --read-object --id 01 --type cert --output-file cert.der Using slot 0 with a present token (0x0)
$ pkcs11-tool --read-object --id 01 --type cert --output-file cert.der Using slot 0 with a present token (0x0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow DER 証明書を PEM 形式に変換します。
openssl x509 -in cert.der -inform DER -out cert.pem -outform PEM
$ openssl x509 -in cert.der -inform DER -out cert.pem -outform PEMCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA までの有効な発行者署名が証明書にあることを確認します。
openssl verify -CAfile /var/lib/ipa-client/pki/ca-bundle.pem <path>/cert.pem cert.pem: OK
$ openssl verify -CAfile /var/lib/ipa-client/pki/ca-bundle.pem <path>/cert.pem cert.pem: OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow
スマートカードに複数の証明書が含まれている場合、
kinitは認証用の正しい証明書を選択できない可能性があります。この場合は、certid=<ID>オプションを使用して、kinitコマンドの引数として証明書 ID を指定する必要があります。スマートカードに保存されている証明書の数を確認し、使用している証明書の ID を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書 ID 01 で
kinitを実行します。kinit -X kinit -X X509_user_identity=PKCS11:certid=01 idmuser1 MyEID (sctest) PIN:
$ kinit -X kinit -X X509_user_identity=PKCS11:certid=01 idmuser1 MyEID (sctest) PIN:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
klistを実行して、Kerberos 認証情報キャッシュの内容を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 終了したら、アクティブな Kerberos チケットを破棄します。
kdestroy -A
$ kdestroy -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow