5.6. 一括発行の実行
状況によっては、管理者が大量の証明書を同時に送信および生成する必要があることもあります。Certificate System で提供されるツールの組み合わせを使用して、証明書要求を含むファイルを CA に送信できます。この手順例では、要求を生成する PKCS10Client
コマンドと、CA に要求を送信する sslget
コマンドを使用します。
CA (ホスト、ポート)、および認証に使用される項目 (エージェント証明書、証明書データベース、パスワード) を識別するには、複数の変数が必要です。たとえば、これらの変数をエクスポートするには、以下を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat << EOF > ${d}/pwd.txt password EOF
# cat << EOF > ${d}/pwd.txt password EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 自動証明書発行用の SSL クライアント証明書を持つエージェントの NSS データベースを作成します。
pki -d ${d}-c ${p} client-init
# pki -d ${d}-c ${p} client-init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以前の CA インストールから admin PKCS#12 ファイルをインポートします。
pk12util -i ~/ca_admin_cert.p12 -d ${d}
# pk12util -i ~/ca_admin_cert.p12 -d ${d}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 証明書をエクスポートします。
pki-server cert-export ca_signing -i subca1 --cert-file ${d}/myca.crt
# pki-server cert-export ca_signing -i subca1 --cert-file ${d}/myca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書をインポートします。
pki -d ${d} -n "${nick}" -C ${d}/pwd.txt client-cert-import myCA --ca-cert ${d}/myca.crt
# pki -d ${d} -n "${nick}" -C ${d}/pwd.txt client-cert-import myCA --ca-cert ${d}/myca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者証明書の信頼チェーンを確認します。
certutil -O -d ${d}/ -n "PKI Administrator for example.test"
# certutil -O -d ${d}/ -n "PKI Administrator for example.test" "myCA" [CN=CA Signing Certificate,OU=subca1,O=Sub CA1 Example Test] "PKI Administrator for example.test" [CN=PKI Administrator,E=caadmin@example.test,OU=subca1,O=Sub CA1 Example Test]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヘッダーとフッターが含まれる個別の CSR ファイルを作成します。
time for i in {1..10}; do /usr/bin/PKCS10Client -d ${d} -p ${p} -o ${f}.${i} -n "cn=testms${i}.example.test"; done
time for i in {1..10}; do /usr/bin/PKCS10Client -d ${d} -p ${p} -o ${f}.${i} -n "cn=testms${i}.example.test"; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の CSR ファイルを CA に順番に送信します。
tail -f /var/log/pki/subca1/ca/transactions & time for i in {1..10}; do pki -U https://${cahost}:${caport}/ca -d ${d} -n "${nick}" -C ${d}/pwd.txt ca-cert-request-submit --profile caAgentServerCert --csr-file ${f}.${i} ; done
tail -f /var/log/pki/subca1/ca/transactions & time for i in {1..10}; do pki -U https://${cahost}:${caport}/ca -d ${d} -n "${nick}" -C ${d}/pwd.txt ca-cert-request-submit --profile caAgentServerCert --csr-file ${f}.${i} ; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.1. Cisco ルーターでの証明書の登録 リンクのコピーリンクがクリップボードにコピーされました!
Cisco によって設計された Simple Certificate Enrollment Protocol (SCEP) は、ルーターが CA などの証明書発行機関と通信して、ルーターの証明書を登録するための方法です。
通常、ルーターインストーラーは CA の URL とチャレンジパスワード (ワンタイム PIN とも呼ばれます) をルーターに入力し、コマンドを発行して登録を開始します。次に、ルーターは SCEP を介して CA と通信し、証明書を生成、要求、および取得します。ルーターは、SCEP を使用して保留中の要求のステータスを確認することもできます。
5.6.2. SCEP 登録の有効化 リンクのコピーリンクがクリップボードにコピーされました!
セキュリティー上の理由から、SCEP 登録は CA でデフォルトで無効になっています。ルーターの登録を可能にするには、CA に対して SCEP 登録を手動で有効にする必要があります。
設定ファイルを編集できるように CA サーバーを停止します。
pki-server stop instance_name
# pki-server stop instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA の
CS.cfg
ファイルを開きます。vim /var/lib/pki/ instance_name/ca/conf/CS.cfg
# vim /var/lib/pki/ instance_name/ca/conf/CS.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ca.scep.enable
を true に設定します。パラメーターが存在しない場合は、パラメーターで行を追加します。ca.scep.enable=true
ca.scep.enable=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA サーバーを起動します。
pki-server start instance_name
pki-server start instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.3. SCEP のセキュリティー設定 リンクのコピーリンクがクリップボードにコピーされました!
管理者は、登録認証と通常の証明書登録に同じ証明書を使用しない、または接続強度の低下を防ぐために許可された暗号化アルゴリズムを設定するなど、いくつかの異なるパラメーターを使用して、SCEP 接続に特定のセキュリティー要件を設定できます。これらのパラメーターは次の表にリストされています。
パラメーター | 説明 |
---|---|
ca.scep.encryptionAlgorithm | デフォルトまたは優先暗号化アルゴリズムを設定します。 |
ca.scep.allowedEncryptionAlgorithms | 許可される暗号化アルゴリズムのコンマ区切りリストを設定します。 |
ca.scep.hashAlgorithm | デフォルトまたは優先ハッシュアルゴリズムを設定します。 |
ca.scep.allowedHashAlgorithms | 許可されるハッシュアルゴリズムのコンマ区切りリストを設定します。 |
ca.scep.nickname | SCEP 通信に使用する証明書のニックネームを指定します。このパラメーターが設定されていない限り、デフォルトで CA のキーペアおよび証明書が使用されます。 |
ca.scep.nonceSizeLimit | SCEP リクエストに許可される最大 nonce サイズ (バイト単位) を設定します。デフォルトは 16 バイトです。 |
SCEP 登録の接続にセキュリティー設定を設定するには、以下を実行します。
設定ファイルを編集できるように CA サーバーを停止します。
pki-server stop instance_name
# pki-server stop instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA の
CS.cfg
ファイルを開きます。vim /var/lib/pki/ instance_name/ca/conf/CS.cfg
# vim /var/lib/pki/ instance_name/ca/conf/CS.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の表に記載されているように、必要なセキュリティーパラメーターを設定します。このパラメーターが存在しない場合は、
CS.cfg
ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA サーバーを起動します。
pki-server start instance_name
pki-server start instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.4. SCEP 登録のルーターの設定 リンクのコピーリンクがクリップボードにコピーされました!
ルーター IOS の全バージョンには関連する暗号化機能があるわけではありません。ファームウェアイメージに認証局の相互運用性があることを確認します。Certificate System SCEP サポートは、IOS C2600 Software (C2600-JK9S-M), バージョン 12.2(40), RELEASE SOFTWARE (fc1) を実行している Cisco 2611 ルーターでテストされました。
ルーターに SCEP 証明書を登録する前に、ルーターが適切に設定されていることを確認します。
- ルーターは、IP アドレス、DNS サーバー、およびルーティング情報で設定する必要があります。
- ルーターの日付/時刻が正しく設定されている必要があります。
- ルーターのホスト名と dnsname を設定する必要があります。
ルーターのハードウェアの設定方法は、ルーターのドキュメントを参照してください。
5.6.5. ルーターの SCEP 証明書の生成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、ルーターの SCEP 証明書を生成する方法を説明します。
- ランダムな PIN を選択します。
ルーターが CA に対して直接認証できるように、PIN とルーターの ID を
flatfile.txt
ファイルに追加します。以下に例を示します。vim /var/lib/pki/ instance_name/ca/conf/flatfile.txt
# vim /var/lib/pki/ instance_name/ca/conf/flatfile.txt UID:172.16.24.238 PWD:Uojs93wkfd0IS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必ず
PWD
行の後に空の行を挿入してください。ルーターの IP アドレスは、IPv4 アドレスまたは IPv6 アドレスになります。
フラットファイル認証の使用は、「フラットファイル認証の設定」 に記載されています。
ルーターのコンソールにログインします。以下の例では、ルーターの名前は
scep
です。scep>
scep>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特権コマンドを有効にします。
scep> enable
scep> enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定モードを入力します。
scep# conf t
scep# conf t
Copy to Clipboard Copied! Toggle word wrap Toggle overflow root で始まり、証明書チェーン内のすべての CA に CA 証明書をインポートします。たとえば、次のコマンドシーケンスは、チェーン内の 2 つの CA 証明書をルーターにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA アイデンティティーを設定し、SCEP 登録プロファイルにアクセスするための URL を入力します。CA の場合の例を以下に示します。
scep(config)# crypto ca identity CA scep(ca-identity)# enrollment url http://server.example.com:8080/ca/cgi-bin scep(ca-identity)# crl optional
scep(config)# crypto ca identity CA scep(ca-identity)# enrollment url http://server.example.com:8080/ca/cgi-bin scep(ca-identity)# crl optional
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA の証明書を取得します。
scep(config)# crypto ca authenticate CA Certificate has the following attributes: Fingerprint: 145E3825 31998BA7 F001EA9A B4001F57 % Do you accept this certificate? [yes/no]: yes
scep(config)# crypto ca authenticate CA Certificate has the following attributes: Fingerprint: 145E3825 31998BA7 F001EA9A B4001F57 % Do you accept this certificate? [yes/no]: yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RSA 鍵ペアを生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最後に、ルーターに証明書を生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定モードを閉じます。
scep(config)# exit
scep(config)# exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルーターが適切に登録されたことを確認するには、ルーターに保存されている証明書のリストを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.6. Subordinate CA の使用 リンクのコピーリンクがクリップボードにコピーされました!
ルーターが CA に対して認証できるようにするには、ルートから CA 証明書チェーンのすべての CA 証明書をルーターにインポートする必要があります。たとえば、次のコマンドシーケンスは、チェーン内の 2 つの CA 証明書をルーターにインポートします。
CA 証明書に CRL ディストリビューションポイントの拡張が設定されていない場合は、optional
に設定して CRL 要件をオフにします。
scep(ca-root)# crl optional
scep(ca-root)# crl optional
その後、「ルーターの SCEP 証明書の生成」 の説明に従って CA アイデンティティーを設定します。
5.6.7. ルーターの再登録 リンクのコピーリンクがクリップボードにコピーされました!
ルーターを新しい証明書で再登録できるようにするには、既存の設定を削除する必要があります。
既存のキーを削除 (ゼロ化)。
scep(config)# crypto key zeroize rsa % Keys to be removed are named scep.server.example.com. Do you really want to remove these keys? [yes/no]: yes
scep(config)# crypto key zeroize rsa % Keys to be removed are named scep.server.example.com. Do you really want to remove these keys? [yes/no]: yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA アイデンティティーを削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.8. デバッグの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ルーターは、debug ステートメントを有効にして、SCEP 操作中に追加のデバッグを提供します。
5.6.9. SCEP による ECC 証明書の発行 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、ECC CA はすぐに使用できる SCEP をサポートしていません。ただし、指定した RSA 証明書を使用して、以下の 2 つの領域を処理することで回避できます。
- 暗号化/複号証明書 - 暗号化機能/複号機能を持つ RSA 証明書 (以下の例では scepRSAcert) を指定します。
- 署名証明書 - 自己署名ではなく、クライアント側で使用する RSA 証明書を取得します (以下の例では signingCert 証明書)。
たとえば、scepRSAcert
証明書が暗号化/複号証明書で、署名証明書である signingCert
を使用する場合は、次のコマンドを実行します。
sscep enroll -c ca.crt -e scepRSAcert.crt -k local.key -r local.csr -K sign.key -O sign.crt -E 3des -S sha256 -l cert.crt -u 'http://example.example.com:8080/ca/cgi-bin/pkiclient.exe'
sscep enroll -c ca.crt -e scepRSAcert.crt -k local.key -r local.csr -K sign.key -O sign.crt -E 3des -S sha256 -l cert.crt -u 'http://example.example.com:8080/ca/cgi-bin/pkiclient.exe'