我正在尝试用我拥有的pfx文件签署Windows 8 appx包。我使用如下命令:

signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"

由此,我得到:

SignTool错误:没有找到符合所有给定标准的证书。

我没有达到什么“标准”?这仅用于测试,因此这些是自签名证书。我尝试过导入密钥,然后对其进行签名,但它总是导致相同的错误。我怎么解决这个问题?

由于以下错误消息,我们无法使用WebRequest连接到HTTPS服务器:

请求被中止:无法创建SSL/TLS安全通道。

我们知道服务器没有有效的HTTPS证书,但为了绕过这个问题,我们使用下面的代码,我们从另一个StackOverflow帖子:

private void Somewhere() {
    ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}

private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
   return true;
}

问题是服务器从未验证证书,并出现上述错误而失败。有人知道我该怎么做吗?


我应该提到的是,我和一个同事几周前进行了测试,它运行得很好,与我上面写的类似。我们发现的唯一“主要区别”是,我用的是Windows 7,而他用的是Windows XP。这会改变什么吗?

在Windows 7中,你可以进入程序兼容性设置并勾选“关闭”以始终以管理员身份运行。Windows 8中也有类似的选项吗?

我总是在我的电脑上禁用UAC,在我升级Windows 8之后也是如此,至少我是这么认为的。结果是没有关闭选项,只能关闭通知。

这意味着以管理员身份运行任何内容,尽管在管理员组中。当我尝试调试(附加到进程,而不是F5)时,我需要不断关闭和重新打开我的控制台\Visual Studio,这非常令人沮丧。

这真的很烦人,我需要记住以管理员身份打开它,或者在我第一次进行调试时告诉它关闭并重新打开。