SSLならセクティゴ・コモドのEV・企業・ドメイン認証

SSLならセクティゴ・コモドのEV・企業・ドメイン認証

サポート


こちらからサポート記事を検索いただけます

検索キーワード:

インストール関連 (コード証明書関連)

Google KMSを使用したSectigoコードサイニング

Google Cloud KMS (HSM) に安全に保存された鍵を使用して、Sectigoコードサイニング証明書を発行し、利用するための手順は以下の通りです。

1. 鍵の作成とアテステーション(認証)

まず、Google Cloudで鍵ペアを生成する必要があります。Google Cloudダッシュボード/コンソールで以下のステップを完了してください。

Google KMSでキーリングを作成する: https://cloud.google.com/kms/docs/create-key-ring

以下の設定で新しい鍵を作成する (https://cloud.google.com/kms/docs/create-key):

HSM保護

HSM生成

非対称署名

3072-bit RSA, PKCS#1 v1.5 padding - SHA256 Digest (推奨)

新しく作成した鍵のページを開き、鍵バージョンの横にある「アクション」ドロップダウンをクリックし、「アテステーションを検証」をクリックします。その後、「アテステーション パッケージをダウンロード」をクリックして、zipファイルをダウンロードします(これは後で必要になります)。

2. CSR(証明書署名要求)の作成

次に、生成した鍵を使用してCSRを生成する必要があります。CSRを生成する方法はいくつかありますが、このチュートリアルではLinux (Ubuntu) 上のOpenSSLを使用する方法を説明します。

OpenSSLがインストールされたLinuxコンピュータ/サーバーを用意します。

libengine-pkcs11-openssl パッケージをインストールします: sudo apt-get install libengine-pkcs11-openssl

Google PKCS #11 ライブラリをダウンロードして解凍します。インストールコマンドを実行する必要はありません。次のステップでファイルパスを直接参照します。

次のコマンドで、Google PKCSライブラリを使用するようにOpenSSLを設定します:

export PKCS11_MODULE_PATH="/path/to/libkmsp11.so"
(ライブラリを解凍した場所を反映するようにパスを修正してください)。


YAML設定ファイルを作成し、こちらのリンクの説明に従って KMS_PKCS11_CONFIG 環境変数がそのファイルを指すように設定します: https://cloud.google.com/kms/docs/reference/pkcs11-openssl#pkcs_11_library_configuration

key_ring の値は、https://console.cloud.google.com/security/kms/keyrings から取得できます。

Workload Identity 連携を使用してGoogle KMSの認証方法を設定するか、サービスアカウントを作成します。サービスアカウントを作成する場合は、以下の手順に従ってください。

https://console.cloud.google.com/iam-admin/serviceaccounts に移動し、該当するプロジェクトを開きます。

「サービス アカウントを作成」をクリックします。

サービスアカウントに「Cloud KMS 管理者」と「Cloud KMS 暗号化オペレーター」の両方のロールを付与します。これは、ユーザーガイドに記載されているすべての権限を含めるために必要です。

サービスアカウントの作成後、新しい JSONキー を作成します。

キーファイルをダウンロードし、CSRを作成するために使用しているコンピュータ/サーバーに配置します。

キーファイルを指すように環境変数を設定します。例: export GOOGLE_APPLICATION_CREDENTIALS="/root/gckms_auth.json" (ファイルが保存されているパスに更新してください)。 これで、Google KMSをPKCS #11プロバイダーとして使用するようにOpenSSLが設定されました。Google KMSへの接続をトラブルシューティングする必要がある場合は、以下を行ってください。

sudo apt install opensc で pkcs11-tool をインストールします。

pkcs11-tool --module /path/to/libkmsp11.so --list-objects を実行して、アクセス可能な鍵の一覧を確認します(ファイルパスは環境に合わせて更新してください)。

以下のようコマンドを使用してCSRを生成できます。

openssl req -new -subj "/CN=Your Company Name, LLC/" -sha256 -engine pkcs11 -keyform engine -key pkcs11:object=your_key_name > code_signing_request.csr


your_key_name はGoogle KMSでの鍵の名前です(例: "mycskey")。プロジェクト名などを含むリソース名全体ではありません。

リソース名全体を id= で指定することも可能ですが、100文字制限があるためエラーが発生しやすくなります。

ダイジェストアルゴリズム(上記の例では -sha256)が、鍵生成時に選択したものと一致していることを確認してください。

3.CSRの提出



証明書プロバイダーで証明書の発行/生成プロセスを完了し、プロンプトが表示されたらCSRと鍵アテステーションを提出してください。

重要: 鍵アテステーションファイルは zipファイル である必要があります。Google Cloudでは2種類の形式でダウンロードできますが、必ず .zipバージョン を取得してください。

4. コードの署名

コードサイニング証明書が発行されたら、実行ファイルに署名できるようになります。Windowsマシンで SignTool を使用して署名する手順は以下の通りです。

コンピュータに SignTool がインストールされていることを確認します。

最新の Google Cloud KMS CNG provider リリースを .msi インストーラーを使用してWindowsマシンにインストールします。

gcloud auth application-default login を実行して、マシンをGoogle Cloudに対して認証します。

これで SignTool を使用して成果物に署名できるようになります。

コマンド例:

signtool sign /v /debug /fd sha256 /t http://timestamp.sectigo.com /f path/to/mycertificate.crt /csp "Google Cloud KMS Provider" /kc projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/1 path/to/file.exe


(証明書ファイルの保存場所のパスを更新してください)。

サポートトップへ

インストール関連

署名方法について

トラブルシューティング

その他