証明書サーバーからコード署名証明書を発行しました。また、同じ証明書サーバーからルート証明書を発行しました。ルート証明書は、信頼されたルート証明機関フォルダー内の現在のユーザーとローカルコンピューターの両方の証明書ストアに存在します。signtool.exeウィザードを使用してDLLに正常に署名しました。
"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
なぜこうなった?信頼されたルート証明機関フォルダーにルート証明書があると、DLLが検証されると思いました。