Red Hat Training
A Red Hat training course is available for RHEL 8
64.2. 新しいユーザー証明書を要求し、クライアントにエクスポート
Identity Management (IdM) 管理者は、IdM 環境でユーザーの証明書を作成し、作成した証明書を、ユーザーの証明書認証を有効にする IdM クライアントにエクスポートできます。
証明書を使用して認証するユーザーがすでに証明書を持っている場合は、この手順を実行する必要はありません。
手順
必要に応じて、新しいディレクトリー (例:
~/certdb/
) を作成し、証明書の一時データベースを作成します。要求されたら、NSS 証明書の DB パスワードを作成し、後続の手順で生成される証明書への鍵を暗号化します。# mkdir
~/certdb/
# certutil -N -d~/certdb/
Enter a password which will be used to encrypt your keys. The password should be at least 8 characters long, and should contain at least one non-alphabetic character. Enter new password: Re-enter password:証明書署名要求 (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 -g4096
-nidm_user
-s "CN=idm_user
,O=IDM.EXAMPLE.COM" >certificate_request.csr
プロンプトが表示されたら、
certutil
を使用して一時データベースを作成したときに入力したパスワードを入力します。その後、止めるように言われるまで、ランダムにタイピングし続けます。Enter Password or Pin for "NSS Certificate DB": A random seed must be generated that will be used in the creation of your key. One of the easiest ways to create a random seed is to use the timing of keystrokes on a keyboard. To begin, type keys on the keyboard until this progress meter is full. DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD! Continue typing until the progress meter is full:
証明書要求ファイルをサーバーに送信します。新しく発行した証明書に関連付ける 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
証明書を NSS データベースに追加します。証明書が NSS データベースの秘密鍵に一致するように、CSR を作成する際に使用したニックネームを設定するには、
-n
オプションを使用します。-t
オプションは信頼レベルを設定します。詳細は、certutil(1) man ページを参照してください。-i
オプションは、入力証明書ファイルを指定します。たとえば、idm_user
ニックネームを持つ証明書を NSS データベースに追加するには、次のコマンドを実行します。証明書は、~/certdb/
データベースの~/idm_user.pem
ファイルに保存されます。# certutil -A -d
~/certdb/
-nidm_user
-t "P,," -i~/idm_user.pem
NSS データベースの鍵で、ニックネームが
(orphan)
と表示されていないことを確認します。たとえば、~/certdb/
データベースに保存されている証明書で、対応する鍵が存在することを確認するには、以下のコマンドを実行します。# certutil -K -d
~/certdb/
< 0> rsa 5ad14d41463b87a095b1896cf0068ccc467df395 NSS Certificate DB:idm_user証明書を、NSS データベースから PKCS12 形式にエクスポートするには、
pk12util
コマンドを使用します。たとえば、NSS データベース/root/certdb
から~/idm_user.p12
ファイルへ、idm_user
ニックネームを持つ証明書をエクスポートする場合は、次のコマンドを実行します。# pk12util -d
~/certdb
-o~/idm_user.p12
-nidm_user
Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFULidm_user
の証明書認証を有効にするホストに、証明書を転送します。# scp
~/idm_user.p12
idm_user@client.idm.example.com:/home/idm_user/
セキュリティー上の理由から、証明書が転送されたホストの、.pkcs12 ファイルが格納されているディレクトリーに、other グループがアクセスできないようにします。
# chmod o-rwx
/home/idm_user/
セキュリティー上の理由から、一時 NSS データベースおよび .pkcs12 ファイルを、サーバーから削除します。
# rm
~/certdb/
# rm~/idm_user.p12