sgcSign Server
sgcSign エンジンを REST API、Bootstrap ウェブ管理コンソール、すぐに使える CI/CD パイプラインの背後に配置したセルフホスト型リモートコード署名デーモンです。
sgcSign エンジンを REST API、Bootstrap ウェブ管理コンソール、すぐに使える CI/CD パイプラインの背後に配置したセルフホスト型リモートコード署名デーモンです。
単一の Windows ホストがビルドエージェント、開発者、CI パイプラインからの署名リクエストを受け付けます — 完全な監査、承認、メトリクスが組み込まれています。
署名、検証、ヘルス、メトリクス、承認ワークフロー向けの TLS セキュア /api/v1 エンドポイント。ビルドエージェントと SDK 向けの安定したマシンフレンドリーなコントラクトです。
ユーザー、API キー、プロバイダー、プロジェクト、監査、承認、Webhook、メトリクス向けの Bootstrap ベースの /admin UI。オペレーターが JSON を編集する必要はありません。
Inno Setup ウィザードまたは zip ドロップ。デーモンは自身を Windows サービスとして登録し、TLS を自身で終端処理して、セキュアなホストでアンアテンデド実行します。
Each project isolates a subset of providers, API keys, audit visibility, and approval queues. Several teams share one server without seeing each other's signing material.
同じ API キーでリクエストし、管理者またはプロジェクト管理者が承認または却下し、その後にのみバイトが署名されます。SHA-256 ハッシュとファイルサイズがリクエストにロックされます。
すべてのアクション — 署名、検証、ログイン、承認、Webhook 起動 — がハッシュチェーン監査ログに追記されます。改ざんは検出可能で、SIEM スクレイピングも簡単です。
署名/検証/承認カウンター、署名レイテンシヒストグラム、プロバイダー可用性ゲージ。追加データベースなしの Prometheus 0.0.4 テキスト形式で直接公開します。
13 のライフサイクルイベントが X-Sgcsign-Signature: sha256=… とともに配信されます。3 回のリトライキューにより SIEM、チャット、チケットシステムが同期を維持します。
ライブラリに付属している同じエンジンを REST API 経由で公開します。すべての国プロファイル、すべての署名レベルに対応しています。
VeriFactu、FatturaPA、Facturae、KSeF、e-Factura、Peppol、myDATA および EU 雇用契約向けの XML 署名。POST /api/v1/sign/xades。
元のコンテンツを保持する増分更新を使用した PAdES-Basic PDF 署名。表示または非表示の署名。POST /api/v1/sign/pades。
任意のバイナリデータ向けの CMS / PKCS#7 デタッチまたはアタッチ署名。タイムスタンプ + 長期検証。POST /api/v1/sign/cades。
署名デーモンは設定した証明書ソース(Windows ストア、PFX、PKCS#11 ハードウェアトークン、Azure Trusted Signing、AWS KMS、Google KMS)と通信します。
.exe、.dll、.msi、.cab、.cat、.ocx、.sys に署名します。ハッシュのみモードにより、低帯域幅のランナーが数十バイトを 8 KB の PKCS#7 ブロブと交換できます。
ClickOnce マニフェスト(.application / .manifest)に署名して、Windows クライアントが信頼プロンプトなしにインストールできるようにします。POST /api/v1/sign/clickonce。
.nupkg パッケージに署名して NuGet クライアントが発行者の身元を検証できるようにします。作成者とリポジトリの署名をサポートしています。POST /api/v1/sign/nuget。
Visual Studio 拡張機能パッケージに署名して VS Marketplace と IDE が信頼済みとして受け入れるようにします。POST /api/v1/sign/vsix。
ビルドエージェントはすべてのランナーに署名証明書をインストールする代わりに安定した REST エンドポイントを呼び出します。
コンポジットアクションがアーティファクトをサーバーの REST API に送信します。ウェブ管理で発行されたトークンはプロジェクトにスコープされ、ランナーのシークレットストアから外れることはありません。
パイプラインタスクが sgcSign CLI クライアントを実行し、バイナリをアップロードし、必要に応じて承認を待機して、署名済み結果をダウンロードします — すべてワンステップで行えます。
curl またはバンドルされた CLI を使用した宣言型パイプラインスニペット。Linux と Windows の両方のエージェントで動作し、署名がビルドアーティファクトとして表示されます。
デーモンとサンプルプロバイダー設定を含むイメージ。コンテナを実行し、TLS 証明書とプロバイダーシークレットをマウントすれば、ポータブルな署名サービスが完成します。
Kubernetes にデプロイして完全冗長でスケールアウトした署名を実現します。クラウド KMS(Azure Trusted Signing、AWS KMS、Google KMS)と組み合わせてキーレスポッドを実現できます。
単一の Windows サービスが TLS を終端処理し、/api/v1 + /admin を公開し、すべての呼び出しで設定されたキープロバイダーにアクセスします。キーマテリアルはデータベースに保存されません。
/api/v1 にアクセスします。
/admin にログインします。Bootstrap UI、セッション Cookie、ロールベースアクセスを使用します。
+----------------------------+
| Build agents / CI / CLI |
+-------------+--------------+
|
| HTTPS (TLS 1.2/1.3)
v
+-------------------------------------------+
| sgcSignServer.exe (Windows service) |
| /api/v1/* (signing, verify, health) |
| /admin/* (web console, sessions) |
+---+-----------------+---------------------+
| | |
v v v
+-------------+ +---------------+ +-----------+
| SQLite DB | | KeyProviders | | Webhooks |
| (audit/keys)| | PFX/HSM/KMS | | (outbound)|
+-------------+ +---------------+ +-----------+
curl コマンド一つで署名できますBearer API キー、マルチパートアップロード、そして署名済みバイナリが stdout にストリーミングされます。Authenticode、CAdES、PAdES、XAdES、ClickOnce、NuGet、VSIX はすべて同じ形式を使用します。
X-API-Key または Authorization: Bearer — どちらの認証方法も使用できます。
X-Project でテナントを選択します。キーはプロジェクトに対して認可されている必要があります。
X-Sgcsign-Signer-Subject + X-Sgcsign-Duration-Ms が含まれます。
# Authenticode-sign MyApp.exe via the REST API
curl -X POST https://sign.example.com/api/v1/sign \
-H "Authorization: Bearer $TOKEN" \
-H "X-Project: production" \
-F "format=authenticode" \
-F "file=@./MyApp.exe" \
-o MyApp-signed.exe
# Headers returned by the server
# X-Sgcsign-Signer-Subject: CN=ACME Corp, O=ACME, C=US
# X-Sgcsign-Duration-Ms: 312
新しい Windows ホストから最初の署名済みアーティファクトまで 5 分以内。
バンドルされた Inno Setup ウィザードを実行するか、zip をフォルダーにドロップします。デーモンは sgcSignServer という名前の Windows サービスとして自身を登録します。:8443 にバインドして TLS 証明書を読み込みます。
sgcSignServer.conf.json にプロバイダーを追加します — PFX ファイル、Azure Trusted Signing アカウント、AWS KMS キー、Certum SimplySign ユーザー、またはその他 10 種類のキープロバイダーのいずれか。サービスの再起動は不要です。
/admin/apikeys を開き、新しい API キーをクリックしてプロジェクトにスコープし、トークンを CI ランナーのシークレットにコピーします。ビルドエージェントが POST /api/v1/sign を呼び出します。