Windows SDK を使用してコード署名用の自己署名証明書を作成するにはどうすればよいですか?
ベストアンサー1
更新された回答
Windows Server 2012、Windows Server 2012 R2、またはWindows 8.1以降のWindowsバージョンを使用している場合は、MakeCertは廃止されましたマイクロソフトでは、PowerShell コマンドレットNew-SelfSignedCertificate。
Windows 7などの古いバージョンを使用している場合は、MakeCertまたは別のソリューションを使用する必要があります。提案するの公開鍵インフラストラクチャ Powershell (PSPKI) モジュール。
元の回答
自己署名コード署名証明書(SPC -ソフトウェア発行者証明書) を一度に実行したい場合は、次の操作を行うことを好みます。
自己署名証明機関 (CA) の作成
makecert -r -pe -n "CN=My CA" -ss CA -sr CurrentUser ^
-a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer
(^ = バッチコマンドラインで行を折り返すことを許可する)
これにより、エクスポート可能な秘密鍵 (-pe) を持つ自己署名 (-r) 証明書が作成されます。これは「My CA」という名前で、現在のユーザーの CA ストアに格納する必要があります。SHA-256アルゴリズム。キーは署名用です (-sky)。
秘密鍵は MyCA.pvk ファイルに保存し、証明書は MyCA.cer ファイルに保存する必要があります。
CA証明書のインポート
信頼できない CA 証明書を持っていても意味がないので、Windows 証明書ストアにインポートする必要があります。証明書 MMC スナップインを使用することもできますが、コマンド ラインから次のようにします。
certutil -user -addstore Root MyCA.cer
コード署名証明書 (SPC) の作成
makecert -pe -n "CN=My SPC" -a sha256 -cy end ^
-sky signature ^
-ic MyCA.cer -iv MyCA.pvk ^
-sv MySPC.pvk MySPC.cer
上記とほぼ同じですが、発行者キーと証明書 (-ic および -iv スイッチ) を提供しています。
また、証明書とキーを PFX ファイルに変換する必要があります。
pvk2pfx -pvk MySPC.pvk -spc MySPC.cer -pfx MySPC.pfx
パスワードをご利用の場合は以下をご利用ください
pvk2pfx -pvk MySPC.pvk -spc MySPC.cer -pfx MySPC.pfx -po fess
PFX ファイルを保護する場合は -po スイッチを追加します。そうしないと、PVK2PFX はパスフレーズのない PFX ファイルを作成します。
コードの署名に証明書を使用する
signtool sign /v /f MySPC.pfx ^
/t http://timestamp.url MyExecutable.exe
PFX ファイルを証明書ストアにインポートすると (PVKIMPRT または MMC スナップインを使用できます)、次のようにコードに署名できます。
signtool sign /v /n "Me" /s SPC ^
/t http://timestamp.url MyExecutable.exe
考えられるタイムスタンプ URL は次のsigntool /t
とおりです。
http://timestamp.verisign.com/scripts/timstamp.dll
http://timestamp.globalsign.com/scripts/timstamp.dll
http://timestamp.comodoca.com/authenticode
http://timestamp.digicert.com
完全な Microsoft ドキュメント
ダウンロード
.NET 開発者でない場合は、Windows SDK と .NET フレームワークのコピーが必要になります。現在のリンクは [SDK & .NET][5] にあります (makecert は `C:\Program Files\Microsoft SDKs\Windows\v7.1` にインストールされます)。状況は異なる場合があります。MakeCert は、Visual Studio コマンド プロンプトから利用できます。Visual Studio 2015 には MakeCert があり、Windows 7 のスタート メニューの「Developer Command Prompt for VS 2015」または「VS2015 x64 Native Tools Command Prompt」から起動できます (おそらく、これらはすべて同じフォルダー内にあります)。