この Web ページでは、SSL.com の使用方法について説明します。 OV or EV Microsoft の SignTool と SSL.com のコード署名証明書 SSL Manager.
これらの手順では、コード署名証明書がインストールされているか、ハードウェア トークンにそれがあることを前提としています。 eSigner プラットフォームを使用したクラウドベースのコード署名については、以下を参照してください。 概要ページ この 入学案内.
ハードウェアベースの OV および EV コード署名証明書の場合、秘密キーは YubiKey FIPS USBトークンにのみ存在します それはあなたに送られ、トークンは 添付する必要があります アプリケーションの署名に使用されているコンピュータに。 YubiKey FIPSトークンを使用しているWindowsユーザーも、 YubiKeyスマートカードミニドライバー トークンを使用する前に。
SignToolで実行可能ファイルに署名する
インストールを開始する Windows SDKとSignTool
SignToolは Windowsの10 SDK。 インストール後、SignToolは次の場所にあります。
C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
開始 PowerShell
スタート PowerShell コマンドウィンドウで「Powershell」を検索して 開始 メニューをクリックして、デスクトップアプリケーションをクリックします。
Powershellは、Windowsのコアサービスへのコマンドラインインターフェイスです。 これを使用してSignToolを実行し、コードに署名できます。
EV用 コード 署名し、USBトークンをコンピューターに接続します(まだ接続していない場合)。 eSignerを使用している場合は、 eSignerクラウドキーアダプター
秘密鍵は、あなたに送信されたUSBトークンにのみ存在し、 トークンを添付する必要があります アプリケーションの署名に使用されているコンピューターに。 OVコード署名証明書を使用している場合は、この手順をスキップする必要があります。
符号 実行可能ファイル
Powershellウィンドウで次のコマンドを発行することにより、実行可能ファイルに署名できます。 signtool.exeでeSignerクラウド署名を使用している場合は、必ずインストールしてください 電子署名者CKA
。\ signtool.exe sign / fd sha256 / a "C:\ path \ to \ MyExecutable.exe"
-
/fd
オプションは、署名時に使用するダイジェストアルゴリズムを選択します。 Windows 10 SDK、HLK、WDK、およびADKビルド 20236以上 署名時にこのオプションを設定する必要があります。 セキュリティのために、SHA256 よりも SHA1 をお勧めします。 -
/a
オプションは、実行可能ファイルに適切なコード署名証明書を自動的に見つけるようにSignToolに指示します。 - EVコード署名証明書を使用している場合は、USBトークンのPINの入力を求められます。 PINの確認についてサポートが必要な場合は、 このハウツー.
署名証明書の選択
件名を指定してください
複数のコード署名USBトークンまたは証明書がインストールされている場合、 証明書を指定する あなたがそのを含めて使用したい 件名 ビア /n
オプションを選択します。
Microsoftの証明書管理ツールを使用して、EVCS証明書のサブジェクト名を見つけることができます 証明書管理。 [スタート]メニューからツールを開き、下の画像に示すように、[証明書]の下の[個人]フォルダーでEV CS証明書を探します。 サブジェクト名は、certmgrの「発行先」フィールドです。
上の画像では、証明書のサブジェクト名は example
。 この値は、SignToolで次のコマンドを使用して指定できます。
。\ signtool.exe sign / fd sha256 / n "example" "C:\ path \ to \ MyExecutable.exe"
SHA1ハッシュを指定します
同じサブジェクト名を持つ複数の証明書がある場合は、証明書のSHA1ハッシュ(または「拇印」)を使用して、署名用に証明書を選択することもできます。 交換 THUMBPRINT
以下のコマンドで、実際のSHA1を使用して証明書をハッシュします。 この値は、certmgrで証明書の詳細を表示し、 Thumbprint
フィールド(コマンドで使用する前に、拇印からスペース文字を必ず削除してください)。
。\ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C:\ path \ to \ MyExecutable.exe"
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"
/tr
オプション(RFC 3161タイムスタンプサーバーのURLを指定)、 /t
(タイムスタンプサーバーのURL)、SSL.comのタイムスタンプサーバーと互換性がありません。/td
オプション しなければなりません フォロー /tr
オプション。 タイムスタンプダイジェストアルゴリズムがタイムスタンプサーバーの前に指定されている場合、デフォルトのSHA-1アルゴリズムが使用されます。 Windows 10 SDK、HLK、WDK、およびADKビルド 20236以上 の使用が必要 /tr
タイムスタンプを付けるとき。 セキュリティのため、SHA256よりもSHA1をお勧めします。このエラーが発生した場合:
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
アイコンを右クリックして選択することにより、ファイルが署名されていることを確認することもできます。 プロパティ メニューから、 デジタル署名 タブ。 署名を選択してクリックすると、署名の詳細が表示されます。 詳細
ここでは、28年2020月XNUMX日にSSLCorpによって作成された有効なデジタル署名がファイルに含まれていることがわかります。
で実行可能ファイルに署名する SSL Manager
よりグラフィックベースのアプローチを好む場合は、 SSL.comの社内ソフトウェア、 SSL Manager、ファイルに署名します。 多くの顧客が使用を好む SSL Manager XNUMXつの統合されたインターフェイスですべての証明書に簡単にアクセスできるという追加の利点があるためです。 ダウンロードとインストールの手順について SSL Manager、ご参照ください インストールガイド.
実行可能ファイルに署名するには、まず コード署名>署名とタイムスタンプコードパッケージ SSL Managerのメニュー。
コード署名フォームでは、実行可能ファイルとコード署名証明書(ファイルまたは証明書ストアから)、および使用可能なタイムスタンプサーバーのXNUMXつを選択できます。 完了したら、 符号 コードに署名するためのボタン。 PFXファイルから証明書をロードする場合は、ファイルのパスワードを入力する必要があります。 EVコード署名証明書を使用している場合は、USBトークンのPINの入力を求められます。
コード署名に加えて、 SSL Manager 多くの強力な機能を提供します。 詳細については、 SSL Managerのドキュメント、特に コード署名メニュー.