InstallShield

03270 : InstallShield の複数署名(dual signing)への対応について

InstallShield では、1つのインストーラーに対して複数の署名を付与する dual signing に
対応していますか。

Windows Vista 以前の OS への対応で SHA-1 署名を付与する必要があるため、SHA-256 署名と
SHA-1 署名を同時にインストーラーに付与したいと考えています。


対象製品:InstallShield 2015 以降
対象プロジェクト:基本の MSI, InstallScript MSI, InstallScript, Express, スイート/アドバンスト UI


[概要]
InstallShield 2015 以降、SHA-256 署名に対応していますが、1つのインストーラーに対して
SHA-1/SHA-256 の署名を付与するデュアル署名への対応は、InstallShiled 2018 SP1 以降
となります。


■InstallShield 2018 SP1

証明書を選択する画面で、デュアル署名を選択することができます。リリースの設定の、[署名] タブ
にて以下の設定を行います。

1. [デジタル証明書情報]-[証明書の選択] 画面を表示します

2. 証明書を選択します
  [ファイルを使用(.pfx)] もしくは [証明書ストアを使用] のいずれかを選択し、SHA-2 証明書を選択
  します

3. [署名ダイジェスト] で [デュアル(SHA1 & SHA256)] を選択し、OK をクリックします

注)
ビルド後、デュアル署名は setup.exe のみに付与されます。MSI はデュアル署名に対応していないため、
[出力ファイルに署名する] で Windows Installer への署名を指定した場合、MSI は SHA-256 での
シングル署名となります。

また、setup.exe のみに署名を行った場合にも、ビルド時に以下のようなメッセージが記録
されますが、こちらは内部的に使用されるものとなりますので、無視して問題ありません。

-----------------------------------------------------------------------------------------------------------
Digital signature of certificate.msi using both (SHA1 and SHA256) digests are not supported
for this file type (certificate.msi). Hence, falling back to single signing with SHA256.
-----------------------------------------------------------------------------------------------------------


■InstallShield 2015/InstallShield 2016(SPあり、なし共に)、InstallShield 2018(SPなし)

デュアル署名に対応していないため、InstallShield を使用して署名を行う場合には、SHA-1 用と
SHA-256 用のリリースを別々に作成し、それぞれで SHA-1 と SHA-256 署名を行う必要があります。


参考:
 Microsoft 社から提供されている SignTool.exe など、dual-signing に対応している署名ツールを
 使用することで、1つのファイルに対して複数の署名を付与できる場合があります。

 他の署名ツールを使用する場合には、InstallShield では署名を付けずにインストーラーをビルドし、
 他のツール側で署名を実施してください。

 なお、SignTool.exe など他の署名ツールの使用方法については、各ベンダー様へお問い合わせください。
 また、InstallShield 以外の方法で署名を行う場合には、お客様の責任にて実施をお願いいたします

 SignTool

[備考]
デジタル署名の SHA-2 アルゴリズムへの対応に関しては、以下の記事をご参照ください。

03185 : デジタル署名 SHA-2 アルゴリズムへの対応について


複数署名、dual-sign
2016/03/28 17:21:39
2018/05/31 11:00:32