代码签名时是否/如何避免 SHA-1 签名时间戳?

2024-02-24

我们刚刚从 SHA-1 切换到 SHA-2 代码签名证书。 (作为背景信息,我们使用 COMODO 代码签名证书,使用signtool.exe 在 Windows 上对 .exe 和 .xap 文件进行签名。)我们使用经过认证的时间戳来执行此操作,以确保 Windows 在代码签名证书之后继续信任代码签名过期。

现在我注意到了时间戳证书仍然是 SHA-1 证书,当使用http://timestamp.comodoca.com/authenticode http://timestamp.comodoca.com/authenticode。 (详细信息:它是 df946a5...,主题为“CN=COMODO 时间戳签名者,O=COMODO CA Limited,L=索尔福德,S=大曼彻斯特,C=GB”。)

(在 Windows 上,可以通过签名的 .exe 来查看该证书,然后在其“资源管理器属性”对话框中转到“数字签名”选项卡,选择签名并单击“详细信息”,然后在“数字签名详细信息”对话框中单击反签名并单击“详细信息”,然后在第二个“数字签名详细信息”对话框中单击“查看证书”。如果“签名哈希算法”为“sha1”,则该证书是 SHA-1 证书。)

这会是一个问题吗?换句话说,在我们当前的代码签名证书过期之后,并且在 Microsoft Windows 将 SHA-1 视为损坏的算法之后(最晚是 2020 年),我们当前的签名是否仍然可信?或者 Windows 会说“时间戳在代码签名证书的有效范围内,但时间戳是用 SHA-1 证书签名的,所以我不会信任时间戳,因此我不会信任这个签名”?

我们可以/应该使用其他服务吗? (不是威瑞信的http://timestamp.verisign.com/scripts/timstamp.dll http://timestamp.verisign.com/scripts/timstamp.dll,因为他们仍然使用 SHA-1 时间戳证书,即。 6543992...)


自2017年1月1日起 http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx,您不能再在 Windows 7 及更高版本上使用 SHA-1(如果时间戳在 2016 年 1 月 1 日之后)。

本文 https://support.globalsign.com/customer/portal/articles/1698751-ev-code-signing-for-windows-7-and-8描述如何使用时间戳 URL 获取 SHA-256 时间戳证书http://timestamp.globalsign.com/?signature=sha2 http://timestamp.globalsign.com/?signature=sha2。作为替代方案,请参阅这个时间戳服务器列表 https://gist.github.com/fd754e402d98430243455713efada710您也可以使用它。

The signtool https://msdn.microsoft.com/en-us/library/8s9b9yaz(v=vs.110).aspx /td标志也很重要(并且记录很少)。

签名是这样的:

signtool sign /fd SHA256 /tr http://timestamp.globalsign.com/?signature=sha2 /td SHA256 /a filename.exe

生成带有代码签名证书和时间戳证书(采用 SHA-256 签名哈希算法)的可执行文件。

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

代码签名时是否/如何避免 SHA-1 签名时间戳? 的相关文章

  • Mac 应用商店帮助工具 沙箱

    我的应用程序由两个可执行文件组成 主应用程序可执行文件 用于处理一些文件的小型控制台应用程序 此可执行文件位于资源文件夹中 不需要 root 权限 问题是我不知道如何将此应用程序提交到应用程序商店 我收到苹果的以下回复 签名无效 路径 ap
  • 钥匙串中的 macOS 安装程序证书评估错误:扩展密钥用法无效

    我生成了一个用于代码签名的 mac 安装程序证书 但收到一个错误 该错误阻止我使用证书对安装程序进行签名 在评估钥匙串访问中的证书时 出现错误 无效的扩展密钥用法 以下是尝试评估安装程序证书以进行代码签名时出现的错误序列 我发现使用 Xco
  • 对可执行文件进行数字签名有多重要?

    我们生产内容管理系统 它是一个基于数据库的系统 仅供企业和组织使用 并且不能从互联网上下载 也就是说 它不是那种人们可能会偶然发现并想知道它是什么以及运行是否安全的软件 我们的系统销售了 20 多年 其可执行文件从未经过数字签名 我们是时候
  • 重新签署包含框架的 IPA

    我正在重新签名 iOS 应用程序 使用 iResign 以便将其上传到 App Store 作为其中的一部分 我正在更改捆绑包 ID 我只有 IPA 没有源代码 该应用程序包含第三方框架 辞职似乎进展顺利 但是当我使用应用程序加载器上传时
  • 为 Flutter/React-Native/Android-Native 应用程序生成 SHA-1

    我正在尝试为 Flutter 应用程序生成 SHA 1 以便 Android studio 支持 Google Sign in 但我不知道该怎么做 我看到一些帖子表明要运行命令 但我需要我猜是一个 jks 文件 而 flutter 不会创建
  • Android 风格签名未按预期工作

    我需要使用特定的签名配置来签署产品风格 我在 stackoverflow 上找到了一些参考资料 例如this https stackoverflow com questions 30898611 gradle signing flavors
  • 适用于 64 位 Windows 的 Thawte 驱动程序签名

    如果这个问题偏离主题 请推荐另一个 StackExchange 网站来发布此问题 我公司最近从 Thawte 购买了 G2 代码签名证书 我已经完成了签署 64 位驱动程序所需的所有步骤 因此可以在 Windows 7 64 位下安装它 也
  • Jenkins下的SignTool找不到与USB Token匹配的证书

    我想构建 WPF 应用程序并对其进行代码签名 并使用 Jenkins 使用 ClickOnce 进行部署 我的设置是 Jenkins 最新版本 运行管理员 USB 令牌上的证书 在 SafeNet 客户端中激活单点登录 https xrst
  • 表单身份验证哈希是否依赖于机器?

    我计划在我的 Asp net 应用程序中使用这段代码 string strUserInputtedHashedPassword FormsAuthentication HashPasswordForStoringInConfigFile t
  • Mac OS Gatekeeper 阻止签名命令行工具

    我在 Xcode 中有一个 命令行工具 目标 不是应用程序包 它被 Gatekeeper 阻止 我多年来一直使用这个工具作为我的 PostCheck 地址簿插件的简单安装程序 2012 年 我用我的 Apple 开发者 ID 签署了该工具
  • Python 中的 HMAC SHA1 摘要

    我正在使用移动API https dev moves app com获取一些健身数据 我不想定期查询 API 而是使用故事情节通知 https dev moves app com docs api notifications 它有效 我收到
  • 我的 Rails 和 Cocoa 应用程序之间的 SHA1 哈希值不匹配

    我有一个 Cocoa 应用程序将一些数据以及该数据的 SHA1 哈希值发送到 Rails 应用程序 该应用程序验证数据和哈希值是否匹配 但它们不匹配 可以肯定的是 我已经记录了在 Rails 和 Cocoa 端散列到控制台的数据的十六进制版
  • Codesign 返回未知错误 -1=ffffffffffffffff

    我尝试对 iOS 应用程序进行代码签名 这些是我遵循的步骤 security create keychain p password KEYCHAIN security set keychain settings u t 300 KEYCHA
  • 如何使用强名称对 .NET 程序集 DLL 文件进行签名? [复制]

    这个问题在这里已经有答案了 我有一个名称不强的程序集 我没有它的源代码 我现在需要它签名 有没有办法做到这一点 如果原始程序集被标记为延迟签名 则可以使用 sn exe 工具 如果原始程序集没有如此标记 则可以使用 ildasm exe 反
  • Flutter - 获取 SHA-1 证书 - Android Studio 3.2.1

    我正在尝试检索我的 Flutter 项目的 SHA 1 指纹证书 这通常可以通过进入 Android Studio 右侧的 Gradle 面板并单击signingReport 然而问题是 在 Flutter 中 它根本不显示 Gradle
  • 将 sha2/sha3 截断为 16 字节是否比使用本身给出 16 字节的 crc32 更糟糕? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我在 CBC 模式下使用 AES128 并且需要一个 16 字节密钥 所以我想知道使用 sha2 或 sha3 然后将其截断为 16 字节
  • Windows Phone 8 上“无法安装公司应用程序”

    我为 Windows Phone 8 开发了一个公司应用程序 并完成了所有建议的步骤来设置它进行安装 我拥有 Symantec 代码签名证书 并且已生成应用程序注册令牌和签名的 XAP 并将其托管在 OneDrive 上的公共文件夹中 我使
  • XCode:如何在上传前验证 IPA 是否有效?

    我在创建 IPA 文件时遇到问题 TestFlight 向我展示了这个原因 http help testflightapp com customer portal articles 402843 mismatched keychain ac
  • 将 Python 中的 SHA 哈希计算转换为 C#

    有人可以帮我将以下两行 python 代码转换为 C 代码吗 hash hmac new secret data digestmod hashlib sha1 key hash hexdigest 8 如果您有兴趣 其余的看起来像这样 us
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一

随机推荐

  • JDK8与Windows XP兼容吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我发现可以在 Windows XP 上安装 JDK8 为了避免安装错误 我们必须更改jdk 8u11 windows i586 exe使用
  • 仅获取存储桶的顶级对象

    我的问题与此类似如何使用node js获取谷歌云存储文件夹中的文件列表 https stackoverflow com questions 49684942 how to get a list of files in a google cl
  • C++ 中使用 #include 和 #include 的区别

    使用有什么区别 include
  • PopOver 自动调整位置

    我遇到了 PopOver 的问题 我希望它能够在所有位置自动调整 如果右侧找不到空间 则会从左侧打开 但我希望它对顶部 底部做同样的事情 即 如果顶部找不到空间 则应在底部打开 反之亦然 难道我就没有什么办法可以为各方做到这一点吗 data
  • 错误:尝试解析模块 @apollo/client React Native 时

    安装新版本的 apollo 客户端后出现此错误 我尝试了其他版本并降级但没有任何结果 我还尝试在 Metro config js 中指定解析 cjs 类型的文件 apollo client main cjs 但什么也没有 Error err
  • 具有 PCLMULQDQ 的快速 CRC *未反映*

    我正在尝试写一个PCLMULQDQ 优化的 CRC 32 https www intel com content dam www public us en documents white papers fast crc computatio
  • 在 UserDetailsS​​ervice 中使用 @Cacheable 时编码密码为空

    在授权期间遇到缓存问题 我无法弄清楚 因此 在授权期间 每次不向数据库发出请求时 我都想缓存该方法 在第一次请求时缓存为空 一切都很好 直到缓存在一段时间后被删除 但是当缓存存在时 我得到 401 因为 o s s c bcrypt BCr
  • 增加 ServicePointManager.DefaultConnectionLimit 的缺点

    我正在多线程环境中调用网络服务 我的很多调用由于操作超时或错误请求而失败 但如果我以线性方式执行 则没有一个调用会失败 这意味着使用多个线程调用 Web 服务存在问题 经过大量分析 我发现并发连接的限制导致了这些异常 因此我通过添加以下代码
  • 双重否定-(-n)的原因是什么?

    我正在查看一些遗留代码 我看到了类似的东西 char n 65 char str 1024 sprintf str d n 为什么作者 不再在场 写了 n 而不仅仅是n 不会 n够了吗 首先要注意的是 n实际上减少 n加 1 并计算出新值
  • 尝试导入张量流时出现非法硬件指令

    我刚刚使用以下说明安装了tensorflowvirtualenv方法 安装过程很顺利 所以我认为没有任何问题 安装后 我继续尝试导入它以验证一切正常 我收到以下消息 1 4492 illegal hardware instruction c
  • html 中指定的图像宽度单位是什么?

    我对 html 语言完全陌生 在html中附加的图像中 我们需要通过以下标记指定图像的宽度 img width 350 src var tmp jpg 那么这里的宽度单位是什么 我猜它是以像素为单位的 如果以像素为单位 是否意味着图像的大小
  • 从 xcode 命令行生成 ipa

    从命令行生成 IPA 文件的最佳方法是什么 我使用的是 xcode 4 2 并使用以下命令生成存档 xcodebuild scheme AppStore clean archive 协同设计后 这会在构建输出目录中生成 dSYM 和 app
  • XAML 中的字符串格式

    我正在尝试格式化我的string每 3 个位置有一个逗号 如果不是整数则有一个小数 我检查了大约 20 个例子 这是我得到的最接近的例子
  • 如何在 iTunes 上获取我的应用程序统计信息?

    我最近发布了一款 iPhone 应用程序 但我没有看到任何方法可以像在 Google Play 中一样检查应用程序统计信息 您能告诉我该怎么做吗 你可以从iTunes连接 https itunesconnect apple com 登录您的
  • Java 贪吃蛇游戏避免使用 Thread.sleep

    我用 Java 制作了我的第一个游戏 贪吃蛇 它的主循环看起来像这样 while true long start System nanoTime model eUpdate if model hasElapsedCycle model up
  • 通过代码使卸载注册表项成为有条件的

    如何禁用 Inno SetupCreateUninstallRegKey http www jrsoftware org ishelp index php topic setup createuninstallregkey通过代码 My 安
  • 在每个“X”React 组件之后插入一个元素

    我有一个 React 组件 它使用 Bootstrap 将项目列表呈现为三列col col md 4风格 但是 我需要插入一个clearfix div http getbootstrap com css grid responsive re
  • git 无法执行任何任务

    我在 Windows 7 上使用 Git 我是从那里下载的http git scm com download http git scm com download 无论我重新安装 Git 并尝试执行某些操作 甚至克隆都不起作用 多少次 它都无
  • ant sql insert 语句在“--”字符串上失败。解决方法?

    Context 我们正在更改安装脚本以使用 ant 的 sql 任务和 jdbc 而不是专有的 sql 客户端 sqlplus oracle 和 osql msft 更新 添加了更多上下文 我们的 基础数据 种子数据 由一组 sql 文件组
  • 代码签名时是否/如何避免 SHA-1 签名时间戳?

    我们刚刚从 SHA 1 切换到 SHA 2 代码签名证书 作为背景信息 我们使用 COMODO 代码签名证书 使用signtool exe 在 Windows 上对 exe 和 xap 文件进行签名 我们使用经过认证的时间戳来执行此操作 以