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: signtooles particular sobre dónde /debugse coloca la opción. Tiene que ir después de la signdeclaración.
2 También tenga en cuenta: la /debugopció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.
Signtoolestá 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í.