コード署名証明書の使用

MicrosoftのSignToolおよびSSL.comでOVまたはEVコード署名証明書を使用する方法 SSL Manager アプリケーション。
2026年3月1日より、新たな業界要件が施行されます。 CA /ブラウザフォーラム 公的に信頼されているコード署名証明書の最大有効期間を458日に制限します。準備として、 SSL.com 2026年2月27日より、証明書発行期間を458日間に制限する措置を開始しました。この変更は、お客様のご注文の合計有効期間には影響しませんが、有効期間内に発行された個々の証明書は、より頻繁に再発行が必要になる場合があります。各証明書の有効期間は短くなりますが、お客様は購入金額の全額を受け取ることができます。この更新は、公的に信頼されているすべての認証局に義務付けられており、リスクへの露出を減らし、暗号化の柔軟性を向上させることでセキュリティを強化することを目的としています。

この Web ページでは、SSL.com の使用方法について説明します。 OV or EV Microsoft の SignTool と SSL.com のコード署名証明書 SSL Manager.

これらの手順では、コード署名証明書がインストールされているか、ハードウェア トークンにそれがあることを前提としています。 eSigner プラットフォームを使用したクラウドベースのコード署名については、以下を参照してください。 概要ページ この 入学案内.

ハードウェアベースの OV および EV コード署名証明書の場合、秘密キーは YubiKey FIPS USBトークンにのみ存在します それはあなたに送られ、トークンは 添付する必要があります アプリケーションの署名に使用されているコンピュータに。 YubiKey FIPSトークンを使用しているWindowsユーザーも、 YubiKeyスマートカードミニドライバー トークンを使用する前に。

OVと EVコード署名証明書をコンピューターに手動でインストールしないでください。構成の問題が発生する可能性があります。 SSL.comからYubiKeysで出荷された証明書は、インストール以外の追加インストールなしで使用できます。 YubiKeyスマートカードミニドライバー トークンをコンピューターに接続します。 経由で注文した証明書 リモート認証 コンピューターの証明書ストアではなく、秘密キー(YubiKey FIPSまたはその他のサポートされているハードウェアなど)を含むデバイスにダウンロードしてインストールする必要があります。
EVコード署名証明書を使用してWindows10ドライバーに署名することを計画している場合は、次のことを行う必要があります。 登録 Windowsハードウェア開発者プログラムで。
JavaでOV / IVまたはEVコード署名証明書を使用する手順については、 Javaコード署名ガイド.

Yubikey で実行ファイルに署名する

インストールを開始する Windows SDKとSignTool

SignToolは Windowsの10 SDK。 インストール後、SignToolは次の場所にあります。

C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe

Powershell またはコマンドプロンプトから SignTool にアクセスする

SignToolへのアクセスは、両方のコマンドの最初の部分です。 ファイルに署名する and 検証する デジタル署名。SignTool にアクセスするには、Powershell とコマンド プロンプトの両方を使用できます。 

使用している Windows OS のバージョンと Windows SDK のバージョンに応じて、SignTool へのアクセス方法は異なります。コマンドの最初の部分には、次のいずれかのオプションが含まれます。 

  1. .\signtool.exe
  2. .\サインツール
  3. サインツール
  4. signtool.exe
  5. 「C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe」

秘密鍵は、あなたに送信されたUSBトークンにのみ存在し、 トークンを添付する必要があります アプリケーションに署名するために使用されているコンピューターに。 

符号 実行可能ファイル

Powershell ウィンドウで次のコマンドを発行すると、実行可能ファイルに署名できます。 

。\ signtool.exe sign / fd sha256 / a "C:\ path \ to \ MyExecutable.exe"
  • その /fd オプションは、署名時に使用するダイジェストアルゴリズムを選択します。 Windows 10 SDK、HLK、WDK、およびADKビルド 20236以上 署名時にこのオプションを設定する必要があります。 セキュリティのために、SHA256 よりも SHA1 をお勧めします。
  • その /a オプションは、実行可能ファイルに適切なコード署名証明書を自動的に見つけるようにSignToolに指示します。
  • USBトークンのPINの入力を求められます。PINを見つけるのに手助けが必要な場合は、 このハウツー.PINを入力してください
注意: インストーラーに含まれるコードファイル(Windows MSIファイルなど)に署名する場合は、インストーラーをビルドする前にこれらのファイルに署名してから、インストーラーファイル自体に署名する必要があります。

署名証明書の選択

件名を指定してください

複数のコード署名USBトークンまたは証明書がインストールされている場合、 証明書を指定する あなたがそのを含めて使用したい 件名 ビア /n オプションを選択します。

証明書のサブジェクト名は、Microsoftの証明書管理ツールを使用して確認できます。 証明書管理スタート メニューからツールを開き、下の画像に示すように、「証明書」の下の「個人」フォルダーで証明書を探します。サブジェクト名は、certmgr の「発行先」フィールドです。

上の画像では、証明書のサブジェクト名は example。 この値は、SignToolで次のコマンドを使用して指定できます。

。\ signtool.exe sign / fd sha256 / n "example" "C:\ path \ to \ MyExecutable.exe"

SHA1ハッシュを指定します

同じサブジェクト名を持つ証明書が複数ある場合は、証明書の SHA1 ハッシュ (または「サムプリント」) を使用して署名対象として選択することもできます。この値は、次の手順に従って見つけることができます。

次のように入力してユーザー証明書ストアを開きます。 certmgr.mscを Windowsの検索バーに「証明書マネージャー」と入力します。証明書マネージャーウィンドウが表示されたら、 パーソナル 左パネルのフォルダを開き、 証明書 右側のサブフォルダーに移動して、コード署名証明書を見つけます。

証明書をダブルクリックし、 Details タブをクリックして下にスクロールし、 拇印サムプリントをコピーし、コードに署名するときにコマンドに含めます。 

。\ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C:\ path \ to \ MyExecutable.exe"

注: ユーザーが複数の USB トークンを所有しているため、ストアに同じ名前の複数のコード署名証明書が表示される場合があります。どれを選択すればよいかわからない場合は、SSL.com の注文詳細ページに示されているものと一致するシリアル番号を持つ証明書を選択してください。おそらく、有効期限が最も新しい証明書を選択することになるでしょう。 

 使用する必要がある証明書を完全に検証するには、次の手順に従ってください。

  1. SSL.com アカウントにログインし、 注文 タブをクリックします。証明書の注文を見つけて、 ダウンロード 証明書の詳細を表示するためのリンク。 

  2. 下にスクロールして、 エンドエンティティ証明書 セクション。 下 コード署名証明書 サブセクションでは、証明書のシリアル番号が表示されます。

  3. クロスチェックを実行します。コンピュータの証明書マネージャーで証明書をダブルクリックします。 詳細。 シリアル番号が一致しているかどうかを確認します。 

PKCS#12 / PFXファイルを使用する

PKCS#12ファイル(PFXまたはP12ファイルとも呼ばれます)にコード署名証明書と秘密鍵がある場合は、コマンドラインでファイルとそのパスワードを指定できます。

。\ signtool.exe sign / fd sha256 / f "C:\ path \ to \ MyCertificate.pfx" / p password "C:\ path \ to \ MyExecutable.exe"

タイムスタンプ

コードにタイムスタンプを付けると、コード署名証明書の有効期限が切れた後でもコードを信頼できるようになります。 追加したい場合 タイムスタンプ 署名されたバイナリファイルでは、SignToolの /tr オプション。その後にタイムスタンプダイジェストアルゴリズムを設定する必要があります。 /td。 以下のスニペットのコマンドには、からのタイムスタンプが含まれています SSL.com実行可能ファイルに署名する際ののタイムスタンプサービス。

。\ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C:\ path \ to \ MyExecutable.exe"
注意: SignToolの /tr オプション(RFC 3161タイムスタンプサーバーのURLを指定)、 /t (タイムスタンプサーバーのURL)、SSL.comのタイムスタンプサーバーと互換性がありません。
注意: その /td オプション しなければなりません フォロー /tr オプション。 タイムスタンプダイジェストアルゴリズムがタイムスタンプサーバーの前に指定されている場合、デフォルトのSHA-1アルゴリズムが使用されます。 Windows 10 SDK、HLK、WDK、およびADKビルド 20236以上 の使用が必要 /tr タイムスタンプを付けるとき。 セキュリティのため、SHA256よりもSHA1をお勧めします。
注意: デフォルトでは、SSL.com は ECDSA キーからのタイムスタンプをサポートしています。

このエラーが発生した場合: The timestamp certificate does not meet a minimum public key length requirement、ソフトウェア ベンダーに連絡して、ECDSA キーからのタイムスタンプを許可する必要があります。

ソフトウェア ベンダーが通常のエンドポイントの使用を許可する方法がない場合は、このレガシー エンドポイントを使用できます。 http://ts.ssl.com/legacy RSA タイムスタンプ ユニットからタイムスタンプを取得します。

その他のオプション

その他の重要なSignToolオプションは次のとおりです。

  • /d:署名されたコードの説明を追加します。 例えば、 /d "test code".
  • /du:署名されたコードの拡張された説明を含むURLを追加します。 例えば、 /du https://your_website.tld/project/description.

上記のオプションをすべて使用する(ただし省略 /a, /sha1または /f 証明書のサブジェクト名を指定しているため /n、コマンドラインは次のようになります。

signtool.exe sign / n "例" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "テストコード" / du https://your_website.tld/project/description "C:\ path \ to \ MyExecutable.exe "

署名を確認する

このコマンドを使用して、署名されたコードを確認します( /pa オプションはコマンドに存在する必要があります):

。\ signtool.exe verify / pa "C:\ path \ to \ MyExecutable.exe"

ファイルが正常に署名されると、次のような出力が表示されます。

ファイル:C:\ path \ to \ MyExecutable.exeインデックスアルゴリズムタイムスタンプ=================================== ===== 0 sha256 RFC3161正常に検証されました:C:\ path \ to \ MyExecutable.exe

アイコンを右クリックして選択することにより、ファイルが署名されていることを確認することもできます。 特性 メニューから、 デジタル署名 タブ。 署名を選択してクリックすると、署名の詳細が表示されます。 Details

デジタル署名

ここでは、28年2020月XNUMX日にSSLCorpによって作成された有効なデジタル署名がファイルに含まれていることがわかります。

デジタル署名の詳細

で実行可能ファイルに署名する SSL Manager

よりグラフィックベースのアプローチを好む場合は、 SSL.comの社内ソフトウェア、 SSL Manager、ファイルに署名します。 多くの顧客が使用を好む SSL Manager XNUMXつの統合されたインターフェイスですべての証明書に簡単にアクセスできるという追加の利点があるためです。 ダウンロードとインストールの手順について SSL Manager、ご参照ください インストールガイド.

実行可能ファイルに署名するには、まず コード署名>署名とタイムスタンプコードパッケージ from SSL Managerのメニュー。

サイン&タイムスタンプコードパッケージ

コード署名フォームでは、実行可能ファイルとコード署名証明書(ファイルまたは証明書ストアから)、および使用可能なタイムスタンプサーバーのXNUMXつを選択できます。 完了したら、 符号 ボタンをクリックしてコードに署名します。USB トークンの PIN の入力を求められます。

コード署名に加えて、 SSL Manager 多くの強力な機能を提供します。 詳細については、 SSL Managerのドキュメント、特に コード署名メニュー.

Thales SafeNet (Gemalto) USB トークンによるコード署名

注意: SSL.com は、コード署名証明書がプリインストールされた Thales SafeNet トークンを出荷します。トークンからいかなる資料も削除しないでください。

このセクションでは、SSL.com のコード署名証明書、Thales SafeNet (Gemalto) USB トークン、および Safenet 認証クライアントを使用してコードに署名する方法を説明します。 

Thales SafeNet トークンは、すべての種類の SSL.com コード署名証明書とその秘密キーを保存できます。これには、個人 ID コード署名証明書、組織検証コード署名証明書、拡張検証コード署名証明書が含まれます。

SafeNet認証クライアントは、Thalesの包括的なSafeNetの証明書ベースの認証ポートフォリオを処理するミドルウェアソリューションです。これには、eToken、SafeNet IDPrimeスマートカード、SafeNet IDPrime Virtual、および組み合わせが含まれます。 PKI/FIDO デバイス。

Thales SafeNet (Gemalto) トークンのコード署名パスワードを変更する方法、またはロックされたトークンへのアクセスを回復する方法については、SSL.com の記事を参照してください。 Thales SafeNet/Gemalto Token のパスワードを変更する方法

要件

  1. Windows 開発キット コンピューターにインストールされている
  2. SafeNet 認証クライアントがコンピュータにインストールされています。手順については、SSL.com のガイドを参照してください。 コード署名証明書用の SafeNet 認証クライアントのダウンロード
  3. SSL.com がプリインストールしたコード署名証明書を含む Thales SafeNet トークン。Thales SafeNet トークンは、次の手順に従ってアクティブ化する必要があります。 
    1. Thales トークンのシリアル番号を見つけます。これはトークンの表面に印刷された一連の文字と数字です。 
    2. SSL.com アカウントにサインインします。
    3. クリック 注文 タブ、続いて ダウンロード 証明書注文のリンクをクリックすると詳細が表示されます。 物理トークン セクションで、割り当てられたフィールドにシリアル番号を入力して、Thalesトークンをアクティブ化します。Thalesトークンをアクティブ化すると、 物理トークン セクションには アクティベーションPIN and 管理者PINを選択します。 アクティベーションPIN としても知られています トークンパスワード ファイルに署名するときにこれを入力するよう求められます。 管理者PIN としても知られています PUK – これは、ロックされたトークンに新しいトークン パスワードを設定する場合に必要です。 

Thales SafeNetトークンを使用してコードに署名する手順

  1. あなたの接続 Thales SafeNet トークンをコンピューターにダウンロードします。 
  2. 店は開いています Safenet 認証クライアント。
  3. コードに署名するためのコマンドを設定します。
    signtool sign /tr http://ts.ssl.com /td sha256 /fd sha256 /a "署名するファイルのパス"
    伝説:
    / fd sha256 署名時に使用するダイジェスト アルゴリズムを選択します。
    / tr http://ts.ssl.com タイムスタンプサーバーのアドレスを指定します
    / td sha256 タイムスタンプダイジェストアルゴリズムを指定します
    /a SignTool に、ファイルに適したコード署名証明書を自動的に見つけるように指示します。

    署名可能なファイルパス: ファイルのパスは二重引用符で囲む必要があります。
    署名可能なファイルの名前をパスに含めることに注意してください。例: /テストファイル.dll

    お願い: 一部のユーザーは、sign コマンドで次のエラーが発生する可能性があります。 「Signtool」は内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されませんこのエラーを解決するには、テキストを削除します サインツール コマンドから signtool.exe のパスに置き換えます。パスは二重引用符で囲む必要があります。
    “C:\Program Files (x86)\Windows Kits\10\folder\folder\x86\signtool.exe” sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a "C:\Users\Admin\Documents\test files\test file.dll"
  4. ラン コマンドプロンプト 管理者としてログインし、signコマンドを入力します。その後、 Enter.

  5. メッセージが表示されます 追加ストアの追加が完了しました。 直後に、 入力するよう求められます トークンパスワード. に記載されているように 要件 上記のセクションで説明したトークンパスワードは、 アクティベーションPIN これはSSL.comの証明書注文ページで確認できます。 OK コード署名を完了するためのボタン。

  6. 成功! ファイルは署名されました。コマンド プロンプトで署名が成功したことが通知されます。 

コード署名のオプション

1. 証明書のサブジェクト名を指定する

複数のコード署名 USB トークンまたは証明書を所有している場合は、/n オプションを使用してサブジェクト名を組み込むことで、使用する特定の証明書を選択できます。

SafeNet認証クライアントの歯車アイコンをクリックして詳細表示を有効にすると、証明書のサブジェクト名を表示できます。次に、 ユーザー証明書 トークンにインストールされているすべての証明書を表示する使用する証明書の名前をコピーします。

サインコマンドは、 /n オプションは次のようになります。証明書のサブジェクト名は二重引用符で囲む必要があります。 

“SIGNTOOL.EXE のパス” sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n "証明書のサブジェクト名" “署名するファイルのパス”

2. 証明書の拇印を指定する

同一のサブジェクト名を持つ証明書を複数所有している場合は、SHA1ハッシュ(一般に「拇印」と呼ばれる)を使用して、署名する証明書を区別して選択することができます。これを行うには、 拇印 次のコマンドで、証明書の実際の SHA1 ハッシュを入力します。

SafeNet認証クライアントの歯車アイコンをクリックして詳細表示を有効にすると、証明書のサムプリント値を表示できます。次に、 ユーザー証明書使用したい証明書をダブルクリックします。 Details タブをクリックします。最後に、下にスクロールして 拇印 フィールド。 


signコマンドで、テキストを置き換えます 拇印 証明書の拇印の実際の値を入力します。 

“SIGNTOOL.EXE のパス” sign /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT “署名するファイルのパス”

署名を確認する

署名されたファイルを右クリックしてプロパティを表示すると、適用されたデジタル署名を確認できます。 

  1. クリック デジタル署名 タブをクリックします。マウスを 署名リスト ボックスで証明書の表示名をクリックしてハイライトします。 Details ボックスをクリックして続行します。 

  2. ファイルの署名に使用された証明書の名前と、署名およびタイムスタンプが付けられた日時が表示されます。

ご注意: SSLコード署名証明書の秘密鍵 輸出できません。 および証明書 ダウンロード可能な.pfxファイルとして発行することはできません証明書は、承認された安全な方法(例えば、 FIPS 140-2認証済みYubiKey USBトークン、SSLの eSignerクラウド署名サービス、またはA サポートされているクラウドHSM.

SSL.comをご利用いただきありがとうございます。 ご不明な点がございましたら、メールでお問い合わせください。 Support@SSL.com電話する 1-877-SSL-SECURE、またはこのページの右下にあるチャットリンクをクリックしてください。

常に最新情報を入手して安全を確保

SSL.com サイバーセキュリティの世界的リーダーであり、 PKI そしてデジタル証明書。サインアップして、最新の業界ニュース、ヒント、製品のお知らせを受け取ります。 SSL.com.

SSL.com

フィードバックをお待ちしております

アンケートにご協力いただき、最近のご購入についてのご意見をお聞かせください。

プライバシーの概要
SSL.com

このWebサイトではCookieを使用しているため、可能な限り最高のユーザーエクスペリエンスを提供できます。 Cookie情報はブラウザーに保存され、Webサイトに戻ったときにユーザーを認識したり、Webサイトのどのセクションが最も興味深く有用であるかをチームが理解するのに役立ちます。

詳細については、 クッキーとプライバシーステートメント.

サードパーティのCookie

このウェブサイトは Google Analytics 統計カウンター(&S) サイトへの訪問者数や最も人気のあるページなどの匿名情報を収集するため。

これらのCookieを有効にしておくと、ウェブサイトの改善に役立ちます。

詳細を表示