コード証明書のSHA-2への移行確認
念のために現状でブラウザからダウンロードしたNVDA日本語版で問題が起きていないか調べました。
まず www.nvda.jp からダウンロードできるベータ版を 160128 に更新しました。
これを Windows 8.1 の IE11 でダウンロードして、そのまま実行しました。
結果として、問題なく起動して、上書きインストールが成功しました。
情報としては、Windows Vista, 2008 に対応する場合は SHA-1 アルゴリズムをまだ使う必要がある。 (おそらく本家 NVDA や既存の多くのソフトウェアが SHA-1 を落としていないのはそのため)
Windows 10 ではいずれ SHA-2(SHA-256 タイムスタンプ)が必要。 現在 Skype などは両方の証明書をつけている。 SHA-2 に移行するソフトウェアベンダーが出始めている。
もうすこし様子を見ます。
どうやら昨日得た情報で証明書の確認方法を誤解していました:
https://www.digicert.ne.jp/codesigning/howto/signed_chk.html
この手順で本家 2015.4 を見ると SHA2 と出てきます。 詳細タブによると:署名アルゴリズム sha256RSA
NVDA 日本語版 2016.1jp-beta-160129 では 発行者 COMODO RSA Code Signing CA になっていて、 これは SHA-2 であることを表しているとのこと。 詳細タブによると:署名アルゴリズム sha256RSA
問題なさそうなので、この件はいったんクローズします。
NV Access のコードサイニング証明書は現在 SHA-1 を使っています。 (最近の本家スナップショットの実行ファイルでは プロパティ「デジタル証明書」タブで「ダイジェストアルゴリズム」 sha1 になっています)
NVDA 日本語版で提供している Knowledge Creation のコードサイニング証明書も現在は SHA-1 です。
署名用ハッシュアルゴリズムとして SHA-1 は現在は非推奨になっていて、 最近の Internet Explorer や Edge では SHA-1 コード証明書で署名されたファイルをダウンロード、 実行したときに警告が出るようになったそうです。
マイクロソフト セキュリティ アドバイザリ 3123479 マイクロソフト ルート証明書プログラムでの SHA-1 ハッシュ アルゴリズムの廃止 https://technet.microsoft.com/ja-jp/library/security/3123479?f=255&MSPPError=-2147217396
証明書を SHA-2 にアップグレードするのは可能なのですが、 本家がまだ SHA-1 を使い続けている理由があるのか、 確認したいと思います。