Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signtool:自Windows 10 Update 1803以来:未找到满足所有给定条件的证书_Signtool - Fatal编程技术网

Signtool:自Windows 10 Update 1803以来:未找到满足所有给定条件的证书

Signtool:自Windows 10 Update 1803以来:未找到满足所有给定条件的证书,signtool,Signtool,我正在使用signtool对我的c#程序集进行签名。在Windows101803更新之前,一切正常。现在,只要重新启动计算机,甚至在挂起计算机之后,我就会得到一个错误:没有找到满足所有给定条件的证书 如果我再次导入证书,在下次重新启动之前一切正常 我尝试将证书导入到Windows证书存储的不同文件夹中,我为当前用户或计算机导入了证书,在重新导入之前删除了所有文件夹中的证书。。。但问题总是一样的 任何提示都很好 这里有一个提示。使用/debug选项运行signtool。当我从命令提示符手动运行它时

我正在使用signtool对我的c#程序集进行签名。在Windows101803更新之前,一切正常。现在,只要重新启动计算机,甚至在挂起计算机之后,我就会得到一个错误:没有找到满足所有给定条件的证书

如果我再次导入证书,在下次重新启动之前一切正常

我尝试将证书导入到Windows证书存储的不同文件夹中,我为当前用户或计算机导入了证书,在重新导入之前删除了所有文件夹中的证书。。。但问题总是一样的


任何提示都很好

这里有一个提示。使用
/debug
选项运行
signtool
。当我从命令提示符手动运行它时,如果我没有以管理员身份运行命令提示符,则会出现相同的错误(未找到证书)。使用
/debug
选项,您将看到它匹配的所有证书,以及它如何筛选以选择要签名的证书。我的证书在最后一步(私钥过滤器)被删除。如果您是这样,请尝试使用提升的权限运行,看看是否有效


在我的例子中,由于某种原因,运行生成的VSTS生成代理Windows服务在1803更新之后没有运行,我已经手动启动了代理。这就是为什么我会犯这个错误。一旦我意识到该服务已关闭,并将其作为一项服务启动,错误就消失了。

我不得不使用cert manager MMC将生成服务器的计算机帐户授予证书私钥的权限。

1803更新后,我的生成服务器上也出现了类似问题。它的开始和您的类似,出现了“未找到任何证书…”错误。当我开始调查时,问题突然消失了(我没有做任何可以解决它的事情)。但现在,signtool偶尔会失败。我们的一个构建有大约30多个DLL,每个DLL都经过签名,并且signtool在随机组件上出现“内部错误”时失败。仍然在寻找解决方案。@pvenky-只是一个想法-如果您并行构建,这可能会导致问题。我把我所有的TFS构建转换为非并行构建,这解决了我所有的随机构建问题。我不是并行构建,我仍然看到零星的失败。它总是会失败,并显示以下消息:
EXEC:error information:“error:SignerSign()failed。”(-1073700864/0xc000a000)
但每次都会在不同的项目上失败。实际上,我回到我的问题上来,因为这个问题在周末突然消失了。即使没有安装任何更新。但是我会记住这个/debug选项!