Prueba con / depurar. 1,2 Como en:
signtool sign /debug /f mypfxfile.pfx /p <password> (mydllexectuable).exe
Le ayudará a descubrir qué está pasando. Debería obtener una salida como esta:
The following certificates were considered:
Issued to: <issuer>
Issued by: <certificate authority> Class 2 Primary Intermediate Server CA
Expires: Sun Mar 01 14:18:23 2015
SHA1 hash: DD0000000000000000000000000000000000D93E
Issued to: <certificate authority> Certification Authority
Issued by: <certificate authority> Certification Authority
Expires: Wed Sep 17 12:46:36 2036
SHA1 hash: 3E0000000000000000000000000000000000000F
After EKU filter, 2 certs were left.
After expiry filter, 2 certs were left.
After Private Key filter, 0 certs were left.
SignTool Error: No certificates were found that met all the given criteria.
Puede ver qué filtro está causando que su certificado no funcione o si no se consideró ningún certificado.
Cambié los hashes y otra información, pero deberías entender la idea. Espero que esto ayude.
1 Nota: signtool
es particular sobre dónde /debug
se coloca la opción. Tiene que ir después de la sign
declaración.
2 También tenga en cuenta: la /debug
opción solo funciona con algunas versiones de signtool
. La versión WDK tiene la opción, mientras que la versión SDK de Windows no.
Signtool
está tratando de encontrar el certificado en el almacén de certificados raíz de confianza y no tiene certificados de firma de código allí.