Help us understand the problem. What is going on with this article?

exeを署名してみた。

More than 5 years have passed since last update.

ナレッジベース - コードサイニング証明書 サポート

わかったこと

  • exeを署名することは、「このexeは自分が作りました」ということ。
    信頼できる機関から有効期限付きの証明書を発行してもらい、exeにくっつける。
    exeのプロパティで確認できます。

  • 有効期限が切れていてもexeの実行できます。(PCの年月日を変更して確認した。)

  • exeを実行するとき、未署名のときより実行開始されるまで時間がかかります。
    (証明書の確認のため?)

署名の準備

コードサイニング証明書は手続きを完了すると、

  1. IEの個人証明書欄に登録される
  2. 証明書を秘密鍵とともにエクスポート(この時のパスワードは後で使うのでひかえておく)
  3. エクスポートは拡張子PFXのものになる。このままだとsigntool.exeで使えないので、

秘密鍵を取り出す(PFX->pem->pvk)

PFX->pem
openssl.exe pkcs12 -in cert.pfx -nocerts -nodes -out cert.pem
# 証明書エクスポート時のパスワード入力
pem->pvk
pvk.exe -in cert.pem -topvk -out cert.pvk
# pvkのパスワードを任意に設定。

サーバ証明書を取り出す(PFX->pem->spc)

PFX->pem
openssl pkcs12 -in cert.pfx -nokeys -out cert.pem
pem->spc
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out cert.spc

署名ツールをインストール

Microsoft Windows SDK for Windows 7 and .NET Framework 4をインストールしてsigntool.exeを使えるようにする。

Download Platform SDK Redistributable : CAPICOM from Official Microsoft Download Centerも必要かも。

signtool.exeを実行してcapicom.dllが無いと言われたら、以下コマンドでレジストリに登録

regsvr32 "C:\Program Files\Microsoft CAPICOM 2.1.0.2 SDK\Lib\X86\capicom.dll"

署名実施

cabに署名
signtool.exe sign /f cert.pfx /p "pfxのパスワード" hoge.cab
exeに署名
signtool.exe sign /f cert.pfx /p "pfxのパスワード" hoge.exe
tukiyo3
インフラ / web開発
http://tukiyo.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした