2.2. Certificate System サブシステムの概要


2.2.1. 個別インスタンスと共有インスタンス

Red Hat Certificate System は、すべてのサブシステムに個別の PKI インスタンスのデプロイメントをサポートします。

  • 個別の PKI インスタンスは、単一の Java ベースの Apache Tomcat インスタンスとして実行されます。
  • 個別の PKI インスタンスには、単一の PKI サブシステム (CA、KRA、OCSP、TKS、または TPS) が含まれます。
  • 同じ物理マシンまたは仮想マシン (VM) 上に共存する場合、別の PKI インスタンスは一意のポートを使用する必要があります。

または、Certificate System は、共有 PKI インスタンスのデプロイメントをサポートします。

  • 共有 PKI インスタンスは、単一の Java ベースの Apache Tomcat インスタンスとしても実行されます。
  • 単一の PKI サブシステムを含む共有 PKI インスタンスは、別の PKI インスタンスと同じです。
  • 共有 PKI インスタンスには、各タイプの PKI サブシステムへの任意の組み合わせが含まれる可能性があります。

    • CA のみ
    • TKS のみ
    • CA および KRA
    • CA および OCSP
    • TKS および TPS
    • CA、KRA、TKS、および TPS
    • CA、KRA、OCSP、TKS、および TPS
    • その他
  • 共有 PKI インスタンスを使用すると、そのインスタンスに含まれるサブシステムがすべて同じポートを共有できます。
  • 共有 PKI インスタンスは、複数の同一物理マシンまたは仮想マシンに共存する場合、一意のポートを使用する必要があります。

2.2.2. インスタンスインストールの要件

2.2.2.1. Directory Server インスタンスの可用性

Certificate System インスタンスをインストールする前に、ローカルまたはリモートの Red Hat Directory Server LDAP インスタンスが利用できる必要があります。Red Hat Directory Server のインストール方法は、Red Hat Directory Server インストールガイド を参照してください。

2.2.2.2. PKI パッケージ

Red Hat Certificate System は、以下のパッケージで構成されています。

  • redhat-pki
  • redhat-pki-base
  • #redhat-pki-java
  • #redhat-pki-javadoc
  • python3-redhat-pki
  • redhat-pki-tools
  • redhat-pki-server
  • redhat-pki-theme
  • redhat-pki-ca
  • redhat-pki-kra
  • redhat-pki-ocsp
  • redhat-pki-tks
  • redhat-pki-tps
  • redhat-pki-acme
  • redhat-pki-est
  • redhat-pki-console
  • redhat-pki-console-theme

これらのパッケージをインストールするには、Red Hat Certificate System サブスクリプションプールを割り当て、RHCS リポジトリーを有効にする必要があります。詳細は、「Red Hat サブスクリプションの添付および Certificate System パッケージリポジトリーの有効化」 を参照してください。

Red Hat Enterprise Linux 8 システム (必要に応じて 4章サポート対象のプラットフォーム に記載されているサポート対象のハードウェアセキュリティーモジュールで設定されているもの) を使用します。Red Hat Certificate System をインストールする前に、すべてのパッケージが最新の状態であることを確認してください。

すべての Certificate System パッケージ (pki-javadoc を除く) をインストールするには、dnf を使用して redhat-pki メタパッケージをインストールします。

# dnf install redhat-pki

必要に応じて 1 つ以上の最上位の PKI サブシステムパッケージをインストールしてください。実際のパッケージ名は、上記のリストを参照してください。この方法を使用する場合は、必ず redhat-pki-server-theme パッケージもインストールし、PKI コンソールを使用する場合のオプションとして redhat-pki-console-themepki-console をインストールします。

開発者と管理者は、JSS および PKI javadoc (jss-javadoc および pki-javadoc) もインストールする必要があります。

注記

jss-javadoc パッケージを使用する場合は、Subscription Manager で Server-Optional リポジトリーを有効にする必要があります。

2.2.2.3. インスタンスのインストールと設定

pkispawn コマンドラインツールを使用して、新しい PKI インスタンスをインストールおよび設定します。個別インストールと設定手順がなく、バッチプロセスとして、または両方の組み合わせ (パスワードを要求するバッチプロセス) のいずれかを対話的に実行することができます。このユーティリティーは、ブラウザーベースのグラフィカルインターフェイスをインストールまたは設定する方法を提供していません。pkispawn の詳しい使用方法は、pkispawn ユーティリティーを使用した RHCS のインストール を参照してください。

2.2.2.4. インスタンスの削除

既存の PKI インスタンスを削除するには、pkidestroy コマンドを使用します。対話的に実行することも、バッチプロセスとして実行することもできます。pkidestroy -h を使用して、コマンドラインで詳細な使用方法を表示します。

pkidestroy コマンドは、サブシステムの作成時に保存された PKI サブシステムデプロイメント設定ファイル (/var/lib/pki/instance_name/<subsystem>/registry/<subsystem>/deployment.cfg) を読み取り、読み込んだファイルを使用して PKI サブシステムを削除し、追加のサブシステムがない場合は PKI インスタンスを削除します。詳細は、pkidestroy の man ページを参照してください。

pkidestroy を使用したインタラクティブな削除手順は、以下のようになります。

# pkidestroy
Subsystem (CA/KRA/OCSP/TKS/TPS) [CA]:
Instance [pki-tomcat]:

Begin uninstallation (Yes/No/Quit)? Yes

Log file: /var/log/pki/pki-ca-destroy.20150928183547.log
Loading deployment configuration from /var/lib/pki/pki-tomcat/ca/registry/ca/deployment.cfg.
Uninstalling CA from /var/lib/pki/pki-tomcat.
rm '/etc/systemd/system/multi-user.target.wants/pki-tomcatd.target'

Uninstallation complete.

非インタラクティブな削除手順は、以下の例のようになります。

# pkidestroy -s CA -i pki-tomcat
Log file: /var/log/pki/pki-ca-destroy.20150928183159.log
Loading deployment configuration from /var/lib/pki/pki-tomcat/ca/registry/ca/deployment.cfg.
Uninstalling CA from /var/lib/pki/pki-tomcat.
rm '/etc/systemd/system/multi-user.target.wants/pki-tomcatd.target'

Uninstallation complete.

ハードウェアトークンまたはハードウェアセキュリティーモジュール (HSM) が使用されている場合、クローンインスタンスを作成できるため、キーペアは削除されません。キーペアは、ソフトトークンが使用される場合にのみ削除されます。

インスタンスは容易に作成できるため、HSM にトークンが残っていることに気付かずに作成して HSM メモリーを使い切ってしまうことも考えられるため、これは重要です。

この場合、certutil コマンドの出力は次の例のようになります。環境変数 $nssdb を使用して、HSM に到達するためにすでに初期化されており、PKI の NSS DB とは異なるローカル NSS DB を指しています。

# certutil -L -d /etc/pki/2023-10-03-0139-10.4-rootca1/alias/ -h   thalesLunaDEV -f ${nssdb}/hsm.password.txt
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
thalesLunaDEV:Server-Cert cert-2023-10-03-0139-10.4-rootca1 CA u,u,u
thalesLunaDEV:caSigningCert cert-2023-10-03-0139-10.4-rootca1 CA CTu,Cu,Cu
thalesLunaDEV:ocspSigningCert cert-2023-10-03-0139-10.4-rootca1 CA u,u,u
thalesLunaDEV:subsystemCert cert-2023-10-03-0139-10.4-rootca1 u,u,u
thalesLunaDEV:auditSigningCert cert-2023-10-03-0139-10.4-rootca1 CA u,u,Pu

インスタンスを破棄します。以下はその例です。

# pkidestroy -v -i 2023-10-03-0139-10.4-rootca1 -s CA 2>&1 | tee ~/pkidestroy.2023-10-03-0139-10.4-rootca1.out.1.txt

インスタンスが削除されたことを確認します。以下はその例です。

pki-server instance-find

削除された PKI インスタンスの秘密鍵がハードウェアトークンに存在することを確認します。

# certutil -K -d ${nssdb} -h thalesLunaDEV -f ${nssdb}/hsm.password.txt
certutil: Checking token "thalesLunaDEV" in slot "LunaNet Slot"
< 0> rsa 6ba7e14b85cf5bf0433658bbdd207298bc7083b1 auditSigningCert cert-2023-10-03-0139-10.4-rootca1 CA
< 1> rsa e23a6a9f4d545617240a551703eeec4c9da74dd2 ocspSigningCert cert-2023-10-03-0139-10.4-rootca1 CA
< 2> rsa c47758d7246a9d89705e149a79d69cc70e78b12f caSigningCert cert-2023-10-03-0139-10.4-rootca1 CA
< 3> rsa b570420fc93a4a108109c5eed4ddefa1c7548495 Server-Cert cert-2023-10-03-0139-10.4-rootca1 CA
< 4> rsa 3ea53e3e227a0b0a070479b741221c474467ca35 subsystemCert cert-2023-10-03-0139-10.4-rootca1

これらの秘密鍵を本当に削除する必要がある場合は、certutil -F コマンド、またはメーカーのツール (Luna Client cmu listcmu delete などをいくつかのオプションを併せて使用) を使用します。

以下は、NSS db ディレクトリーがすでに初期化されている certutil の例です。

certutil -F -d ${nssdb} -f ${nssdb}/hsm.password.txt -h thalesLunaDEV -n "thalesLunaDEV:auditSigningCert cert-2023-10-03-0139-10.4-rootca1 CA"
certutil -F -d ${nssdb} -f ${nssdb}/hsm.password.txt -h thalesLunaDEV -n "thalesLunaDEV:Server-Cert cert-2023-10-03-0139-10.4-rootca1 CA"
certutil -F -d ${nssdb} -f ${nssdb}/hsm.password.txt -h thalesLunaDEV -n "thalesLunaDEV:subsystemCert cert-2023-10-03-0139-10.4-rootca1 CA"
certutil -F -d ${nssdb} -f ${nssdb}/hsm.password.txt -h thalesLunaDEV -n "thalesLunaDEV:ocspSigningCert cert-2023-10-03-0139-10.4-rootca1 CA"
certutil -F -d ${nssdb} -f ${nssdb}/hsm.password.txt -h thalesLunaDEV -n "thalesLunaDEV:caSigningCert cert-2023-10-03-0139-10.4-rootca1 CA"

オプション: 削除された CA 署名証明書に関連付けられているシステム信頼証明書、発行者、または信頼チェーンがある場合はそれを削除します。以下はその例です。

trust list | grep -B 3 -A 3 "CA Signing Certificate"
 pkcs11:id=%1D%D6%80%D7%C9%29%56%85%73%63%F4%A1%DE%EF%19%3A%E4%5B%BB%97;type=cert
 type: certificate
 label: CA Signing Certificate
 trust: anchor
 category: authority
trust anchor --remove "pkcs11:id=%1D%D6%80%D7%C9%29%56%85%73%63%F4%A1%DE%EF%19%3A%E4%5B%BB%97;type=cert"
trust list | grep -c "CA Signing Certificate"
 0

2.2.3. 実行管理 (systemctl)

2.2.3.1. 起動、停止、再起動、ステータス取得

Red Hat Certificate System サブシステムインスタンスは、Red Hat Enterprise Linux 8 で systemctl 実行管理システムツールを使用して停止および起動できます。

# systemctl start <unit-file>@instance_name.service
# systemctl status <unit-file>@instance_name.service
# systemctl stop <unit-file>@instance_name.service
# systemctl restart <unit-file>@instance_name.service

<unit-file> には、以下のいずれかの値を使用できます。

pki-tomcatd 			With watchdog disabled
pki-tomcatd-nuxwdog 		With watchdog enabled

watchdog サービスの詳細は、「パスワードとウォッチドッグ (nuxwdog)」 および Red Hat Certificate System 管理ガイドCertificate System Watchdog Service の使用 セクションを参照してください。

注記

RHCS 10 では、これらの systemctl アクションは pki-server エイリアスをサポートします。pki-server <command> subsystem_instance_namesystemctl <command> pki-tomcatd@<instance>.service のエイリアスです。

2.2.3.2. インスタンスの自動起動

Red Hat Enterprise Linux の systemctl ユーティリティーは、サーバー上の各プロセスの自動起動およびシャットダウン設定を管理します。これは、システムが再起動すると、一部のサービスを自動的に再起動できることを意味します。システムユニットファイルは、サービスの起動を制御し、サービスが正しい順序で起動されるようにします。systemd サービスと systemctl ユーティリティーは、Red Hat Enterprise Linux 8 の基本的なシステム設定 ガイドで説明されています。

Certificate System インスタンスは systemctl で管理できます。したがって、このユーティリティーは、インスタンスを自動的に再起動するかどうかを設定できます。Certificate System インスタンスが作成されると、システムの起動時に有効になります。これは systemctl を使用することで変更できます。

# systemctl disable pki-tomcatd@instance_name.service

インスタンスを再度有効にするには、以下を実行します。

# systemctl enable pki-tomcatd@instance_name.service
注記

systemctl enable コマンドおよび systemctl disable コマンドは、Certificate System をすぐに起動したり、停止したりしません。

2.2.4. プロセス管理 (pki-server)

2.2.4.1. pki-server コマンドラインツール

Red Hat Certificate System の主なプロセス管理ツールは、pki-server です。使用方法は、pki-server --help コマンドを使用して、pki-server の man ページを参照してください。

pki-server コマンドラインインターフェイス (CLI) は、ローカルサーバーインスタンス (サーバー設定やシステム証明書など) を管理します。以下のように CLI を起動します。

$ pki-server [CLI options] <command> [command parameters]

CLI はサーバーインスタンスの設定ファイルおよび NSS データベースを使用するため、CLI では事前に初期化は必要ありません。CLI はファイルに直接アクセスできるため、これは root ユーザーがのみ実行でき、クライアント証明書は必要ありません。また、CLI はサーバーのステータスに関係なく実行できます。実行中のサーバーは必要ありません。

CLI は、階層構造で多数のコマンドをサポートしています。トップレベルのコマンドをリスト表示するには、追加のコマンドまたはパラメーターを指定せずに CLI を実行します。

$ pki-server

コマンドにはサブコマンドがあります。それらをリスト表示するには、コマンド名を実行します。追加のオプションは指定しません。以下に例を示します。

$ pki-server ca
$ pki-server ca-audit

コマンドの使用情報を表示するには --help オプションを使用します。

$ pki-server --help
$ pki-server ca-audit-event-find --help

2.2.4.2. pki-server を使用したインストール済みサブシステムの有効化および無効化

インストール済みのサブシステムを有効または無効にするには、pki-server ユーティリティーを使用します。

# pki-server subsystem-disable -i instance_id subsystem_id
# pki-server subsystem-enable -i instance_id subsystem_id

subsystem_id を、有効なサブシステム識別子 (cakratksocsp または tps) に置き換えます。

注記

1 つのインスタンスにはサブシステムのタイプのみを設定できます。

たとえば、pki-tomcat という名前のインスタンスで OCSP サブシステムを無効にするには、次のコマンドを実行します。

# pki-server subsystem-disable -i pki-tomcat ocsp

インスタンスのインストールされたサブシステムをリスト表示するには、以下を実行します。

# pki-server subsystem-find -i instance_id

特定のサブシステムの状態を表示するには、次のコマンドを実行します。

# pki-server subsystem-find -i instance_id subsystem_id

2.2.4.3. サブシステムの Web サービス URL の検索

CA、KRA、OCSP、TKS、および TPS サブシステムには、エージェント用の Web サービスページと、通常のユーザーおよび管理者が含まれます。これらの Web サービスには、サブシステムのセキュアなエンドユーザーのポートを介してサブシステムホストへの URL を開くことでアクセスできます。CA の場合の例を以下に示します。

https://server.example.com:8443/ca/services
注記

インスタンスのインターフェイス、URL、およびポートの全リストを取得するには、サービスのステータスを確認します。以下に例を示します。

pki-server status <instance_name>

各サブシステムの主な Web サービスページには、利用可能なサービスページの一覧があります。これらは以下の表に要約されています。特定のサービスにアクセスするには、適切なポートにアクセスし、適切なディレクトリーを URL に追加します。たとえば、CA のエンドエンティティー (通常のユーザー) の Web サービスにアクセスするには、以下を実行します。

https://server.example.com:8443/ca/ee/ca

DNS が設定されていない場合は、IPv4 アドレスまたは IPv6 アドレスを使用して、サービスページに接続できます。以下に例を示します。

https://192.0.2.1:8443/ca/services
https://[2001:DB8::1111]:8443/ca/services
注記

すべてのユーザーがサブシステムのエンドユーザーページにアクセスできます。ただし、エージェントまたは管理 Web サービスページにアクセスするには、エージェントまたは管理者の証明書を Web ブラウザーにインストールする必要があります。それ以外の場合は、Web サービスへの認証に失敗します。

Expand
表2.1 デフォルトの Web サービスページ
ポートSSL/TLS に使用クライアント認証に使用されます。クライアント認証の値が No のサービスは、クライアント認証を要求するように再設定できます。Yes または No のいずれかの値を持たないサービスは、クライアント認証を使用するように設定することはできません。Web ServicesWeb サービスの場所

Certificate Manager

8080

いいえ

 

エンドエンティティー

ca/ee/ca

8443

はい

いいえ

エンドエンティティー

ca/ee/ca

8443

はい

はい

エージェント

ca/agent/ca

8443

はい

いいえ

サービス

ca/services

8443

はい

いいえ

コンソール

pkiconsole https://host:port/ca

キーリカバリー認証局

8080

いいえ

 

エンドエンティティー

kra/ee/kra

8443

はい

いいえ

エンドエンティティー

kra/ee/kra

8443

はい

はい

エージェント

kra/agent/kra

8443

はい

いいえ

サービス

kra/services

8443

はい

いいえ

コンソール

pkiconsole https://host:port/kra

オンライン証明書ステータスマネージャー

8080

いいえ

 

エンドエンティティー

ocsp/ee/ocsp

8443

はい

いいえ

エンドエンティティー

ocsp/ee/ocsp

8443

はい

はい

エージェント

ocsp/agent/ocsp

8443

はい

いいえ

サービス

ocsp/services

8443

はい

いいえ

コンソール

pkiconsole https://host:port/ocsp

トークンキーサービス

8080

いいえ

 

エンドエンティティー

tks/ee/tks

8443

はい

いいえ

エンドエンティティー

tks/ee/tks

8443

はい

はい

エージェント

tks/agent/tks

8443

はい

いいえ

サービス

tks/services

8443

はい

いいえ

コンソール

pkiconsole https://host:port/tks

トークン処理システム

8080

いいえ

 

安全でないサービス

tps/tps

8443

はい

 

安全なサービス

tps/tps

8080

いいえ

 

Enterprise Security Client Phone Home

tps/phoneHome

8443

はい

 

Enterprise Security Client Phone Home

tps/phoneHome

8443

はい

はい

管理、エージェント、および Operator サービス

tps/ui

2.2.4.4. Certificate System コンソールの起動

重要

このコンソールは非推奨になりました。

CA、KRA、OCSP、および TKS サブシステムには、管理機能を実行するための Java インターフェイスがあります。KRA、OCSP、および TKS では、ユーザーおよびグループのログ設定や管理など、非常に基本的なタスクが含まれます。CA の場合は、証明書プロファイルの作成や公開の設定など、その他の設定が含まれます。

pkiconsole ユーティリティーを使用して SSL/TLS ポート経由でサブシステムインスタンスに接続すると、コンソールが開きます。このユーティリティーは、以下の形式を使用します。

pkiconsole https://server.example.com:admin_port/subsystem_type

subsystem_typecakraocsp、または tks にすることができます。たとえば、これにより KRA コンソールが開きます。

pkiconsole https://server.example.com:8443/kra

DNS が設定されていない場合は、IPv4 アドレスまたは IPv6 アドレスを使用してコンソールに接続できます。以下に例を示します。

https://192.0.2.1:8443/ca
https://[2001:DB8::1111]:8443/ca
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る