メインコンテンツまでスキップ
IssuedcertificateDeploy jobvalidate · rollbackF5 BIG-IPiControl RESTFortinet FortiGatedeploy + rollbackAzure App Servicebind certificateEntra IDApp Proxy / RegistrationIIS · AD/LDAPS · CAPIagent-orchestrated (PowerShell)Nginx · Java KeystoreSSH — no agent neededApache HTTPDconfigure-only (planned)ServiceNow CMDBinventory / expiry sync
Push an issued certificate straight to where it terminates TLS — each deployment is validated and can be rolled back.
適用対象:
DuoKey Cockpit v2F5 · Fortinet · Azure · Entra · Windows エージェント · SSH ターゲット検証付きロールバック対応のデプロイジョブ

概要​

証明書をエクスポートして手動でインストールする代わりに、DuoKey は TLS を終端するデバイスやサービスへ直接デプロイできます。すべてのデプロイは結果を検証し、必要に応じてロールバックできるジョブとして実行されます。

デプロイ先コネクタの注記
F5 BIG-IPiControl REST — cert+key または cert のみをデプロイ、検出、テスト、ロールバック
Fortinet FortiGateデプロイとロールバック
Azure App Serviceアプリサービスへの証明書バインド
Entra IDApp Proxy と App Registration
Microsoft IIS · Active Directory / LDAPS · Windows CAPIエージェント方式(PowerShell)— デプロイ先にバインドされたスキャナーエージェントが、ローカルまたは WinRM 経由でインポート/バインドを実行
Nginx · Java KeystoreSSH — Cockpit が直接接続し、証明書/鍵を配置(または keystore にインポート)してリロード/再起動コマンドを実行
Apache HTTPD現時点では設定のみ — デプロイ先の作成は可能ですが、実際のデプロイはまだ未接続です
ServiceNow CMDB在庫/有効期限の同期(TLS 終端先ではありません)

デプロイジョブのライフサイクル​

状態意味
pendingジョブが作成され、まだ開始されていない
running証明書をデプロイ先にプッシュしている
validatingデプロイ先が新しい証明書を提供していることを確認している
succeeded / failed最終結果
rolled_back完了後に元に戻された
ロールバックは第一級のステップです

ロールバックは、ジョブ完了後に許可される唯一の遷移であり、これにより不具合のあるプッシュを以前の証明書に戻すことができます。F5 と Fortinet には専用のロールバックエンドポイントがあり、汎用デプロイ先はデプロイジョブ API を通じてロールバックされます。

コネクタの操作​

すべてのコネクタは、検出 / インベントリ / 追加 / 削除 / 再エンロールという統一された一連の操作を共有しており、異種のデプロイ先にまたがる証明書管理を一貫したものにします。再利用可能な接続プロファイルは、デプロイ先の認証情報を一度だけ保存し、テストや再バインドが可能です。

F5 BIG-IP​

1

F5 デプロイ先を登録する

F5 デプロイ先(管理アドレスと認証情報)を追加し、テストを実行して接続性を確認します。

2

デプロイする

証明書と鍵をデプロイするか、鍵がすでに存在する場合は証明書のみをデプロイします。ジョブは SSL プロファイルのバインディングを検証します。

3

必要に応じてロールバックする

検証に失敗した場合や変更が正しく動作しない場合は、ジョブを以前の証明書にロールバックします。

Microsoft IIS、Active Directory / LDAPS、Windows CAPI(エージェント)​

これら 3 つのデプロイ先は同じ実行モデルを共有しています — Keyfactor 方式の Universal Orchestrator パターンです。オンプレミスのスキャナーエージェントが Cockpit に登録され、デプロイ先にバインドされます。Cockpit が直接接続する代わりに、エージェントが自身のハートビート周期でデプロイジョブを取得し、ローカルで(またはリモートホストに対して WinRM 経由で)実行します。

1

エージェントをエンロールして起動する

Windows ホスト(または WinRM でそこへ接続するマシン)上で、Cockpit UI の Scanner Agents → Generate installer で生成した使い捨てのインストールトークンを使い、一度だけエンロールします:

エンロールBASH
dke-scanner-agent enroll --server https://<cockpit-host> --token <enrollment-token>

これにより、発行されたエージェントの ID と API キーが ~/.dke/agent.toml(モード 0600)に書き込まれます。次に、Cockpit に接続してハートビートを送信し、デプロイジョブをポーリングする永続エージェントプロセスを起動します:

実行BASH
dke-scanner-agent agent

デプロイジョブを有効にするための特別なフラグは不要です — エンロールされたすべてのエージェントは自動的に cert_deploy 機能を報告するため、エンロールして起動した時点でウィザードのエージェント選択に表示されます。ジョブが取得されるためには、プロセスが(ログオフで終了する対話セッションではなく)Windows サービスとして稼働し続ける必要があります。--heartbeat-interval や --config を含む完全な CLI リファレンスはエージェントモードを参照してください。

2

デプロイ先をエージェントにバインドする

デプロイウィザードで、そのデプロイ先に対してエンロール済みのエージェントを選択します。エージェントが直接稼働していないリモートホストの場合は、代わりに WinRM トランスポートを選択し、リモートホストのユーザー名、パスワード、ポート、TLS 設定を指定します。

3

デプロイ先を登録する

Microsoft IIS:サイト名、バインドのホストヘッダーとポート、マシンストア(LocalMachine\My または WebHosting)、SNI。Active Directory / LDAPS:DC の専用ストア NTDS\My、ドメインコントローラーの FQDN、再起動なしのインプレース LDAPS リロード。Windows CAPI:SSL バインドの IP/ポート、および netsh http add sslcert に必要なアプリケーション GUID。

4

デプロイする

Cockpit は管理対象の証明書を解決し、PFX を構築して暗号化されたジョブをキューに登録します。エージェントはそれを取得して証明書を Windows 証明書ストアにインポートし、バインドします(IIS サイトバインディング、LDAPS リロード、または netsh http add sslcert バインディング)。その後、結果を報告し、デプロイジョブが更新されます。

エージェントは管理者権限で実行してください

マシン証明書ストアへのインポートおよび IIS や CAPI のバインドには、昇格した PowerShell コンテキストが必要です(エージェントは powershell.exe を実行し、Import-Module WebAdministration、Import-PfxCertificate -CertStoreLocation Cert:\LocalMachine\My、netsh http add sslcert を呼び出します)。dke-scanner-agent agent は LocalSystem または管理者権限のサービスアカウントで動作する Windows サービスとしてインストールしてください — 管理者権限のない対話型コンソールセッションでは、エージェント自体は正常に起動しハートビートを送信できても、これらの手順はアクセス拒否エラーで失敗します。

Nginx と Java Keystore(SSH)​

Cockpit はこれら 2 つのデプロイ先に SSH 経由で直接接続します — エージェントは不要です。

1

デプロイ先を登録する

SSH ホスト、ポート、ユーザー名に加えて、パスワードまたは秘密鍵(PEM、任意でパスフレーズ保護)のいずれかを指定します — 任意で SHA-256 のホストキーフィンガープリントを固定できます。Nginx では、証明書と鍵のファイルパス、リロードコマンドも指定します。Java Keystore では、keystore のパス、エイリアス、keystore の種類(PKCS12 または従来の JKS)、keystore パスワード、任意の再起動コマンドを指定します。

2

接続をテストする

SSH の認証情報が機能することを確認し、すでにデプロイされているものを報告します — Nginx の場合は証明書ファイルの openssl x509 による読み取り、Java Keystore の場合は keystore ファイルの存在確認です。

3

デプロイする

Nginx:Cockpit は SSH 経由で証明書と秘密鍵を設定済みのパスに書き込み、その後リロードコマンドを実行します。Java Keystore:Cockpit は管理対象の証明書からローカルで PKCS#12 を構築し、SSH でホストへ転送して、設定済みのエイリアスで keytool -importkeystore によりインポートし、その後任意の再起動コマンドを実行します。

ホストキーを固定する

ホストキーフィンガープリントを空のままにすると、初回接続時にホストが提示する鍵がそのまま信頼されます。本番環境では、デプロイ先で SHA-256 フィンガープリントを固定してください。

API リファレンス​

デプロイ先の管理、デプロイジョブの実行とロールバック、再利用可能な接続プロファイルの保存、ServiceNow CMDB への在庫同期は、すべてプラットフォーム API を通じてプログラムからも利用できます。

API リファレンス
詳細な API エンドポイントは、開発者ドキュメント → PKI API に別途記載されています。
DuoKey PKImanaged + discovered certssyncServiceNowconnectorconfigure · probe-aclupsertCMDBcertificate CIsexpiryIncidentsexpiry tickets
Certificates are synced to the ServiceNow CMDB as configuration items, and upcoming expiries raise incidents automatically.