Signtool перестал добавлять контрподпись - что случилось? - PullRequest
1 голос
/ 21 ноября 2010

Я недавно столкнулся с очень странной проблемой. Компиляция наших продуктов включает в себя подпись драйверов режима ядра и добавление контрсигнатуры. Это делается с помощью вызова signtool, включенного в DDK (теперь WDK):

"% DDKBASE% \ 6001,18000 \ Bin \ подписать самому \ signtool.exe" знак / T http://timestamp.globalsign.com/scripts/timstamp.dll / акр "Путь к countercert \ MSCV-GlobalSign.cer" / s SPC / n "EldoS Corporation"% 1

Все работало нормально до недавнего времени, когда мы обнаружили, что контрсертификат просто не добавляется в подписанный драйвер. Signtool не сообщает об ошибках и молча опускает сертификат. Сама подпись и основная цепочка сертификатов применяются правильно, и это только контрсертификат, который отсутствует.

SignTool из более поздней версии WDK (версия 7600.16385.0) прекрасно работает с использованием той же командной строки.

Я попытался заново зарегистрировать capicom.dll, поставляя с соответствующим signtool (он находится в той же папке), но это не помогло.

Я не уверен, что мы можем использовать signtool из 7600.16385.0, потому что у меня есть ощущение, что это может нарушить совместимость, скажем, с Windows 2000.

Итак, вопрос в том, имеет ли кто-нибудь представление о том, что могло пойти не так?

Upd: Похоже, что signtool 7600 работает нормально (т.е. драйверы, подписанные с этой версией, работают нормально на XP и Windows 7), поэтому мы пока пойдем по этому пути и заменим signtool на наши собственные самодельные инструменты в будущем, чтобы избежать таких сюрпризов.

1 Ответ

1 голос
/ 21 ноября 2010

Можно использовать версию signtool 7600.16385.0. Это все еще будет работать на Windows 2000. Что касается проблем с версией 6001.18000, проверьте, есть ли у вас несколько сертификатов для вашей компании в вашем хранилище сертификатов. Может быть выбран неправильный.

...