コードサイニングの複数署名とハッシュアルゴリズムの異なる証明書の無償発行
-SHA-1署名のみのためインターネットからダウンロードする際に警告されていたりSHA-2署名のみのため旧バージョンのOSで問題が起こっているソフトウェアの作者へ-

SHA-1署名にのみ対応しSHA-2署名に対応しないWindowsと、SHA-2署名に対応するWindowsの両方に有効な署名の方法として複数署名(multiple signatures)という技術がある。.NET Framework 4.5以降のsigntoolで複数署名が可能である。使用する証明書が違うので2回に分けて署名する。 Portable Executable (PE)ファイル(.exe, .sys等)とキャビネットファイル(.cab, .msu等)に複数署名が可能である。Windows Script (.vbs等)は複数署名不可である。
Microsoft Authenticode - Signing Instructions with Two Signature (SHA1 & SHA256) Algorithm

CAがハッシュアルゴリズムの異なる証明書の無償発行をしていることがある。シマンテック・ウェブサイトセキュリティよりSHA-1証明書を一個購入した後、そのサービスを利用してSHA-2証明書を追加費用無しに入手することができた。SHA-2証明書を購入しSHA-1証明書を追加で入手ということもおそらく可能である。
カーネル モードのバイナリ ファイルに署名する方法について より引用

SHA-1版のコードサイニング証明書for Microsoft Authenticodeの取得(再発行)は無償で可能です。

SO22910 - コードサイニング証明書 User Portalから「再発行」申請の方法

追加で入手した証明書はカーネルモードドライバーの署名に限らず一般のアプリケーションの複数署名に使える。

初稿 2016年3月28日

もどる