SignTool 未使用 SHA256 签署 ClickOnce 应用程序,仅使用 SHA1

2023-11-25

我正在尝试签署我的 clickonce 应用程序。我有一个使用 SHA256 的 EV 代码签名证书。问题是,当我使用构建后命令签署我的应用程序时,它似乎使用 SHA1 而不是 SHA256。这是输出窗口的剪辑:

Running Code Analysis...
1>  Code Analysis Complete -- 0 error(s), 0 warning(s)
1>  The following certificate was selected:
1>      Issued to: Certificate Subject Name Here
1>  
1>      Issued by: DigiCert EV Code Signing CA (SHA2)
1>  
1>      Expires:   Thu Apr 14 06:00:00 2016
1>  
1>      SHA1 hash: HASH-HERE
1>  
1>  
1>  Done Adding Additional Store
1>  Successfully signed and timestamped: C:\Users\AnyBody\Documents\Visual Studio 2013\Projects\My Project\Project Folder\obj\x86\My Configuration\MyProgram.exe
1>  
1>  
1>  Number of files successfully Signed: 1
1>  
1>  Number of warnings: 0
1>  
1>  Number of errors: 0

这是我正在使用的构建后命令:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\signtool.exe" sign /fd SHA256 /t "http://timestamp.digicert.com" /n "Certificate Subject Name Here" /v "$(ProjectDir)obj\x86\$(ConfigurationName)\$(TargetFileName)"

当我查看文件的属性时,我可以看到 MyProgram.exe.deploy 附加了数字签名。

当我运行signtool /verify 时没有返回错误

当我尝试启动应用程序时,收到错误“应用程序验证未成功。无法继续”。

在错误信息的详细信息中,有这样一行:

+ File, MyProgram.exe, has a different computed hash than specified in manifest.

当我打开并查看清单时,MyProgram.exe 的哈希值被指定为 SHA256

可能是什么问题呢?是什么让signtool拒绝使用SHA256?根据我的阅读,它应该默认使用 SHA256。

我已经卸载/重新安装了 Visual Studio、Windows sdk、所有已安装的 .net 库,但均无济于事。

我真的希望有人有想法......


您在使用 WPF 应用程序时遇到此问题吗?如果是这样,在 AfterCompile 目标中签署可执行文件应该可以解决您的问题。这对我有用。

有关此问题的更多讨论可以在这里找到:

显然,当 Phil 使用 PostBuild 或 BeforePublish 命令,当用户安装它时,他会得到可怕的 “exe 的计算哈希值与清单中指定的不同” 错误。他发现使用 AfterCompile 可以解决问题。

http://robindotnet.wordpress.com/2013/04/14/windows-8-and-clickonce-the-definitive-answer-revisited/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SignTool 未使用 SHA256 签署 ClickOnce 应用程序,仅使用 SHA1 的相关文章

  • Python 的 pbkdf2_sha256.verify 的 NodeJS 实现

    我必须将此 Python 代码翻译为 NodeJS from passlib hash import pbkdf2 sha256 pbkdf2 sha256 verify 12345678 pbkdf2 sha256 2000 8R7jHO
  • 自定义clickonce下载屏幕

    众所周知 当我们双击 clickonce 安装的应用程序时 会弹出一个 clickonce 屏幕 显示 正在验证系统要求 然后 如果服务器中有更新的版本 则单击更新本地安装的版本 并启动应用程序 有什么方法可以定制整个过程 这并不意味着我想
  • 为什么 Visual Studio 中的 ClickOnce 不从依赖程序集中部署内容文件?

    我有一个通过单击一次部署的智能客户端应用程序 问题是我在依赖程序集中有内容文件 这些文件没有显示在 Visual Studio 中的已发布应用程序文件对话框中 这意味着每次部署时 我都必须将应用程序构建输出目录中的所有内容文件复制到已发布目
  • Java ME/J2ME 中的 SHA-256 哈希函数

    我已在诺基亚开发者论坛上发布了这个问题 请耐心等待 我正在编写一个应用程序 需要查找以唯一值键控的 URL 的 SHA 256 哈希值 即hmac sha256 27 3 9EWVFmHpHN6n2YKW9QtvUqX3xbsFQUBovl
  • ClickOnce 无法在 Internet Explorer 9 中运行

    My 单击一次 http en wikipedia org wiki ClickOnce部署曾经完美地工作 但它在 Internet Explorer 9 中停止工作 它只显示桌面应用程序XML 文件 它仍然有效谷歌浏览器 http en
  • Flutter - 获取 SHA-1 证书 - Android Studio 3.2.1

    我正在尝试检索我的 Flutter 项目的 SHA 1 指纹证书 这通常可以通过进入 Android Studio 右侧的 Gradle 面板并单击signingReport 然而问题是 在 Flutter 中 它根本不显示 Gradle
  • HMC SHA1 哈希 - Java 生成与 C# 不同的哈希输出

    这是后续this https stackoverflow com questions 7175067 hmc sha1 hash c sharp producing different hash output than ruby问题 但我正
  • 在 Java 和 C# 中计算 SHA-1 哈希值

    在 Java 和 C 中计算 SHA 1 哈希值 我正在尝试在 C 应用程序中复制 Java 应用程序的逻辑 其中一部分涉及生成密码的 SHA 1 哈希值 不幸的是我无法从 Java 和 C 获得相同的结果 C Output 64 0a b
  • C# 中的数字签名,无需使用 BouncyCastle

    不使用第 3 方 BouncyCastle 库 有没有办法读取自定义私钥并签署消息 sha256哈希 使用私钥加密 从技术上来说 是的 根据您拥有的密钥类型 答案会变得更加棘手 编辑 2019 年 10 月 NET Core 3 0 以 D
  • Java AES/CBC/PKCS5Padding 的 C# 加密/解密

    我在尝试解密已在 Java 中使用以下属性 Java 代码 加密的字符串时遇到问题 public static Builder getDefaultBuilder String key String salt byte iv return
  • 是否可以使用 Mono 运行 clickonce 应用程序?

    我正在开发 clickonce 应用程序 我可能想在 Mac 平台上分发该应用程序 我知道我可以使用 Mono 编译 Net 应用程序 并且它可以在 Mac 上运行 但是我可以使用 clickonce 作为安装程序吗 thanks 我认为
  • 有没有办法重命名已部署的 ClickOnce 应用程序?

    我的公司有一个 ClickOnce 应用程序 我们的客户已经使用该应用程序大约一年了 我们正在进行品牌重塑 并希望更改应用程序的名称 但是 仅更改 Visual Studio 中的所有正常名称选项 然后构建新的部署显然会更改现有应用程序正在
  • 以编程方式更新 ClickOnce 应用程序的部署清单会导致缺少 4.0 中所需的 <兼容框架> 元素

    我正在致力于自动化 NET 4 0 ClickOnce WPF 应用程序的安装程序 该应用程序需要在应用程序配置文件 我经历了寻找必须遵循的具体步骤的棘手过程Mage exe http msdn microsoft com en us li
  • 将 Python 中的 SHA 哈希计算转换为 C#

    有人可以帮我将以下两行 python 代码转换为 C 代码吗 hash hmac new secret data digestmod hashlib sha1 key hash hexdigest 8 如果您有兴趣 其余的看起来像这样 us
  • iOS 中特定字符串的 SHA1

    根据我的要求 输入字符串必须转换为字节值 string 的每个字符都是 16 位值 必须转换为低 8 位 然后在字节数组上计算 Sha1 生成的 SHA 1 将转换为 40 个字符的字符串 我知道如何将字符串转换为 SHA1 但其余部分对我
  • 用户无法安装单击一次应用程序

    我有一个相对简单的支持应用程序 我选择通过单击一次将其部署给我们的支持人员 我认为它仍然被称为 Click Once 我在 VS2008 中使用项目属性的发布选项卡 一些用户已成功点击该网址 下载并运行该应用程序 某一特定用户不能 他安装了
  • 是否存在可以保证哈希算法唯一的情况?

    如果我使用字节大小大于数据 例如 sha 256 的哈希算法对大小受限的类似数据 例如社会安全号码 进行哈希处理 哈希是否能保证与数据具有相同级别的唯一性 原始数据 哈希冲突的概率与输入字符串的大小无关 除非它指示需要多少个输入来保持唯一性
  • 散列密码的最佳实践 - SHA256 还是 SHA512?

    我目前正在使用 SHA256 和盐来哈希我的密码 继续使用 SHA256 更好还是应该更改为 SHA512 切换到 SHA512 几乎不会让您的网站更安全 您不应该编写自己的密码哈希函数 相反 使用现有的实现 SHA256 和 SHA512
  • 如何让 Google Apps 脚本进行 SHA-256 加密?

    我需要使用文本输入 1 轮 十六进制输出 SHA 256 加密来加密字符串 这应该是一个长度为 64 的字符串 我在 Google Apps 脚本文档中尝试过的每个 SHA 256 加密模块都会返回一组数字 例如 function SHA2
  • Visual Studio 2010 RTM 未通过 ClickOnce 发布

    有人在 VS2010 中使用 ClickOnce 吗 当解决方案构建良好时 我在发布时收到以下内容 Building WindowsFormsApplication1 Error Cannot publish because a proje

随机推荐

  • 使用 THREE.Frustum 计算近/远平面顶点

    我需要一些帮助来处理 THREE Frustum 对象 我的问题 我需要计算近 远平面顶点 我已经看过这些教程 http www lighthouse3d com tutorials view frustum culling view fr
  • 使用php在谷歌云存储桶中创建文件夹

    我对谷歌云存储非常陌生 我想使用 php 编码在存储桶中创建文件夹 我搜索了很多网站 在 1 上我看到它是这样写的 在存储桶内创建文件夹将创建一个以目录命名的占位符对象 没有数据内容和 mimetype application x dire
  • 如何在 Flutter WebView 中将数据发布到 URL

    我想将一些数据发布到 Flutter WebView 中的 URL 主体 那么 我该怎么做呢 webview flutter目前没有发送帖子请求的方法 不过 你可以试试我的flutter inappwebview插入 它支持POST请求 使
  • Vue.js - 在 v-for 中使用过滤器

    我有一个简单的 Vue 过滤器 它将数组的长度限制为 n 个元素 像这样使用它效果很好 array limitArray 2 现在我想在里面使用它v for循环 像这样 li li 但这会引发错误 如何在内部使用过滤器v for 编辑 可能
  • like 子句 JPQL 中的参数

    我正在尝试使用 like 子句编写 JPQL 查询 LIKE code 我想要 code 4 并找到 455 554 646 我无法通过 code value namedQuery setParameter this value 因为在另一
  • Android studio git 使用私钥

    A 有一个 git 仓库的地址 我还有一个 open ssh 格式的私钥 Android Studio中的git可以使用吗 我尝试搜索一些信息 但目前没有运气 感谢您提供任何有用的信息 Edit My steps 1 I put my pr
  • Bing图片搜索分页-无限滚动

    当你在Bing搜索引擎上搜索图片时 结果显示如下 http www bing com images search q stack overflow 请注意 您如何不断滚动并滚动 并且没有 正常 分页 我的问题是 他们是如何做到这一点的 我可
  • 核心转储文件名使用 core_pattern %e.%p.core 获取线程名称而不是可执行文件名称

    我最近开始使用 pthread setname np 在我的应用程序中设置一些线程名称 执行此操作后 如果指定线程之一内发生崩溃 则核心转储文件名将获取线程名称 而不是 core pattern e p core 的可执行文件名称 根据核心
  • localStorage - 清除()或removeItem()?

    我应该使用clear 抹去一切localStorage 或者我应该手动removeItem 我在该特定网站上设置的那些 很容易跟踪 我这么问是因为我不想最终消灭用户localStorage如果他们设置了其他值 我正在本地主机中测试这个并注意
  • 检测编码并将所有内容设为 UTF-8

    我从各种 RSS 源中读出大量文本并将它们插入到我的数据库中 当然 提要中使用了几种不同的字符编码 例如UTF 8 和 ISO 8859 1 不幸的是 文本编码有时会出现问题 例子 Fu ball 中的 在我的数据库中应如下所示 如果是 则
  • 将 fseek 与指向 stdin 的文件指针结合使用

    根据命令行参数 我设置一个文件指针指向指定文件或标准输入 用于管道传输 然后 我将此指针传递给许多不同的函数以从文件中读取 这是获取文件指针的函数 FILE getFile int argc char argv FILE myFile NU
  • 如何使用Chef设置环境变量?

    有一个与此类似的问题 但无法使其正常工作 我想简单地设置一个环境变量 然后使用它 execute start zookeeper do cwd opt zookeeper 3 4 5 bin command zkServer sh star
  • 如何在 Bootstrap Validation 中创建自定义验证

    我的目标是验证特定的文本字段 其中该字段依赖于其他元素的值 例如 我有一个选择字段和一个输入文本字段 仅当选择标签具有选定值时才需要输入文本 希望有人能帮忙 看一眼 http bootstrapvalidator com 在我们的项目中 我
  • ValueError:错误的项目数量超过 500,放置意味着 1,Python 和 Pandas

    我只从 xlsx 文件导入两列 我想计算一些东西 平均值 偏差 百分比变化 然后我想绘制所有这些 第一部分不会给我带来任何问题 但绘图却会给我带来任何问题 我的代码如下所示 import matplotlib pyplot as plt i
  • 使用连续变量的决策树[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个关于使用连续变量的决策树的问题 我听说当输出变量是连续的并且输入变量是分类的时 分割标准是减少方差什么的 但我不知道如果输入变量是连续的它是如何工作的 输入变量 连续 输出变
  • 浮动小于 FLT_MIN。为什么是FLT_TRUE_MIN?

    在尝试了解浮点下溢情况下会发生什么时 我发现我可以使浮点数比 FLT MIN 小得多 我在 OS 10 9 上使用 xcode 5 1 语言方言是 gnu99 include
  • 基于权限的 WebApi 端点的上下文序列化

    我正在使用 Asp Net Web Api 我希望能够根据连接的客户端访问权限过滤掉响应对象上的某些字段 Example class Foo AccessFilter Uberlord string Wibble get set strin
  • Spring MVC - 在 JSP 视图中没有获取价值[重复]

    这个问题在这里已经有答案了 首先 我是 Spring MVC 领域的新手 我制作了一个简单的程序 其中 Spring MVC 将处理 GET 请求并设置一个名为 message 的变量 该变量应在 JSP 中显示设置值 但未按预期执行 代码
  • 如何使用 RAND(seed) 对 MySQL 中的行进行采样?

    我需要使用 MySQL 从表中获取可重复的随机行集 我使用 MySQL RAND 函数实现了这一点 并使用行的 bigint 主键作为种子 有趣的是 这产生的数字看起来根本不是随机的 谁能告诉我这里发生了什么以及如何让它正常工作 selec
  • SignTool 未使用 SHA256 签署 ClickOnce 应用程序,仅使用 SHA1

    我正在尝试签署我的 clickonce 应用程序 我有一个使用 SHA256 的 EV 代码签名证书 问题是 当我使用构建后命令签署我的应用程序时 它似乎使用 SHA1 而不是 SHA256 这是输出窗口的剪辑 Running Code A