暗号化ツール

暗号化ツールには、コード署名、署名検証、およびその他の暗号化タスク用のコマンド ライン ツールが用意されています。

コード署名の概要

ソフトウェア業界では、インターネット上で公開されているコードを含むコードを信頼する手段をユーザーに提供する必要があります。 多くの Web ページには、ほとんどリスクなくダウンロードできる静的な情報のみが含まれています。 ただし、一部のページには、ユーザーのコンピューターでダウンロードして実行するコントロールとアプリケーションが含まれています。 これらの実行可能ファイルは、ダウンロードして実行する危険性があります。

パッケージ化されたソフトウェアは、ブランド化と信頼できる販売店を使用して、ユーザーの整合性を保証しますが、コードがインターネット上で送信される場合、これらの保証は利用できません。 さらに、インターネット自体は、ソフトウェア作成者の身元に関する保証を提供できません。 また、ダウンロードしたソフトウェアが作成後に変更されなかったことを保証することもできません。 ブラウザーは、任意の種類のデータをダウンロードする危険性を説明する警告メッセージを表示できますが、ブラウザーはコードが正しいと主張していることを確認できません。 インターネットをソフトウェアを配布するための信頼性の高い媒体にするには、よりアクティブなアプローチを取る必要があります。

ファイルの信頼性と 整合性 を保証する方法の 1 つは、 デジタル署名 をそれらのファイルに添付することです。 ファイルにアタッチされたデジタル署名は、そのファイルのディストリビューターを肯定的に識別し、署名の作成後にファイルの内容が変更されていないことを確認します。

デジタル署名は、Microsoft の暗号化 API を使用して作成および検証できます。 暗号化と CryptoAPI 関数の背景情報については、「 Cryptography Essentials」を参照してください。

デジタル署名証明書、証明書ストアの詳細については、次トピックを参照してください。

現在、CryptoAPI Tools は、ソフトウェア ベンダーが Authenticode 検証のために次の種類のファイルに署名できるようにすることで、Microsoft Authenticode テクノロジをサポートしています。

ファイル名の拡張子 内容
.appx、.msix、.appxbundle、.msixbundle
パッケージ化された Windows アプリ。
.cab
アプリケーションのインストールとセットアップに使用される自己完結型ファイル。 キャビネット ファイルでは、複数のファイルが 1 つのファイルに圧縮されます。 これらは、一般的に Microsoft ソフトウェア配布ディスクに存在します。
.cat
複数のファイルのデジタル 拇印を 含むファイル。 .cat ファイルを使用すると、拇印が含まれるファイルの整合性を確保できます。
.dll
実行可能関数を含むファイル。
.exe
実行可能プログラムを含むファイル。
.js
.vbs
.wsf
JScript または Microsoft Visual Basic Scripting Edition (VBScript) 用の Windows シェル ファイル。
.msi
.msp
.mst
Windows インストーラー ファイル。
.ocx
Microsoft ActiveX コントロールを含むファイル。
.ps1
PowerShell スクリプトを含むファイル。
.stl
証明書信頼リスト (CTL) を含むファイル。
.sys
ドライバー バイナリを含むファイル。

 

デジタル署名の詳細については、次のドキュメントを参照してください。

  • CCITT、レコメンデーションX.509、 Directory-Authenticationフレームワーク、コンサルテーション委員会、国際電話電信、国際電気通信連合、ジュネーブ、1989。
  • RSA ラボラトリー PKCS #7: 暗号化メッセージ構文標準。 バージョン 1.5、1993 年 11 月。
  • Schneier、Bruce、 Applied Cryptography、2d ed。 ニューヨーク:ジョン・ワイリー・ & サンズ、1996年。
  • https://www.rsa.com

注意

これらのリソースは、一部の言語や国または地域では使用できない場合があります。

 

Microsoft Cryptography Tools

発行ツールと署名 DLL は、Microsoft SDK インストールの \Bin ディレクトリにインストールされます。 これには、次のファイルが含まれます。

ファイル名 注釈
Cert2SPC.exe テスト目的でのみ ソフトウェア発行元証明書 (SPC) を作成します。
CertMgr.exe 証明書、CCTL、証明書 失効リスト (CRL) を管理します。
MakeCat.exe 一連のファイルのハッシュと各ファイルの関連付けられた属性を含む、署名されていないカタログ ファイルを作成します。
MakeCert.exe テスト目的でのみ X.509 証明書を作成します。
Pvk2pfx.exe ソフトウェア発行元の証明書ファイル (.spc) または秘密キー ファイル (.pvk) を個人情報 Exchange (PFX) ファイル形式に変換します。
SetReg.exe 証明書の検証を制御するレジストリ キーを設定します。
SignTool.exe ファイルに署名とタイム スタンプを付けます。 さらに、ファイルの署名を確認します。