- セクティゴ・コモドSSLトップ
- > サポート
サポート
◆ こちらからサポート記事を検索いただけます
署名方法について (コード証明書関連)
gcloud CLIを使用して実行ファイルexeに対してデジタル署名を行う手順
Gcloud CLI単体では、Windows実行ファイル(.exe)に対して直接デジタル署名を行う機能はありません。
Windows実行ファイルへのデジタル署名(Microsoft Authenticode)は、**Windows標準の署名ツールであるSignTool.exe**を使用し、Google Cloud KMS CNG Providerを介してCloud KMS(Cloud HSM)に保管されている秘密鍵を利用することで実行されます。
gcloud CLIは、主に認証と鍵の作成/管理に使用されます。
以下に、Cloud KMSに格納された鍵を使用して.exeファイルに署名するための手順の概要を説明します。
このコマンドにより、アプリケーションのデフォルト認証情報 (ADC) が設定され、CNG Provider経由でSignToolがCloud KMSの署名操作権限を使用できるようになります。
/cryptoKeys/[KEY_NAME]/cryptoKeyVersions/[KEY_VERSION] [署名対象のファイル名].exe
--storepass $(gcloud auth application-default print-access-token) \
--keystore projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEY_RING_NAME] \
--alias [KEY_NAME] \
--certfile [証明書ファイル名].pem \
[署名対象のファイル名].exe
※ [証明書ファイル名].pem はセクティゴから提供される証明書にお読み換えてください
Windows実行ファイルへのデジタル署名(Microsoft Authenticode)は、**Windows標準の署名ツールであるSignTool.exe**を使用し、Google Cloud KMS CNG Providerを介してCloud KMS(Cloud HSM)に保管されている秘密鍵を利用することで実行されます。
gcloud CLIは、主に認証と鍵の作成/管理に使用されます。
以下に、Cloud KMSに格納された鍵を使用して.exeファイルに署名するための手順の概要を説明します。
1. 事前準備 (Cloud KMS / Windows環境)
1. | 鍵の準備 | Cloud KMSで目的が「ASYMMETRIC_SIGN」、保護レベルが「HSM」の非対称署名鍵を作成します。(gcloud kmsコマンドまたはコンソールを使用)。 |
2. | 証明書の取得 | セクティゴ認証局 (CA) からコード署名証明書を取得します。この際、秘密鍵はCloud KMSに保管されているため、CSR (Certificate Signing Request)を作成し、HSMのアテステーション(鍵がHSMで生成されたことの証明)をCAに提出する必要があります。 |
3. | Windows SDKのインストール | 署名に必要な**SignTool.exeが含まれるWindows SDK**をWindowsマシンにインストールします。 |
4. | CNG Providerのインストール | Google Cloud KMS CNG ProviderをWindowsマシンにインストールします。これにより、SignToolがCloud KMSの鍵を操作できるようになります。 |
2. 署名前の認証 (gcloud CLIの役割)
署名を実行するWindowsマシンで、SignToolがCloud KMSにアクセスできるように認証情報を設定します。gcloud認証コマンド実行例:
gcloud auth application-default login3.SignTool.exeを使用した署名
認証が完了したら、SignTool.exeを使用して.exeファイルに署名を実行します。この際、**/cspと/kc**オプションでCloud KMSの鍵を指定します。署名コマンドの実行例(PowerShell)
signtool sign /v /debug /fd sha256 /td sha256 /tr http://timestamp.sectigo.com /f [証明書ファイル名].crt /csp "Google Cloud KMS Provider" /kc projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]/cryptoKeyVersions/[KEY_VERSION] [署名対象のファイル名].exe
オプション | 説明 |
/v /debug | vで検証モード debugでデバックモード |
/f [ファイル名].crt | 弊社認証局から取得したコード署名証明書のファイルパスを指定します。秘密鍵は不要です。 |
/csp "Google Cloud KMS Provider" | 使用する暗号化サービスプロバイダー (CSP) としてGoogleのCNG Providerを指定します。 |
/kc projects/... | Cloud KMSの鍵バージョンへの完全なリソースパスを指定します。この鍵が署名操作に使用されます。 |
/fd sha256 | ファイルのダイジェストアルゴリズム(ハッシュ)を指定します。(通常はSHA256) |
/td sha256 | タイムスタンプのダイジェストアルゴリズムを指定します。 |
/tr [TSA URL] | タイムスタンプ局 (TSA) のURLを指定します。これにより署名に信頼性が付与されます。 |
補足:Jsignの使用
別の署名方法として、JavaベースのJsignツールを使用することもできます。JsignはCloud KMSをネイティブにサポートしており、Windows以外のOSからも署名操作を実行できます。Jsignを使用した署名コマンド実行例
java -jar jsign.jar --storetype GOOGLECLOUD \--storepass $(gcloud auth application-default print-access-token) \
--keystore projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEY_RING_NAME] \
--alias [KEY_NAME] \
--certfile [証明書ファイル名].pem \
[署名対象のファイル名].exe
マニュアル
- CSRの生成方法
- 証明書のインストール
- ドメイン認証用サイトシールの設置
- ドメイン認証用セキュアサイトシール
(2012/11/1以降のご注文より) - 企業認証&EV用サイトシールの設置
- コード証明書関連(codesign)
- IISサーバのみに起因する問題と解消のコツ
- 企業認証/EV認証の電話認証(コールバック)
- Windowsサーバーにおいて不完全な証明書チェーンとなる場合の解消法
- セクティゴの中間証明書及びルート証明書について
- ルート証明書 中間証明書について
- セクティゴサイトシール(trustlogo)のインスト―ル
- 中間CA証明書・ルート証明書について
- ドメインの所有者確認【メール方式:英文の承認メールの表示例】
各種手続きについて
- Multi-Perspective Issuance Corroboration(マルチ視点発行検証)を導入
- 「サーバ証明書」の拡張キーの使用法(EKU)フィールドに「クライアント認証」を記載することを廃止
- 古いSHA1ルート終了における対応につきまして。
- 新ドメイン認証レベルで確認させていただく内容
- オンラインDBへの電話番号確認
- DUNSの新規登録申請はオンラインで簡単
- ドメイン認証レベルで確認させていただく内容
- 企業認証レベルで確認させていただく内容
- 認証レベルに応じた確認・必要書類はなんですか
- 申請ドメインの登録状態を確認しよう :whoisチェック
- 企業情報(登録確認)にはどのような媒体がありますか?
- 無償版SSLとは
- 申請までにご準備いただく物
- お申込みから納品までの流れ
- 費用の支払方法
- お見積書発行依頼
- 請求書の発行依頼
- 更新の申請方法
- 販売パートナ・アフェリエイトパートナーになる。
- ID/パスワードを忘れたら
購入前のご質問
- vPRO対応AMT証明書について
- セクティゴの補償とは一体どのようなものでしょうか?
- FileMaker(ファイルメーカー)製品対応SSLについて
- 携帯電話、スマートフォン、タブレット対応状況
- 新旧ドメイン認証タイプの比較
- 携帯電話・スマートフォン対応状況(ユニファイドコミュニケーション)
- ドメイン管理状況の認証 (DCV) を実施
- ブラウザーの互換性
- マルチドメインは何個まで追加できますか
- 追加ドメインの購入はどのように申請するのでしょうか?
- IEの設定の「信頼されたルート証明期間」のなかでどのように表示されますか?
- コードサイニング証明書とはなんですか?
- ユニファイドコミュニケーションとはなんですか?
- どのようにすればSSLをテストできるでしょうか?
- コモドのSSL証明書は顧客のブラウザーで正しく動作するでしょうか?
- 補償とは一体どういう意味でしょうか?
- コモドのSSLはどのバージョンのSSLプロトコルと互換性がありますか?
- SGCとは何でしょうか?
- お申込フォームで間違った申請をしてしまいました。
- 個人でもコードサイニングが購入できますか??
- コモドのSSLはどのバージョンのSSLプロトコルと互換性がありますか?