レガシー資産マニアのブログ

愛知県三河から、石川→新潟へととびまくってきたSEのブログ。長岡市を拠点に、もそもそ動いているプログラマー。 長岡の自称ジャニーズが合い言葉。そんな山P。 初めてPCを触ったのは小2にも関わらず、言語知識に乏しいので、 .NETの勉強会を通して、.NETの知識向上と、人脈を広げたい。 座右の銘は「死ぬ気でやってみろ。死なないから」

そういえば(SHA-1→SHA-2)

そういえば、以前かいた記事の顛末を書き忘れていました。

備忘録的に記載。

参考記事
84taka-y.hateblo.jp

こちらですが、その後進展がありまして。


まぁ、かなり情報が出てきているのですが、弊社では
SHA-1、SHA-2のダブル署名とすることにしました。

理由は、以下の通り。

Windows Vista/Windows Server 2008を切るわけにはいかない。
Vista/Server 2008は、特定KBを充てないと、SHA-2を認識しない。
(WindowsVista/Server2008ではKB2763674, Windows7ではKB3033929, Windows XPではKB968730を必須)
・SHA-2は対応する必要がある。

発生条件

以下の条件を全て満たす場合に発生します。

  1. OSがWindows7/Windows Server 2008 R2以降。
  2. Windows Update(KB3123479)がインストールされている。[2016年01月13日に配信開始]
  3. 電子署名SHA-1方式の電子署名を使い、2016年01月01日以降に電子署名を実施したファイルを、Internet Explorer 9, 10, 11のいずれかを使用して取得操作をする。

対処方法

ダブル署名にします。

ren This is a codesign.bat

rem **********************************************************
rem 使用するsigntool系は、SHA-256に対応したものにしてください。
rem **********************************************************

rem **************
rem sha-256(sha-2)
rem **************
set pvk_path=xxxxx\myprivatekey.pvk
set spc_path=xxxxx\mycredentials.spc
set pfx_path=%Temp%\mypfx.pfx
set pwd=hogehoge

rem **************
rem sha-1
rem **************
set pvk_path2=xxxxx\myprivatekey.pvk
set spc_path2=xxxxx\mycredentials.spc
set pfx_path2=%Temp%\mypfx.pfx

"%tool_dir%"\pvk2pfx.exe -pvk "%pvk_path2%" -spc "%spc_path2%" -pfx "%pfx_path2%" -pi %pwd%
"%tool_dir%"\signtool.exe sign /f "%pfx_path2%" /a /t http://timestamp.verisign.com/scripts/timstamp.dll /p %pwd% %1
del "%pfx_path2%"
"%tool_dir%"\pvk2pfx.exe -pvk "%pvk_path%" -spc "%spc_path%" -pfx "%pfx_path%" -pi %pwd%
"%tool_dir%"\signtool.exe sign /fd sha256 /f "%pfx_path%" /a /as /tr http://timestamp.geotrust.com/tsa /p %pwd% %1
del "%pfx_path%"