VisualStudioでオレオレ証明書を作成する

Windows10では、アプリケーションのセキュリティが強化されデジタル証明が無い場合、セキュリティの設定によって確認ダイアログが表示される場合があります。そこでオレオレ証明書を作成し、ダイアログの表示を回避します。

 今回は、アヴネット株式会社さんのHPで紹介されていた自己認証局を立てて、自己証明を作成する方法を利用します。参考にしたサイトは、既に削除済で、現在は利用できません。紹介されていた方法のメモを以下に載せておきます。より詳しく知りたい場合、Archive.orgに記事が保存されているので参考にして下さい。

WebArchiveのキャッシュ
Microsoft Windows SDKによるテスト用の自己認証局 | アヴネット株式会社

自己認証局による自己証明書の作成手順

事前準備

Windows8.1 SDKに含まれる以下のtoolが必要になります。SDKインストールディレクトリのBinの中にあります。Windows10SDKには、含まれていないようです。
・Cert2Spc.exe
・makecert.exe
・pvk2pfx.exe
・signtool.exe
8.1SDKのインストーラは、以下のリンクでダウンロードできます。オプションでToolのみ選択すれば、必要なものだけインストールされます。
https://go.microsoft.com/fwlink/p/?LinkId=323507

作成手順

1. X.509自己認証ファイルの作成(ルート証明書の作成)
 ここでは、証明書のファイル名をhogehogeとして進めていきます。
 上記ツールを適当なフォルダにコピーし、コピー先のディレクトリでコマンドプロンプトを起動します。
 以下のコマンドを実行後、パスワードを3回聞かれるので任意のパスワードを入力します。

makecert -a sha256 -b 02/01/2011 -e 12/31/2099 -cy authority -eku 1.3.6.1.5.5.7.3.3 -sv hogehogeCA.pvk -r -n "CN=hogehogeCA" hogehogeCA.cer

2.ルート証明書で署名された証明書を作成する
 パスワードが聞かれるのでパスワードを設定します。

makecert -n "CN=hogehoge,O=hogehoge,C=JP" -a sha256 -b 02/01/2011 -e 12/31/2099 -iv hogehogeCA.pvk -ic hogehogeCA.cer -sv hogehoge.pvk hogehoge.cer 

3.ソフトウェア発行元証明形式への変換

cert2spc hogehoge.cer hogehoge.spc

4.証明書と鍵情報の格納
 -po には、事前に設定したパスワードを入力します。

pvk2pfx -pvk hogehoge.pvk -spc hogehoge.spc -po 1234 -pfx hogehoge.pfx -f

5.ルート証明書についてもpfxを作成する(hogehogeCA)
 3,4,の手順をhogehogeCAに変更して繰り返します。

6.PCに認証局CAを登録
 InternetEexplorerのオプション設定を開き、コンテンツタブの証明書ボタンを押します。
 信頼されたルート証明機関のタブを選択し、インポートボタンを押します。
 hogehogeCA.cerを読み込みます。

7.デジタル署名の書き込み

signtool.exe sign -fd sha256 -f hogehoge.pfx -p 1234 test.exe

以上でtest.exe にhogehogeで署名されるはずです。