对可执行文件进行数字签名有多重要?

2024-02-07

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

首先,我可以想到一些优点和缺点:

  • 优点:如果使用 Verisign 证书,Windows 错误报告 http://en.wikipedia.org/wiki/Windows_Error_Reporting可以使用
  • 优点:当 Windows Vista 和 Windows 7 显示其中一项烦人的内容时UAC https://en.wikipedia.org/wiki/User_Account_Control消息、签名的应用程序呈现得更好一些
  • 缺点:证书需要花钱。不多,但如果没用那就太多了
  • 缺点:签名有一些维护开销,我不知道有多少。

优点:如果使用 Verisign 证书,则可以使用 Windows 错误报告

实际上,要使用 Windows 错误报告,您需要 Verisign 或其他代码接受的签名证书,但您仅需要该证书来访问 WinQual 系统。 exe 本身根本不需要签名,错误报告在未签名的 exe 上也绝对可以正常工作。

缺点:签名有一些维护开销,我不知道有多少。很想从你这里...

维护开销很大程度上取决于构建管道的质量。如果您手动构建应用程序,那么是的,这意味着需要更多步骤。但是,如果您有构建管道并且构建是自动化的,则代码签名意味着在构建脚本中添加几行并存储代码签名证书的私钥,以便构建可以访问它(如果您有构建服务器,您的代码签名证书很可能需要存储在上面)。

优点:当 Vista/7 显示那些烦人的 UAC 消息之一时,签名的应用程序会显示得更好一些

至于 UAC 提示 - 您的应用程序真的需要提升权限或管理员权限才能运行吗?避免此提示的最佳方法是根本不需要任何提升的权限。

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

对可执行文件进行数字签名有多重要? 的相关文章

  • 如何保护 Java/Javafx 代码不被最终用户看到?

    我一个人在一家公司做一个项目已经两年多了 该项目是一个非常大的项目 使用 rxtx 与硬件设备进行通信 我使用 Java 8 和 JAVAFX 作为 UI 现在它几乎完成了 我开始搜索如何交付公司将分发给其客户的最终用户应用程序 问题是 我
  • 数字签名服务器上的私钥存储在哪里?

    我正在开发一个客户端服务器应用程序 需要在发送到客户端之前使用私钥对某些文件进行签名 然后 客户端将使用公钥验证签名 因此 私钥需要始终位于服务器上并且可由服务器应用程序读取 问题是我想知道在哪里存储我的私钥 这样在服务器受到威胁时更安全
  • 签署 mac 安装程序 (pkgmaker)

    我的安装程序是使用 PackageMaker 创建的 之后 我使用以下命令对安装程序进行了代码签名 产品签名 签名 Blah Inc 安装 mpkg CS 安装 mpkg 这似乎工作得很好 我可以看到它是使用以下命令签名的 pkgutil
  • 开发 iPhone 应用程序时,配置文件有何用途?

    配置配置文件的用途是什么 为什么在开发 iPhone 应用程序时需要它 如果我没有配置文件 会发生什么 引用自 iPhone 开发者计划 https developer apple com programs information Appl
  • 为什么 easy_install 适用于某些 Windows 二进制文件?

    背景 Windows 默认情况下不包含编译器 安装编译器 或许还需要配置 Python 来使用它 是一项足够复杂的任务 许多开发人员都避免这样做 为此 许多具有二进制依赖项的包可以作为包含二进制文件的预编译 Windows 可执行文件提供
  • “没有这样的文件或目录”但它存在

    我只想从命令行运行可执行文件 arm mingw32ce g 但随后我收到错误消息 bash arm mingw32ce g No such file or directory 我运行的是 Ubuntu Linux 10 10 ls l l
  • 如何让shell脚本在Mac中双击运行?

    我创建了一个 shell 脚本来在 Mac 中运行 jar 文件 bin sh java Xmx512m jar test jar 我已将此脚本重命名为 应用程序命令 双击就可以直接运行 我已经应用了 chmod x 命令使其具有可执行权限
  • 使用node.js crypto来验证签名

    我正在尝试使用 AWS lambda 来验证在 swift 中使用 sec256r1 创建的签名 消息 一些要签署的文本 也已使用 sha256 进行哈希处理 签名将采用 base64 格式 encoding MEYCIQCPfWhpzxM
  • 在哪里下载signcode.exe和其他工具

    如果您决定签署代码 您将需要 签名代码 exe 生成证书文件 cert2spc exe pvk2pfx exe 下载这些工具的最佳位置是哪里 有没有办法在不下载大量 Microsoft Windows SDK 的情况下执行此操作 从视窗软件
  • 需要使用 Python 加密库验证签名的帮助

    I m trying to verify a signature using the Python Cryptography library as stated here https cryptography io en latest ha
  • 代码签名:我应该签署哪些文件类型以及为什么?

    我有一个全新的代码签名证书 并且一直想知道我应该签署哪些文件 显然 应该对 setup msi 包和所有运行提升的 exe 进行签名 以避免出现 未知发布者 警告 但我应该对其他可执行文件进行签名吗 不需要提升的 exe dll 或 oxc
  • .NET 中的防篡改配置文件?

    我们提供带有关联配置文件的 NET 应用程序 我们的顾问在安装过程中创建配置文件 我们希望让客户端很难篡改配置文件 我们有哪些途径 目前 我正在考虑使用我们的私钥对配置文件进行签名 并在应用程序启动时根据公钥对其进行验证 然后我将公钥隐藏在
  • Windows Phone 8 上“无法安装公司应用程序”

    我为 Windows Phone 8 开发了一个公司应用程序 并完成了所有建议的步骤来设置它进行安装 我拥有 Symantec 代码签名证书 并且已生成应用程序注册令牌和签名的 XAP 并将其托管在 OneDrive 上的公共文件夹中 我使
  • 在应用程序中嵌入 C++ 编译器

    着色器不是很酷吗 您可以只输入一个纯字符串 只要它是有效的源 它就会编译 链接和执行 我想知道是否有一种方法可以将 GCC 嵌入到用户应用程序中 以便它 自给自足 例如具有编译与其自身兼容的本机二进制文件的内部功能 到目前为止 我一直在从应
  • 使用 Asp.net/C# 使用 USB 令牌对文本文件进行数字签名?

    我有一个 USB 令牌 Epass Capricorn 我的要求是使用它来签署文本 平面文件 PS 我相信我必须从代 码中获取 START SIGNATURE START CERTIFICATE 和 SIGNER VERSION 数据并附加
  • 如何在 hash-bang 可执行文件中引用本地 ruby​​?

    我有一个 Ruby 可执行文件 它是一个捆绑器 binstub 它以 usr bin env ruby 在我的服务器上 我通过 RVM 安装了 Ruby 193 which ruby gt home dtuite rvm rubies ru
  • 如何使用 iText 对 pdf 进行数字签名?

    如何使用 iText 签署 pdf 我正在经历这个LINK http itextpdf sourceforge net howtosign html但不了解 my private key pfx 我真的需要数字签名证书吗 请澄清我 提前致谢
  • Perl 是否有相当于 Python 的 `if __name__ == '__main__'` 的功能?

    有没有一种方法可以确定当前文件是否是 Perl 源中正在执行的文件 在 Python 中 我们使用以下结构来做到这一点 if name main This file is being executed raise NotImplemente
  • Authenticode 的替代时间戳服务

    我们为所有生产版本执行代码签名和时间戳 偶尔 通常是当我们即将 RTM Verisign 的时间戳服务器 http timestamp verisign com scripts timstamp dll http timestamp ver
  • 个人帐户开发者之间的 Apple 开发/分发证书

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

随机推荐

  • 在 Windows 中使用 SHARE 属性对文件进行内存映射(因此文件不会被锁定以防止删除)

    有没有什么方法可以将文件的内容映射到 Windows 中的内存中 而不会锁定文件 特别是 这样可以在仍进行 mmap 时删除文件 Java NIO 库在 Windows 中映射文件 这样当堆中留有任何非垃圾收集的 MappedByteBuf
  • 这是实体关系图还是类图

    嘿 基本上我对类图和 ERD 的区别感到困惑 我创建了一个我认为是 ERD 的东西 但我的室友似乎认为它是一个类图 它是什么 与已接受的答案相反 xmojmr 也注意到这是NOTUML 图 而是实体关系图 ERD 最明显的区别是连接器末端的
  • 基于参数化fixture的Pytest参数化

    我有一个类范围的参数化装置 它获取 3 个数据库的参数并返回每个数据库的连接 类中的测试使用此装置来测试每个数据库连接属性 现在我有一个带有数据库表测试的新类 我想使用上面的固定装置 但要在每个连接表上进行参数化 关于 pytest 实现这
  • 为什么 resize 是这样实现的?

    我有几个关于重建的问题HashMaps添加新的键值对时 我将根据这些事实提出问题 它们对于 Oracle JVM 来说是正确的 不确定它们对于其他 JVM 是否正确 调整重建大小HashMap每次当您将 HashMap 增长到大于阈值 阈值
  • ActiveRecord .... activerecord-mysql-适配器

    这让我发疯 我正在尝试使用 ActiveRecord 创建一个简单的初学者应用程序来执行简单的数据库任务 我没有使用导轨 我不断收到错误 RuntimeError Please install the mysql adapter gem i
  • 如何更改actionBar图标大小?

    The actionBar icon should like image https dl dropboxusercontent com u 16455237 ab1 png When the device resolution is 19
  • 在qt4中单击按钮时从另一个窗口生成一个窗口

    我使用 qt4 设计器创建了两个窗口 并希望将它们链接在一起 我将它们都放在一个文件夹中 并在目录外创建了一个文件 我将使用该文件导入它们 我可以同时打开两个窗口 但这不是我想要做的 我想这样做 当在一个窗口上按下按钮时 它会打开另一个窗口
  • 在 Java 中单击按钮时更改 jframe 上的图像

    我一直试图弄清楚为什么单击按钮后不在同一面板上显示下一张图片 我想将这些类分开而不是一个类 并使用 repaint 使用新图片重新调用 PaintComponent 请帮我 我快要死了 当我运行这个时 第一张图片显示得很好 当单击按钮将第一
  • pandas 滚动窗口意味着未来

    我想使用pandas DataFrame rolling https pandas pydata org pandas docs version 0 22 generated pandas DataFrame rolling html具有日
  • 如何在应用程序启动之前和运行时检查互联网连接?

    我找到了很多关于这个问题的答案 但也无法实现这些答案 我想在这里实现这段代码 但无法做到 这段代码是我在谷歌文档中找到的 ConnectivityManager cm ConnectivityManager context getSyste
  • mysql 的“BETWEEN”性能是多少?

    在 特别是 mysql 中查询以下内容时是否有更好的性能 SELECT FROM table WHERE unix date BETWEEN 1291736700 AND 1291737300 over SELECT FROM table
  • 表删除后重置 id 计数()

    出于测试目的 我在执行代码之前清除 删除 每个表 for table in reversed db metadata sorted tables engine execute table delete do stuff 然而 新数据的id值
  • android:如何以编程方式获取给定PID的内存使用量(ram)

    我想记录给定应用程序在给定时间速率下的内存使用情况 我编写了代码来获取已使用的完整内存值 但不知道如何获取给定 PID 的内存使用情况 请帮帮我 这是我用来获取内存的代码 ActivityManager localActivityManag
  • 在 LINQ 中展平列表

    我有一个返回的 LINQ 查询IEnumerable
  • NoSuchMethodError:谷歌常见 ImmutableSet.copyOf(..)

    我从 1 7 升级了我的 Google app Engine 应用程序 至 1 8 Java 7 和我将所有 API 库升级为最新 我在 GAE 容器中的应用程序初始化期间遇到奇怪的异常 构造函数抛出异常 嵌套异常是java lang No
  • 如何监听vscode的TreeDataProvider中的事件?

    我正在使用 TreeDataProvider API 构建 vscode 扩展 我有一个显示内容的列表 每个 TreeItem 都是一个组成的标签字符串 一切正常 我缺少的是一种对任何项目上的点击事件做出反应的方式 当您单击该项目时 VSC
  • 如何对 Entity-Bean @OneToMany 关系应用默认限制

    我有两个实体模型 客户和订单 每个顾客都可以拥有数千的订单 我在这两个实体之间有 OneToMany 和 ManyToOne 关系 如何将此关系的列表限制为仅前 10 个订单 是否可以将 WHERE 条件作为 OneToMany 的属性应用
  • 如何使父类的模板方法对子类可见?

    这是示例代码 include
  • 滑块无响应

    我下面有一些数据 我想创建数年和数月的滑块 我有一列包含年份和月份 另外 我是闪亮的新手 所以这对我来说很新鲜 这是我尝试过的 stack qn lt structure list Date c 2012 01 2012 02 2012 0
  • 对可执行文件进行数字签名有多重要?

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