窓:
1.関連するコンテンツパッケージウィンドウpackage.jsonを設定します。
"勝利":{ "アイコン": "ビルド/アイコン/ icon.ico"、 "ターゲット":[ { "ターゲット": "NSIS"、 "アーチ": "W64"、 "IA32"を ] } ]、 " verifyUpdateCodeSignature」:偽 、"signingHashAlgorithms":[ "SHA256"、 "SHA1" ]、 "signDlls":真 、"rfc3161TimeStampServer": "http://timestamp.digicert.com"、 "certificateFile": "xxx.pfx" 、 "certificatePassword ": "XXXXXX" }、
主なパラメータ:
「アーチ:パッケージ化に必要なビットの数を表すが、それは袋の外に最後のパケットと一緒に包装されているようIA32は、好ましくは別々に包装され、代わって32を充填し、Win64のに代わって64パック倍通常の開発です。
「SigningHashAlgorithms」:代表暗号方式、一般的に二つの方法で「SHA256」および「SHA1」に分割は、両方とも暗号化することができます。
「Rfc3161TimeStampServer」:代表タイムスタンプは、一般に「http://timestamp.digicert.com」タイムスタンプをカバーするために使用されます
「CertificateFile」:住所証明、あなたはビットPFX形式(時間の第二段階でエクスポートする方法を説明します)必要があります
「CertificatePassword」:証明書の割り当てに設定されている証明書の秘密鍵のパスワード、(第2のステップは説明します)
2.証明書のエクスポートPFXフォーマット
窓は、私が今買う、買う時代保障番号にあったが(銀行とUディスクに類似した証明書署名犬に基づいて購入をするために資格関連事業の証明書を持っている必要があり、安全性の問題を確実にする方法を発行しました) 。プラグイン署名犬は自動的に証明書管理ツールをダウンロードするときは、最初のステップのcertificatePassword値パラメータ以上であることでパスワードを変更することができます。
問題:
しかし、最大の問題は、PFX証明書がエクスポートできないということで、証明書は、秘密鍵なしCER形式にエクスポートすることができます。それは電子のために適切ではないことは明らかである、すでに終了パッケージexeファイルを署名することができます。パッケージexeファイルの終わりをアップグレードすることはできません、それは時間のパッケージ内の証明書に侵入する必要がありますので、それは、問題を引き起こす可能性が、署名されています。
ソリューション:
ソフトウェアセキュリティ番号の時代を開きます(ローカル署名犬が挿入されていない、挿入した場合、ここに表示され、証明書を購入する)、右証明書、証明書CER形式をエクスポートし、接尾辞PFXを変更し、そのようtest.cerの輸出として、接尾辞を変更以下certificateFileが最初のステップは、「test.pfxは」(もちろん、テスト単なる例、カスタムの名前)ができている、変更、プロジェクトのルートディレクトリに、test.pfx命名されました
3.パッケージング
この時、すでに窓に署名し、あなたはパッケージがそれをコマンドを実行!
NPM実行ビルド
私たちは、秘密鍵を使用してPFX証明書をエクスポートされませんので、それはポップ第二段階にパスワードを入力し、パスワードの入力を求めるプロンプトが表示さをパッケージ化する時にポップアップ表示されます。全体があなたの署名の犬をプルダウン、またはサインオフすることはできません。
操作が成功した後、exeファイルのうち、あなたのパッケージを右クリックしてプロパティで行われ、あなたは署名の成功を見ることができます:
マックOS:
1.生産証明書: