3.4. コード(プログラム)をセキュアに

3.4.1. Micosoft Code

プログラムやアプレットに署名して、 そのコードの作成者であることを証明することも可能です。 そのプログラムを使う人々にとっても、 誰もそのコードの中にウィルスやバックドアを挿入していない、 と信用できるのは大事なことです。 コードに信用を与えるには、 Microsoft Authenticode SDK が必要です。 これは Microsoft のサイトの MSDN セクションから手に入れることができます。

上と同様に証明書を作成しますが、通常名(Common Name, CN)は “ACME Software Cert” のようなものにします。 CA によって署名された証明書を手に入れて、それを pkcs12 フォーマットに 変換してください。

CA.pl -newreq
CA.pl -sign
CA.pl -pkcs12 "ACME Software Cert"

newcert.p12 と名づけられたファイルができます。Windows の中で、 このファイルをクリックして証明書庫(Certificate Store)の中に移します。

これでプログラムに署名するためのこの証明書が使えるようになりました;

signcode -cn "ACME Software cert" -tr 5 -tw 2 -n "My Application" \
-i http://www.acme.com/myapp/ \
-t http://timestamp.verisign.com/scripts/timstamp.dll myapp.exe

このアプリケーションをインストールするかまたは走らせようとするときは、 “My Application” と言うタイトルと、 上で -i オプションで与えたリンクの場所が書かれたダイアログが現れます。