メインコンテンツまでスキップ
適用対象:
DuoKey Cockpit v2Keyfactor / EJBCA エンタープライズ CA エンジン相互 TLS による管理者認証

概要​

Keyfactor は、Cockpit の PKI モジュールに発行者タイプとして登録されています。コネクタは、Keyfactor プラットフォームの基盤であるエンタープライズ CA エンジン EJBCA の REST API と通信し、特定の証明書プロファイル、エンドエンティティプロファイル、CA に対して証明書のエンロールメントと失効を行います。

Keyfactor コネクタのアーキテクチャ
DuoKey CockpitPKI 発行者コネクタ — Keyfactor
相互 TLS — 管理者クライアント証明書
Keyfactor / EJBCA REST APIエンタープライズ CA エンジン。通常は自社ネットワーク上で到達可能です
設定された CA証明書プロファイルとエンドエンティティプロファイルに従って署名します

すべての呼び出しは TLS 接続そのもの上で管理者クライアント証明書によって認証されます。個別の認証情報は送信されません。

プロパティ値
発行者タイプkeyfactor
バックエンドKeyfactor / EJBCA REST API
認証管理者クライアント証明書による相互 TLS
発行モデル同期 — エンロールメントで証明書が直接返されます
鍵の保管呼び出し元/CSR ベース — Keyfactor が秘密鍵を返すことはありません
エンタープライズネットワーク

Keyfactor のベース URL は、インターネット上ではなく自社ネットワーク上のホストを指すことが一般的です。Cockpit のアウトバウンド接続ポリシーは、この発行者についてはプライベートネットワーク範囲を明示的に許可しますが、ループバック、リンクローカル、クラウドメタデータのアドレスは引き続き拒否します。

設定​

設定フィールド​

フィールド目的
base_urlKeyfactor / EJBCA インスタンスのベース URL(スキーム、ホスト、および任意のポート)。
certificate_profileエンロールメントに適用される EJBCA の証明書プロファイル。
end_entity_profileエンロールメントに適用される EJBCA のエンドエンティティプロファイル。
ca_name証明書に署名する CA の名前(EJBCA で設定されているもの)。
username_patternEJBCA のエンドエンティティ ユーザー名に対する任意のパターン。{cn} は証明書のコモンネームに置換されます。既定値は {cn} です。
tls_skip_verify任意。非本番環境専用。トラストバンドルが指定されていない場合に、検証に失敗する Keyfactor サーバー証明書を受け入れます。

認証情報​

フィールド目的
client_cert_pem相互 TLS で提示する、PEM エンコードされた管理者クライアント証明書。
client_key_pemクライアント証明書に対応する、PEM エンコードされた秘密鍵。
tls_ca_pemKeyfactor サーバー証明書を検証するための、任意の PEM トラストバンドル。
enrollment_password任意のエンドエンティティ エンロールメントパスワード。エンドエンティティプロファイルの設定によっては、クライアント証明書による識別に加えて必要になります。

これら 4 つのフィールドはすべて保存時に暗号化され、プラットフォームから返されることはありません。

発行者の登録​

1

ベース URL とプロファイルを指定する

Keyfactor / EJBCA のベース URL、証明書プロファイル、エンドエンティティプロファイル、およびエンロールメント先の CA 名を入力します。

2

管理者クライアント証明書をアップロードする

相互 TLS に使用するクライアント証明書と秘密鍵のペアを指定します。必要に応じて、サーバー証明書用のトラストバンドルも指定します。

3

ユーザー名パターンを設定する(任意)

EJBCA のエンドエンティティプロファイルが、単純なコモンネーム以外の命名規則を必要とする場合は、エンドエンティティ ユーザー名のパターンを調整します。

4

接続をテストする

接続テストを実行し、相互 TLS の識別情報が受け入れられること、および EJBCA API に到達できることを確認します。

5

発行者を通じて発行する

発行者に対して証明書をリクエストします。Cockpit がエンロールメント用に CSR とコモンネームを送信します。

発行フロー​

エンロールメントは同期的です。CSR を送信すると、同じレスポンスで署名済み証明書が返され、ポーリングも保留状態もありません。

同期的な PKCS#10 エンロールメント
1. リクエストを構築するCSR、証明書プロファイル、エンドエンティティプロファイル、CA 名。エンドエンティティ ユーザー名はコモンネームから導出されます
相互 TLS — 管理者クライアント証明書
2. エンロールメントを送信するEJBCA がクライアント証明書を認証し、即座に署名します
3. 証明書が発行される証明書は同期的に返されます。チェーンは含まれるか、含まれない場合は CA から取得されます
後の失効のために保持されます
4. 失効用のリファレンスを記録する発行者の識別名 + シリアル番号

認証済みの 1 回のリクエストで、CSR を送り込み、署名済み証明書を受け取ります。

サポートされる操作​

操作サポート備考
test-connectionはい相互 TLS の識別情報が受け入れられることを確認し、EJBCA のバージョンを報告します。
issueはい設定されたプロファイルと CA に対する、同期的な PKCS#10 エンロールメント。
renewはいネイティブの更新フローはありません — 更新は同じリクエストで再エンロールします。
revokeはい証明書のシリアル番号と発行者の識別名によって、標準の失効理由とともに失効させます。