Я выпустил себе сертификат подписи кода с сервера сертификатов. Я также выдал себе корневой сертификат с того же сервера сертификатов. Корневой сертификат существует в хранилищах сертификатов текущего пользователя и локального компьютера в папке Trusted Root Certification Authorities. Я успешно подписал DLL с помощью мастера signtool.exe:
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool.exe" signwizard <MyDLLName>.dll
Однако, когда я пытаюсь проверить свою DLL, она не проходит проверку из-за следующей ошибки:
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool.exe" verify <MyDLLName>.dll
SignTool Error: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
SignTool Error: File not valid: <MyDLLName>.dll
Почему это происходит? Я думал, что наличие корневого сертификата в папке Trusted Root Certification Authorities позволит проверить DLL.