電子メールアプリケーションのコード署名


私たちには現在の職場で電子プロジェクトがあり、このプロジェクトのチームリーダーとして、コードの署名を含む展開プロセス全体の責任があります.
私は他の開発者を助けるかもしれないので、この短い記事で私の経験を共有したい.

トークンを得る


あなたやあなたの会社が彼らのアプリケーションに署名したい場合は、まず署名証明書トークンを購入する必要があります.このビジネスの多くの企業があり、彼らは全体のプロセスを管理し、トークンを提供することができます.彼らは非常に異なる価格とサービスの品質を持っていますが、私は代わりにこの記事は広告ではないが、私はプロセスに関するいくつかの情報を共有することができますここで会社名を言及しないでください.
注文手順は非常に簡単ですが、配信は長くなります.私たちは注文の約1ヵ月後に待ちました、しかし、すべてはOKでした.トークンはシンプルなUSBペンドライブです.それは署名しなくても安全な場所に保管する必要はありません、そして、あなたは交換を求める必要があります、そして、これは1ヵ月かかることができます.

我々が使うことができるツール。


あなたは、その公式ウェブサイトからそれをダウンロードすることができます
Windows 32と64ビットバージョンとMacとLinux版もあります.しかし、私はWindows上でそれを試みたので、私は彼らが他のOSの下でどのように動作するかわからない.
  • Digicert証明書ユーティリティ-あなたは、公式ウェブサイトからそれをダウンロードすることができます:
  • https://knowledge.digicert.com/generalinformation/INFO1982.html
  • OpenSSL -これはPFXファイルを生成するためです.あなたがそれを持っていないならば、あなたはここからそれをダウンロードすることができます:https://www.digicert.com/kb/util/ssl-certificate-installation-using-digicert-utility-for-microsoft-servers.htm
  • いくつかのコンソール.PFXファイルを生成するのに十分なデフォルトのWindowsコマンドラインを使用できます.

    https://kb.firedaemon.com/support/solutions/articles/4000121705 コード署名プロセス

  • インストールSafenet認証クライアントツール
  • ダウンロード270779172 Digicert証明書ユーティリティ.これは1つのシングルです.exeファイルは、インストーラがないので.この例では、ドキュメントディレクトリにコピーしましたが、任意のディレクトリにコピーできます.
  • スタートメニューからSafenet認証クライアントツールを開き、スクリーンショットの手順に従ってください.







  • 「完了」ボタンをクリックし、証明書をインポートします.
    現在開いているDigicert証明書ユーティリティ(シングル. exeファイル- digicertutil . exe)は、あなたの文書ディレクトリにコピーされて、これらのステップに続きます.


    今、あなたは.CERTファイル.を作成するためにこのファイルを使用できます.電子メールを使用してアプリケーションに署名することができます.
    コンソールを開き、このコマンドを実行します.
    openssl pkcs12 -export -in TestLtd.cer -out TestLtd.pfx -nokeys -password pass:YOUR_TOKEN_PASSWORD
    
    テストCERはそうです.あなたがDigicert証明書ユーティリティによって輸出されるCERファイル
    テストPFXはPFXファイルの名前です.
    YourRound TokenRoundパスワードは、あなたの証明書会社が提供したパスワードです.

    電子アプリの設定変更


    以上です.この後、あなたはPFXファイルを持っています.今すぐあなたの電子アプリの設定に証明書を追加することができます.私があなたにちょうど例を与えることができるように、あなたの設定は非常に異なることができます.私の電子アプリの設定ファイルは以下のようなものです.
     win: {
              icon: "public/icons/icon.ico",
              target: "nsis",
              certificateSubjectName: 'TestLtd',
              publisherName: 'Test Ltd',
              signingHashAlgorithms: ['sha256'], //sha1 used by only Windows 7, here should be sha256, sha1 breaks win10 auto update, do not use it here without testing auto update!
              verifyUpdateCodeSignature: true,
              signAndEditExecutable: true,
              certificateFile: process.env.CERTIFICATE_PFX_FILE_PATH,
              certificatePassword: process.env.CERTIFICATE_PASSWORD
            },
    
    私はVue CLIプラグイン電子ビルダーを使用します.設定.しかし、設定やツールは異なります.
    私のプロジェクトでは、プロセス.環境変数パスとプロセス.環境変数証明書パスワードの変数から来ている.ENVファイルはもちろん、これらは決してgitにコミットする必要があります.
    マイプロセス.環境変数証明書には、この値があります.Enファイル
    CERTIFICATE_PFX_FILE_PATH = "C:\\Users\\janos\\Documents\\TestLtd.pfx"
    
    プロセス.環境変数パスワードの値はもちろん、スーパー秘密です.しかし、OpenSSLコマンドで使用したのと同じパスワードです.トークンプロバイダー会社はこれを提供しました.
    ハッピーコーディングと署名私はこの記事は、Windowsの下の電子アプリの署名プロセスの任意の問題に直面した場合に役立つことを願っています.