メインコンテンツまでスキップ
適用対象:
DuoKey Cockpit v2PKI / SSL / TLS証明書ライフサイクル管理

PKI API には 2 つのエンドポイントファミリー があります。マネジメント API(/api/pki/…)は Cockpit ユーザーセッションで認証され、テナントにスコープされ、Operations.Pki.* 権限によって制御されます。これは CA、証明書、発行者、デプロイ対象、スキャナーの作成・運用を行います。公開プロトコルエンドポイント(ACME、EST、SCEP、CMP、OCSP、CRL ダウンロード)は、それぞれ独自の標準パスで提供され、ACME/EST/SCEP/CMP クライアント、OCSP レスポンダー、依拠当事者から直接呼び出されます — これらは Cockpit トークンではなく、それぞれのプロトコル固有の認証方式を使用します。

ファミリーベースパス認証目的
マネジメント API/api/pki/…Cockpit ユーザーセッション(JWT)、Operations.Pki.* 権限CA、証明書、発行者、デプロイ、検出の作成・運用
公開プロトコルエンドポイントルートパス、例えば /ocsp/…、/scep/…、/cmp/…、.well-known/est/…、および ACME ディレクトリ各プロトコル標準(ACME アカウントキー、EST/SCEP/CMP トランスポート、OCSP/CRL 用のプレーン HTTP)クライアントが直接話す登録・証明書ステータスプロトコル
「(公開)」の表記

目的欄が (公開) と表記されている行は、Cockpit セッションなしで到達可能です — これらは標準プロトコルのサーフェスです。それ以外の行はすべてマネジメントルートであり、該当する Operations.Pki.* 権限が必要です。

認証局​

ルート CA、中間 CA、外部 CA。完全に監査されたライフサイクル — 一時停止、再開、失効(単純またはカスケード)、アーカイブ — に加え、チェーン、影響プレビュー、CRL を提供します。操作は Operations.Pki.CAs.* 権限にマッピングされます。

メソッド + パス目的
GET · POST /api/pki/casCA の一覧取得 · ルート CA の作成
GET · PUT /api/pki/cas/{id}CA の取得・更新
POST /api/pki/cas/{id}/intermediate中間 CA の作成
GET /api/pki/cas/{id}/chainCA 証明書チェーンの取得
GET /api/pki/cas/{id}/lifecycle/impactライフサイクル操作の影響範囲をプレビュー
POST /api/pki/cas/{id}/lifecycle/suspend · /reactivate一時停止・再開
POST /api/pki/cas/{id}/revoke失効(単純)
POST /api/pki/cas/{id}/lifecycle/revokeカスケード失効(CA + 下位 CA + 発行済み証明書)
POST /api/pki/cas/{id}/lifecycle/archive · /unarchiveアーカイブ・アーカイブ解除
GET · POST /api/pki/cas/{id}/crlCA CRL の取得・生成
カスケード操作の前に必ずプレビューを実行

まず lifecycle/impact ルートを呼び出してください — これは、カスケード失効が実際にどの下位 CA と証明書に影響するかを示す読み取り専用レポートを返します。

証明書とリクエスト​

証明書は CA の下で直接発行されるか、リクエストワークフロー(提出後に承認/却下)を通じて発行されます。いずれも PKI の証明書発行権限によって制御されます。

メソッド + パス目的
POST /api/pki/cas/{id}/certificatesCA の下で証明書を発行
/api/pki/requests証明書リクエストワークフロー — 提出後に承認/却下
内部の仕組み

CA の下での発行は POST /api/pki/cas/{id}/certificates にマッピングされ、リクエストワークフローは承認/却下アクションを伴う /api/pki/requests を使用します。詳細は 証明書の作成 を参照してください。

発行者​

発行者(Issuer) は、プラットフォームが証明書を取得するために操作する構成済みのアップストリーム(例: ACME アカウントや外部 CA)です。発行者はテスト、有効化/無効化ができ、証明書のライフサイクルを実行するために使用されます。

メソッド + パス目的
GET · POST /api/pki/issuers発行者の一覧取得 · 作成
GET · PUT · DELETE /api/pki/issuers/{id}発行者の管理
POST /api/pki/issuers/{id}/test接続テスト
PUT /api/pki/issuers/{id}/statusステータスの更新
POST /api/pki/issuers/{id}/registerACME アカウントの登録
POST /api/pki/issuers/{id}/issue · /renew · /revoke発行者経由の証明書ライフサイクル

登録プロトコル​

各プロトコルには、マネジメント API 上の 管理サーフェス(構成、プロファイル、エイリアス、ステータス)と、クライアントが直接話す標準パス上の 公開プロトコルサーフェス があります。公開の行には (公開) と表記されています。

ACME(RFC 8555)​

CA ごとの完全な ACME サーバー: ディレクトリ、new-nonce、new-account、new-order、authorization、challenge、finalize、証明書ダウンロード、revoke-cert。任意の ACME クライアント(または cert-manager の ACME イシュア)を CA の ACME ディレクトリ URL に向けて設定してください。

メソッド + パス目的
GET /api/pki/acme/{ca_id}/configACME 管理構成
…/acme/{ca_id}/directoryACME ディレクトリ(公開)
…/new-nonce · /new-acct · /new-orderアカウントおよびオーダーフロー(公開)
…/authz/{id} · /challenge/{id} · /order/{id}/finalize認可、チャレンジ、finalize(公開)
…/cert/{id} · /revoke-certダウンロードおよび失効(公開)

EST(RFC 7030)​

Enrollment over Secure Transport: cacerts、simpleenroll、simplereenroll、serverkeygen、csrattrs。標準の .well-known/est/ パスで提供されます。

メソッド + パス目的
GET /api/pki/est/{ca_id}/cacertsCA 証明書
.well-known/est/{slug}/*simpleenroll / simplereenroll / serverkeygen / csrattrs(公開)
GET · PUT /api/pki/est/{ca_id}/config · /enrollmentsEST 管理

SCEP(RFC 8894)​

構成可能な プロファイル を備えた Simple Certificate Enrollment Protocol。公開の pkiclient.exe エンドポイントは、従来型 SCEP クライアント向けに GET/POST を提供します。

メソッド + パス目的
GET · POST /api/pki/scep/profiles · /profiles/{id}SCEP プロファイルの管理
…/{profile_id}/status登録ステータス
GET · POST /scep/{slug}/pkiclient.exeSCEP プロトコル(公開)

CMP(RFC 4210 / 9483)​

名前付き エイリアス、トランザクション追跡、エイリアスごとのメトリクスを備えた Certificate Management Protocol。クライアントは CMP メッセージエンドポイントに POST します。

メソッド + パス目的
GET · POST /api/pki/cmp/aliases · /aliases/{id}CMP エイリアスの管理
…/aliases/{id}/transactions · /transactions/{id}トランザクション履歴
POST /cmp/{alias}CMP プロトコル(公開)

Kubernetes cert-manager​

DuoKey を cert-manager の 外部イシュア として登録します: cert-manager が sign エンドポイントに CSR を送信し、DuoKey が署名済み証明書を返すことで、Kubernetes が管理するキーを CA に対して登録済みの状態に保ちます。

メソッド + パス目的
POST · GET /api/pki/certmanager/issuers外部イシュアの登録/一覧取得
…/issuers/{id}/statusイシュアのステータス
/api/pki/certmanager/signcert-manager の CSR に署名
/api/pki/certmanager/healthzヘルスチェック

KMIP 2.1 サーバー​

DuoKey は KMIP サーバー として動作し、キー/証明書オブジェクトと操作を KMIP クライアントに公開できます。

メソッド + パス目的
GET · POST /api/pki/kmip-server/{endpoint_id}/objectsKMIP オブジェクト
…/operations · /stats · /test操作、統計、疎通テスト

統一エンドポイントライフサイクル​

すべてのプロトコルエンドポイント(EST / SCEP / ACME / CMP / KMIP)は、共通の エンドポイントライフサイクル — デプロイ、開始、一時停止、停止 — をヘルスおよびメトリクスとともに共有しており、一貫した方法で運用できます。

メソッド + パス目的
GET · POST /api/endpoints · /endpoints/{id}プロトコルエンドポイントの管理
…/{id}/start · /pause · /stopライフサイクル制御
…/{id}/health · /metricsヘルスとメトリクス

失効(CRL と OCSP)​

証明書と CA は、標準の RFC 5280 の理由コードで失効されます。失効は、CA の CRL と OCSP レスポンダーという両方の公開チャネルに即座に反映されます。

CRL — 証明書失効リスト​

各 CA は DER 形式の署名済み CRL を生成し、発行された証明書に含まれる CRL 配布 URL で公開します。CRL はオンデマンドまたは強制的に生成でき、CRL 情報で確認できます。DER のダウンロードは公開です。

メソッド + パス目的
GET /api/pki/crlsCRL の一覧取得
GET /api/pki/crl/{ca_id}/infoCRL メタデータ(番号、this/next update)
POST /api/pki/crl/{ca_id}/generateCRL の強制生成
GET /api/pki/crl/{ca_id}DER 形式の CRL をダウンロード(公開)
GET · POST /api/pki/cas/{id}/crlCA CRL の取得・生成

OCSP — オンライン証明書ステータスプロトコル​

完全なリストをダウンロードせずにリアルタイムでステータスを確認するために、各 CA は OCSP レスポンダー を実行できます。レスポンダーには独自のライフサイクル(デプロイ、開始、一時停止、停止)とヘルス・メトリクスがあり、専用の OCSP 署名者証明書を使用します。レスポンダーのプロトコルとそのヘルスチェックは公開されています。

メソッド + パス目的
POST · GET /ocsp/{slug}OCSP レスポンダープロトコル(公開)
GET /ocsp/{slug}/healthレスポンダーのヘルス(公開)
GET · POST /api/ocsp/responders · /responders/{id}レスポンダーの管理
…/responders/{id}/start · /pause · /stopレスポンダーのライフサイクル
…/responders/{id}/health · /metricsヘルスとメトリクス

デプロイ​

発行済み証明書を実際の対象環境に反映します — F5 および Fortinet アプライアンス、エージェント方式の Windows 対象(Microsoft IIS、Active Directory / LDAPS、Windows CAPI)、SSH 接続対象(Nginx、Java Keystore)、その他の汎用 Web/アプリ対象(Azure App Service、Entra ID、Apache HTTPD) — デプロイジョブ、ロールバック、再利用可能な接続プロファイル、ServiceNow CMDB 同期を伴います。

メソッド + パス目的
GET · POST · PATCH · DELETE /api/pki/deploy/f5/targetsF5 対象の管理
POST /api/pki/deploy/f5/deploy · /f5/deploy-cert-onlyF5 へのデプロイ
GET · POST · PATCH · DELETE /api/pki/deploy/fortinet/targetsFortinet 対象の管理
POST /api/pki/deploy/fortinet/deploy · /fortinet/jobs/{id}/rollbackFortinet へのデプロイ・ロールバック
GET · POST · PATCH · DELETE /api/pki/deploy/windows/targets · /targets/{id}エージェント方式の対象を管理(windows_iis、active_directory_ldaps、capi)
POST /api/pki/deploy/windows/deployバインド済みエージェントが取得・実行するデプロイジョブをキューに登録
POST /api/pki/deploy/windows/jobs/{id}/rollbackロールバックジョブをキューに登録
GET /api/pki/orchestrator/jobs · POST /jobs/{id}/reportエージェントによるジョブ取得と結果報告 — エージェントキー認証、Cockpit セッションのルートではない
GET · POST · PUT · DELETE /api/pki/deploy/targets汎用対象(Azure App Service、Entra ID、Apache HTTPD、Nginx、Java Keystore)
POST /api/pki/deploy/targets/{id}/deploy-entra · /deploy-app-service · /deploy-sshEntra ID・Azure App Service・SSH 対象(Nginx / Java Keystore)へのデプロイ
POST /api/pki/deploy/targets/{id}/testデプロイ前に対象の接続性/認証情報を確認
GET /api/pki/deploy/jobs · /jobs/{id}デプロイジョブの一覧取得/取得
POST /api/pki/deploy/jobs/{id}/rollbackデプロイジョブのロールバック
GET · POST · PUT · DELETE /api/pki/connections · /connections/{id}再利用可能な認証情報接続プロファイル
/api/pki/connectors/servicenow/*ServiceNow CMDB インベントリ/期限同期

検出とコンプライアンス​

スキャナーと導入済みの エージェント を使ってネットワーク全体の証明書を検出し、発見された証明書をインベントリにインポートし、証明書ごとの SSL/TLS 監査と、フレームワークまたは自社のテナントポリシーに対するコンプライアンス評価を実行します。

メソッド + パス目的
GET · POST /api/pki/scanners · /scanners/{id}スキャナーの管理(スキャン/有効化/無効化/ジョブ)
GET /api/pki/scanners/certificates · /certificates/{id}発見された証明書の閲覧
POST /api/pki/scanners/certificates/{id}/import発見された証明書のインポート
GET · POST /api/pki/scanners/agents · /agents/registerスキャナーエージェントフリート
…/agents/{id}/rotate-key · /revokeエージェントキーのローテーション/失効
GET · POST /api/pki/scanner/targets · /results · /summaryスキャン対象、結果、サマリー
GET · POST /api/pki/scanner/certs/{id}/ssl-audit証明書 SSL 監査の実行/表示
…/ssl-audit/history · /run · /compliance監査履歴、トリガー、コンプライアンス結果
GET · POST /api/pki/scanner/ssl-compliance/frameworksコンプライアンスフレームワーク
/api/pki/scanner/compliance/*テナントのコンプライアンスポリシーと評価