私は、顧客がこのアプリケーションをダウンロードする前にいくつかのオプションを設定できるアプリケーションと Web サイトを用意しました。設定はファイルの末尾 (追加) にバイナリ形式で保存され、編集されたファイルがエンド ユーザーに送信されます。問題は、ファイルの「内容」を変更するとファイルの署名が壊れることです。この変更されたファイルにコマンド ライン ツールを使用して再署名する機会はありますか? Microsoft の SignTool を使用しようとしましたが、Linux では正しく動作しません。
質問する
20534 次
3 に答える
44
osslsigncodeを試すことができます
EXE または MSI ファイルに署名するには、次のようにします。
osslsigncode sign -certs <cert-file> -key <der-key-file> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-in yourapp.exe -out yourapp-signed.exe
または、パスワード付きの PEM または PVK キー ファイルと PEM 証明書を使用している場合:
osslsigncode sign -certs <cert-file> \
-key <key-file> -pass <key-password> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-in yourapp.exe -out yourapp-signed.exe
または、タイムスタンプも追加する場合:
osslsigncode sign -certs <cert-file> -key <key-file> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-t http://timestamp.verisign.com/scripts/timstamp.dll \
-in yourapp.exe -out yourapp-signed.exe
PKCS#12 コンテナーに格納されている証明書とキーを使用できます。
osslsigncode sign -pkcs12 <pkcs12-file> -pass <pkcs12-password> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-in yourapp.exe -out yourapp-signed.exe
Java クラス ファイルを含む CAB ファイルに署名するには、次の手順を実行します。
osslsigncode sign -certs <cert-file> -key <key-file> \
-n "Your Application" -i http://www.yourwebsite.com/ \
-jp low \
-in yourapp.cab -out yourapp-signed.cab
于 2015-03-16T09:59:21.920 に答える
30
の signtoolを使用するのは、実際には非常に簡単です。Mono
注意が必要な部分 (リンクされた Mozilla の記事で詳しく説明されています) は、証明書を正しい形式で Windows から Linux にコピーすることです。
Windows PFX 証明書ファイルの PVK および SPC ファイルへの変換は、証明書を Windows から Linux にコピーするときに 1 回だけ行う必要があります。
openssl pkcs12 -in authenticode.pfx -nocerts -nodes -out key.pem
openssl rsa -in key.pem -outform PVK -pvk-strong -out authenticode.pvk
openssl pkcs12 -in authenticode.pfx -nokeys -nodes -out cert.pem
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc
実際にexeに署名するのは簡単です。
signcode \
-spc authenticode.spc \
-v authenticode.pvk \
-a sha1 -$ commercial \
-n My\ Application \
-i http://www.example.com/ \
-t http://timestamp.digicert.com/scripts/timstamp.dll \
-tr 10 \
MyApp.exe
于 2013-08-17T11:03:21.197 に答える