ソフトのデジタル署名ツール【osslsigncode】の説明
自前のソフトを自己証明書を使いデジタル署名にはMicrosoftのSigntool.exeが使われてきました。
ですが開発も止まっているようなので代替ソフトとしてosslsigncode.exeを使ってみようと思います
osslsigncode (Github) ダウンロードはページのReleasesからどうぞ
リリースページを見ますとMac/Windowsともあるようですが今回は
osslsigncode-2.5-windows-x64-static-vs.zip を使いデジタル署名します。
osslsigncode.exeの使い方
まずC:¥直下にosslフォルダを作ります。そのフォルダ内にin/outフォルダ置きます。
そしてosslsigncode.exeを配置してください。
今回のデジタル署名につかった証明書はSSL証明書作成アプリで出力しています。
※もともとSSL用に開発したものですので少々表記がおかしいですが、正式にやる場合はOpenSSL等で自己署名証明書をご用意ください。
SSL証明書作成アプリで作成した127.0.0.1.crtと127.0.0.1.keyをフォルダに置きます。
次にデジタル署名するソフトをinフォルダに配置します。
今回はSSLローカルサーバーアプリをPython Nuitkaでexe化した【ssl_server.exe】にデジタル署名しますのでこれをinフォルダに配置します。
osslsigncodeをコマンドプロンプトより呼び出しデジタル署名する
cd C:\ossl osslsigncode sign -certs 127.0.0.1.crt -key 127.0.0.1.key -h sha256 -t timestamp.digicert.com/?alg=sha1 -in C:\ossl\in\ssl_server.exe -out C:\ossl\out\ssl_server.exe
osslsigncode sign -certs 127.0.0.1.crt -key 127.0.0.1.key -h sha256 -t timestamp.digicert.com/?alg=sha1 -in C:\ossl\in\ssl_server.exe -out C:\ossl\out\ssl_server.exe
以上のコマンドでoutフォルダにデジタル署名されたファイルが出力されます。
繰り返し出力する場合outフォルダ内ファイルを削除してください。
署名済みアプリのプロパティで確認
SHA256仕様のタイムスタンプ100年後まで有効のデジタル署名が確認できました