「exe」への自己署名 その2 OpenSSL


VisualBasicで作成「exe」への自己署名 その2 OpenSSL

VBやVCで作ったソフトはClickOnceなど使わないと無署名ソフトとなります。そうするとセキュリティソフトがあやしいソフトとしてヒューリスティックエンジン(ウイルスとして類推するエンジン)が反応することがあります。前回につづきOpenSSLにてまたまた自己署名してみようとおもいます。


必要なソフト

OpenSSL よりWin64OpenSSL-1_1_0i.exeをダウンロード

Sintool.exeを使いますのでWindows 8.1のSDKをダウンロードしてください

注釈

OpenSSLはSSLがメインですので、なかなかexe署名は情報がありませんでした。ネットの情報は中間CA局を自前で用意するものが主でしたが,なくともソフトの署名は一応できましたのでそのレポートです。ちなみにこの方法が正解かは?です。


Cフォルダ直下にosslフォルダをつくります。

コマンドプロンプトにて

  1. cd c:\ossl
  2. # privatekey.pem コード認証秘密鍵
  3. openssl genrsa 2048 > privatekey.pem
  4. # csr.pem 認証要求のお願いの申請書
  5. openssl req -new -key privatekey.pem -out csr.pem
  6. #C : 2文字の国コード。日本は JP 。
  7. #ST : 都道府県
  8. #L : 市町村
  9. #O : 組織の名称
  10. #OU : 組織の部局の名前
  11. #CN : サーバの FQDN
  12. #password :パスワード
  13. #server.crt 認証局の証明書
  14. openssl x509 -req -days 36500 -in csr.pem -signkey privatekey.pem -out server.crt
  15. #pfx 出力
  16. openssl pkcs12 -export -out BooleanEffect.pfx -inkey privatekey.pem -in server.crt
  17. #signtool
  18. cd C:\Program Files (x86)\Windows Kits\8.1\bin\x64
  19. signtool sign -f C:\ossl\booleaneffect.pfx -p パスワード C:\ossl\ソフト.exe

※パスワード、ソフト等は適宜書き換えてください
signature

そして証明書のインストール後

signature

自分で使う分には自己署名としてはこれでOkかと思いますが、シェアウェア作家の方はどうしていらっしゃるのでしょうか。自己署名で配布して証明書をインストールしてくださいともお願いしずらいし、つけなきゃウィルスソフトが誤反応する。悩ましいですね。とりあえず自己署名しておいて証明書のインストールはユーザーに任せるといったところでしょうか。署名のインストールしなくともウイルス誤反応は防止できました。代替手段としては無料の署名の デタッチデタッチサインサービス がありました。これ良さそうですね。

参考リンク Spcial thanks

OpenSSL
デタッチデタッチサインサービス
logo