16.2. 新しいユーザー証明書の要求とクライアントへのエクスポート
RHEL Identity Management (IdM) 管理者は、IdM 環境でユーザーの証明書を作成し、作成した証明書をユーザーの証明書認証を有効にする IdM クライアントにエクスポートできます。
証明書を使用して認証するユーザーがすでに証明書を持っている場合は、この手順を実行する必要はありません。
手順
オプション: 新しいディレクトリー (例:
~/certdb/
) を作成し、それを一時的な証明書データベースにします。要求されたら、NSS 証明書の DB パスワードを作成し、後続の手順で生成される証明書への鍵を暗号化します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書署名要求 (CSR) を作成し、その出力をファイルにリダイレクトします。たとえば、
IDM.EXAMPLE.COM
レルムのidm_user
ユーザーの4096
ビット証明書に対して、certificate_request.csr
という名前の CSR を作成する場合は、簡単に見つけられるように、証明書の秘密鍵のニックネームをidm_user
に設定し、サブジェクトをCN=idm_user,O=IDM.EXAMPLE.COM
に設定します。certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
# certutil -R -d ~/certdb/ -a -g 4096 -n idm_user -s "CN=idm_user,O=IDM.EXAMPLE.COM" > certificate_request.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、
certutil
を使用して一時データベースを作成したときに入力したパスワードを入力します。次に、やめるように指示されるまでランダムに入力を続けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書要求ファイルをサーバーに送信します。新しく発行した証明書に関連付ける Kerberos プリンシパルと、証明書を保存する出力ファイルを指定し、必要に応じて証明書のプロファイルを指定します。たとえば、
IECUserRoles
プロファイル (idm_user
@IDM.EXAMPLE.COM
プリンシパルに追加したユーザーロール拡張機能を持つプロファイル) の証明書を取得して、それを~/idm_user.pem
ファイルに保存する場合は、次のコマンドを実行します。ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pem
# ipa cert-request certificate_request.csr --principal=idm_user@IDM.EXAMPLE.COM --profile-id=IECUserRoles --certificate-out=~/idm_user.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書を NSS データベースに追加します。証明書が NSS データベースの秘密鍵に一致するよ以前に CSR を作成する際に使用したニックネームを設定するには、
-n
オプションを使用します。-t
オプションは信頼レベルを設定します。詳細は、certutil(1) man ページを参照してください。-i
オプションは、入力証明書ファイルを指定します。たとえば、~/certdb/
データベースの~/idm_user.pem
ファイルに保存されているidm_user
ニックネームを持つ証明書を NSS データベースに追加するには、次のコマンドを実行します。certutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pem
# certutil -A -d ~/certdb/ -n idm_user -t "P,," -i ~/idm_user.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NSS データベースの鍵で、ニックネームが
(orphan)
と表示されていないことを確認します。たとえば、~/certdb/
データベースに保存されている証明書が孤立していないことを確認するには、次のコマンドを実行します。certutil -K -d ~/certdb/
# certutil -K -d ~/certdb/ < 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書を、NSS データベースから PKCS12 形式にエクスポートするには、
pk12util
コマンドを使用します。たとえば、/root/certdb
NSS データベースから~/idm_user.p12
ファイルへ、idm_user
ニックネームを持つ証明書をエクスポートする場合は、次のコマンドを実行します。pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user
# pk12util -d ~/certdb -o ~/idm_user.p12 -n idm_user Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFUL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow idm_user
の証明書認証を有効にするホストに、証明書を転送します。scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/
# scp ~/idm_user.p12 idm_user@client.idm.example.com:/home/idm_user/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow セキュリティー上の理由から、証明書が転送されたホストの、.pkcs12 ファイルが格納されているディレクトリーに、'other' グループがアクセスできないようにします。
chmod o-rwx /home/idm_user/
# chmod o-rwx /home/idm_user/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow セキュリティー上の理由から、一時 NSS データベースおよび .pkcs12 ファイルを、サーバーから削除します。
rm ~/certdb/ rm ~/idm_user.p12
# rm ~/certdb/ # rm ~/idm_user.p12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow