11.4. CA システム証明書プロファイルの設定
CA 以外のサブシステムとは異なり、CA 自体のシステム証明書の登録プロファイルは /var/lib/pki/[instance name]/ca/conf
ファイルに保持されます。これらのプロファイルは以下のとおりです。
-
caAuditSigningCert.profile
-
eccAdminCert.profile
-
rsaAdminCert.profile
-
caCert.profile
-
eccServerCert.profile
-
saServerCert.profile
-
caOCSPCert.profile
-
eccSubsystemCert.profile
-
rsaSubsystemCert.profile
11.4.1. 証明書プロファイルのデフォルト値を変更する
上記のプロファイルのデフォルト値を変更するには、ツーステップインストールの 2 番目のステップを実行する前にプロファイルを変更します (ステップ間のカスタマイズ を参照)。以下は、次のことを示す例です。
- 効力を CA 署名証明書に変更する方法。
エクステンションの追加方法 (証明書ポリシー拡張機能など)。
pkispawn
が使用する元の CA 証明書プロファイルをバックアップします。cp -p /usr/share/pki/ca/conf/caCert.profile /usr/share/pki/ca/conf/caCert.profile.orig
# cp -p /usr/share/pki/ca/conf/caCert.profile /usr/share/pki/ca/conf/caCert.profile.orig
Copy to Clipboard Copied! 設定ウィザードが使用する CA 証明書プロファイルを開きます。
vim /usr/share/pki/ca/conf/caCert.profile
# vim /usr/share/pki/ca/conf/caCert.profile
Copy to Clipboard Copied! 有効期間のデフォルト
の有効期間を任意の値にリセットします。たとえば、期間を 2 年に変更するには、次のコマンドを実行します。2.default.class=com.netscape.cms.profile.def.ValidityDefault 2.default.name=Validity Default 2.default.params.range=720
2.default.class=com.netscape.cms.profile.def.ValidityDefault 2.default.name=Validity Default 2.default.params.range=720
Copy to Clipboard Copied! プロファイルに新しいデフォルトエントリーを作成し、これをリストに追加して、エクステンションを追加します。たとえば、
証明書ポリシー拡張
を追加するには、デフォルト (この例ではデフォルト #9) を追加します。9.default.class_id=certificatePoliciesExtDefaultImpl 9.default.name=Certificate Policies Extension Default 9.default.params.Critical=false 9.default.params.PoliciesExt.certPolicy0.enable=false 9.default.params.PoliciesExt.certPolicy0.policyId= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.enable=true 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.value=CertificatePolicies.example.com 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.enable=false 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.explicitText.value= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.noticeNumbers= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.organization=
9.default.class_id=certificatePoliciesExtDefaultImpl 9.default.name=Certificate Policies Extension Default 9.default.params.Critical=false 9.default.params.PoliciesExt.certPolicy0.enable=false 9.default.params.PoliciesExt.certPolicy0.policyId= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.enable=true 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.value=CertificatePolicies.example.com 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.enable=false 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.explicitText.value= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.noticeNumbers= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.organization=
Copy to Clipboard Copied! 次に、新しいデフォルトを使用するデフォルトのリストにデフォルトの番号を追加します。
list=2,4,5,6,7,8,9
list=2,4,5,6,7,8,9
Copy to Clipboard Copied!
11.4.2. 有効期間を過ぎた CA 証明書の更新の許可
通常、証明書は、発行先の CA 証明書の有効期限 後 に終了する有効期間で発行できません。CA 証明書の有効期限が 2023 年 12 月 31 日の場合、その CA が発行するすべての証明書は 2023 年 12 月 31 日までに有効期限が切れる必要があります。
このルールは、CA が発行する他の CA 署名証明書に適用されます。これにより、ルート CA 証明書はほとんど更新できなくなります。CA 署名証明書を更新するということは、それ自体の有効期限を過ぎた有効期間が必ず必要になることを意味します。
この動作は CA Validity Default を使用して変更できます。このデフォルト設定では、発行している CA の有効期限 (notAfter) の期間を拡張する有効期間で CA 証明書を発行できる設定 (bypassCAnotafter
) が許可されます。
図11.1 CA 有効性のデフォルト設定

実際のデプロイメントでは、これが意味するのは、ルート CA の CA 証明書は、他の方法では防止できる場合でも更新できるということです。
元の CA の有効期間を過ぎた場合の CA 証明書更新を有効にするには、以下を実行します。
CA を停止します。
systemctl stop pki-tomcatd@instance_name.service
# systemctl stop pki-tomcatd@instance_name.service
Copy to Clipboard Copied! Nuxwdog ウォッチドッグを使用している場合は以下を使用します。
systemctl stop pki-tomcatd-nuxwdog@instance_name.service
# systemctl stop pki-tomcatd-nuxwdog@instance_name.service
Copy to Clipboard Copied! caCACert.cfg
ファイルを開きます。var/lib/pki/instance_name/ca/profiles/ca/caCACert.cfg
# var/lib/pki/instance_name/ca/profiles/ca/caCACert.cfg
Copy to Clipboard Copied! CA Validity デフォルトはデフォルトで存在する必要があります。値を
true
に設定して、発行 CA の有効期間を過ぎても CA 証明書を更新できるようにします。policyset.caCertSet.2.default.name=CA Certificate Validity Default policyset.caCertSet.2.default.params.range=2922 policyset.caCertSet.2.default.params.startTime=0 policyset.caCertSet.2.default.params.bypassCAnotafter=true
policyset.caCertSet.2.default.name=CA Certificate Validity Default policyset.caCertSet.2.default.params.range=2922 policyset.caCertSet.2.default.params.startTime=0 policyset.caCertSet.2.default.params.bypassCAnotafter=true
Copy to Clipboard Copied! CA を再起動して変更を適用します。
systemctl start pki-tomcatd@instance_name.service
# systemctl start pki-tomcatd@instance_name.service
Copy to Clipboard Copied! Nuxwdog ウォッチドッグを使用している場合は以下を使用します。
systemctl start pki-tomcatd-nuxwdog@instance_name.service
# systemctl start pki-tomcatd-nuxwdog@instance_name.service
Copy to Clipboard Copied!
エージェントが更新要求を確認すると、通常の有効期間制約をバイパスすることを可能にする Extensions/Fields エリアにオプションがあります。エージェントが false
を選択すると、プロファイルに bypassCAnotafter=true
が設定された場合でも制約が適用されます。bypassCAnotafter
値が有効になっていない時にエージェントが true を選択すると、更新要求は CA によって拒否されます。
図11.2 エージェントサービスページの CA 制約オプションを回避する

CA Validity のデフォルトは、CA 署名の証明書の更新にのみ適用されます。その他の証明書は、引き続き CA の有効期間内で発行および更新する必要があります。
CA の ca.enablePastCATime
の個別の設定を使用すると、CA の有効期間を過去に証明書を更新することができます。ただし、これは、その CA が発行する すべて の証明書に適用されます。セキュリティーの問題が発生する可能性があるため、実稼働環境でこの設定は推奨されません。