12.3. SCEP 経由での CA 署名証明書の要求
Simple Certificate Enrollment Protocol (SCEP) は、CA を使用した証明書管理プロセスを自動化し、簡素化します。クライアント要求や、CA の SCEP サービスから直接 HTTP 経由で証明書を取得できるようになります。このプロセスは、通常、限られた時間でのみ有効な 1 回限りの PIN で保護されます。
以下の例では、SCEP CA 設定を
certmonger
に追加し、新しい証明書を要求し、ローカルの NSS データベースに追加します。
- CA 設定を
certmonger
に追加します。[root@server ~]# getcert add-scep-ca -c CA_Name -u SCEP_URL
- -c: CA 設定に必要なニックネーム。後で同じ値を他の getcert コマンドに渡すことができます。
- -u: サーバーの SCEP インターフェイスへの URL。
- HTTPS URL を使用する場合は必須のパラメーターです。-R CA_Filename: HTTPS 暗号化に使用される SCEP サーバーの CA 証明書の PEM 形式のコピーの場所。
- CA 設定が正常に追加されたことを確認します。
[root@server ~]# getcert list-cas -c CA_Name CA 'CA_Name': is-default: no ca-type: EXTERNAL helper-location: /usr/libexec/certmonger/scep-submit -u http://SCEP_server_enrollment_interface_URL SCEP CA certificate thumbprint (MD5): A67C2D4B 771AC186 FCCA654A 5E55AAF7 SCEP CA certificate thumbprint (SHA1): FBFF096C 6455E8E9 BD55F4A5 5787C43F 1F512279
CA 証明書のサムプリントが SCEP で取得され、コマンドの出力に表示される際に、CA 設定が正常に追加されました。暗号化されていない HTTP でサーバーにアクセスすると、中間者攻撃を防ぐため、サムプリントを SCEP サーバーに表示されるものと手動で比較します。 - CA から証明書を要求します。
[root@server ~]# getcert request -I Task_Name -c CA_Name -d /etc/pki/nssdb -n Certificate_Name -N cn="Subject Name" -L one-time_PIN
- -i: タスクの名前。後で同じ値を getcert list コマンドに渡すことができます。
- -c: 要求を送信する CA 設定。
- -d: 証明書とキーを格納するための NSS データベースを備えたディレクトリー。
- -n: NSS データベースで使用される証明書のニックネーム。
- -n: CSR のサブジェクト名。
- -l: CA が発行する Time-time PIN。
- 要求の送信直後に、証明書が発行され、ローカルデータベースに正しく保存されていることを確認します。
[root@server ~]# getcert list -I TaskName Request ID 'Task_Name': status: MONITORING stuck: no key pair storage: type=NSSDB,location='/etc/pki/nssdb',nickname='TestCert',token='NSS Certificate DB' certificate: type=NSSDB,location='/etc/pki/nssdb',nickname='TestCert',token='NSS Certificate DB' signing request thumbprint (MD5): 503A8EDD DE2BE17E 5BAA3A57 D68C9C1B signing request thumbprint (SHA1): B411ECE4 D45B883A 75A6F14D 7E3037F1 D53625F4 CA: AD-Name issuer: CN=windows-CA,DC=ad,DC=example,DC=com subject: CN=Test Certificate expires: 2018-05-06 10:28:06 UTC key usage: digitalSignature,keyEncipherment eku: iso.org.dod.internet.security.mechanisms.8.2.2 certificate template/profile: IPSECIntermediateOffline pre-save command: post-save command: track: yes auto-renew: yes
ステータス MONITORING は、発行した証明書の取得に成功したことを表します。getcert-list (1) の man ページには、他の可能な状態とその意味が一覧表示されます。