[解決済み】Windowsでコードサイニング用の自己署名証明書を作成する方法を教えてください。
質問
Windows SDK のツールを使用してコード署名用の自己署名証明書を作成するにはどうすればよいですか?
解決方法を教えてください。
回答を更新しました
以下のWindowsバージョン以降を使用している場合。Windows Server 2012、Windows Server 2012 R2、またはWindows 8.1を使用している場合。 MakeCertは現在非推奨です。 を使用することをお勧めします。 PowerShellコマンドレット 新しい自己署名証明書 .
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の証明書ストアにインポートする必要があります。あなたは できる は、Certificates MMC snapin を使用しますが、コマンドラインから行います。
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
マイクロソフトの完全なドキュメント
ダウンロード
.NET開発者でない方は、Windows SDKと.NETフレームワークが必要です。現在のリンクはこちらです。[SDK & .NET][5] (makecert を `C:\Program FilesMicrosoft SDKs³³Windows³³v7.1` にインストールする). あなたのマイルームが変わるかもしれません。MakeCertは、Visual Studioのコマンドプロンプトから利用できます。Visual Studio 2015にも搭載されており、Windows 7のスタートメニューから "Developer Command Prompt for VS 2015" または "VS2015 x64 Native Tools Command Prompt" (おそらくすべて同じフォルダにあります)で起動することが可能です。
関連
-
[解決済み] Xcodeエラー:SDK 'iOS 10.0'の製品タイプ 'Application'では、コード署名が必要です。
-
[解決済み] 新しいAPIキーを生成するための最適な方法は何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] 後で平文を取り出すためのユーザーパスワードの保管について、倫理的にどのように取り組むべきでしょうか?
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] APKファイルのリバースエンジニアリングを回避する方法
-
[解決済み】塩の文字列はどこに保存していますか?
-
[解決済み】「証明書ストアでマニフェスト署名証明書が見つかりません」-新しいキーを追加した場合も同様
-
[解決済み】ペイメントプロセッサー - 自分のウェブサイトでクレジットカードを利用したい場合、何を知っておく必要がありますか?[終了しました]
-
[解決済み】Webブラウザはhttpsでコンテンツをキャッシュするか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MacのChromeから証明書をエクスポートする方法は?
-
[解決済み] Fiddlerのルート証明書を永久に信頼するのは「安全」なのか?
-
[解決済み] CSRFとX-CSRF-Tokenの違いについて
-
[解決済み】XKCDコミック「Bobby Tables」のSQLインジェクションはどのように動作するのでしょうか?
-
[解決済み】OAuth v2には、なぜアクセス・トークンとリフレッシュ・トークンの両方があるのでしょうか?
-
[解決済み】ソフトウェアのライセンスキーはどのように生成されるのですか?
-
[解決済み】すべてのHTTPリクエストをHTTPSにリダイレクトする方法
-
[解決済み】SHA512とBlowfish、Bcryptの比較【クローズド
-
[解決済み】Windowsでコードサイニング用の自己署名証明書を作成する方法を教えてください。
-
[解決済み】JWTをブラウザに保存する場所は?CSRFから保護する方法は?