Pergunta

Recentemente, enfrentei um problema muito estranho. A compilação de nossos produtos inclui a assinatura dos drivers do modo de kernel e a adição de uma assinatura. Isso é feito usando uma chamada para o SignTool, incluída no DDK (agora WDK):

"%Ddkbase% 6001.18000 bin selfsign signool.exe" signo /t http://timestamp.globalsign.com/scripts/timstamp.dll/AC "Path-to-Countercert MSCV-Globalsign.Cer" /S SPC /N "ELDOS CORPORATION" %1

Tudo funcionou bem até recentemente, quando descobrimos que o contracertificado simplesmente não é adicionado ao motorista assinado. O SignTool não relata nenhum erro e omite silenciosamente o certificado. A assinatura em si e a cadeia de certificados principais são aplicadas corretamente e é apenas contracertificada que está faltando.

SignTool do WDK posterior (versão 7600.16385.0) funciona bem usando a mesma linha de comando.

Tentei registrar novamente o Capicom.dll, chegando com o SignTool em questão (reside na mesma pasta), mas isso não ajudou.

Não tenho certeza se podemos usar o SignTool de 7600.16385.0, porque tenho a sensação de que isso pode quebrar a compatibilidade com o Windows 2000.

Portanto, a questão é se alguém tem uma idéia do que pode ter dado errado?

Up: Bem, parece que o 7600 SignTool funciona bem (ou seja, os drivers assinados com essa versão funcionam bem no XP e no Windows 7), então seguiremos esse caminho por enquanto e substituiremos o SignTool por nossas próprias ferramentas caseiras no futuro para evitar essas surpresas.

Foi útil?

Solução

Não há problema em usar a versão 7600.16385.0 do SignTool. Ele ainda funcionará no Windows 2000. Quanto aos problemas com a versão 6001.18000, verifique se você possui vários certificados para sua empresa em seu armazenamento de certificados. O errado pode ser selecionado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top