12.3. SCEP での CA 署名の証明書のリクエスト

Simple Certificate Enrollment Protocol (SCEP) は、CA での証明書管理のプロセスを自動化、簡素化します。SCEP により、クライアントの 要求を行い、HTTP 経由で証明書を CA の SCEP サービスから直接取得します。このプロセスは、通常、限定された期間のみ有効なワンタイム PIN でセキュリティーが確保されます。
以下の例では、SCEP CA 設定の certmonger への追加、新規証明書の要求、ローカルの NSS データベースへの追加を行います。
  1. 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: PEM 形式を使用した SCEP サーバーの CA 証明書コピーがある場所。これは、HTTPS 暗号化に使用します。
  2. 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 サーバーに表示されるものと、このサムプリントを比較してください。
  3. 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 が発行する期間限定のワンタイム PIN
  4. リクエスト送信直後に、証明書が発行され、ローカルのデータベースに正しく保存されていることを確認することができます。
    [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 ページでは、その他の利用可能な状態と、その意味が記載されています。