gpt4 book ai didi

security - 将我的桌面应用程序列入用户计算机的白名单

转载 作者:行者123 更新时间:2023-12-01 04:58:31 25 4
gpt4 key购买 nike

我有一个由InstallJammer构建的桌面应用程序。该应用程序不是问题,但是在用户计算机上安装了该应用程序后,该用户计算机上的防病毒软件将停止由我的应用程序创建的服务,因此它停止与服务器通信。我需要将其列入白名单,这样才不会将其视为对计算机的威胁,并且防病毒也不会阻止它。

到目前为止,我所知道的是


在该应用程序中添加“发布者”可能有助于将其视为无风险,因为此过程具有使用证书对我的应用程序进行身份验证的步骤。 (尽管我不知道这是否正确。我引用了this链接)
谷歌搜索,我发现了一些反病毒站点,要求我在那里注册我的应用程序。


我的问题:


添加“发布者”会达到我的目的吗?如果是,它将如何将我的申请列入白名单?
如果上述选项不起作用,是否需要将每种防病毒软件产品列入白名单?

最佳答案

在实现了我想要的一切之后回答。

tl; dr;

对于直接阅读答案的人:

我有一个Windows安装程序(使用InstallJammer构建),该安装程序在用户计算机上创建Windows服务,该服务经常被防病毒程序和防火墙列入黑名单。在浏览器中下载它也会显示一条消息,如下图所示。

enter image description here

为什么会这样:

发生这种情况是因为防病毒软件和防火墙无法识别您的代码(也就是说,它无法验证其是否来自可信赖的来源)。因此,它试图阻止下载或将服务(因为我指的是我的应用程序)列入服务的黑名单或不允许其通过网络进行通信。

解:

您需要通过代码签名证书(从此处开始将其称为CSC)来验证代码(即,对您的代码进行数字签名)。这些证书由证书颁发机构提供(从此以后称为CA)。

CA的示例包括:赛门铁克(我使用的一种,因为我们从该CA获得了针对Webapp的SSL证书),GlobalSign,DigiCert,Comodo等)

This page显示来自不同CA的CSC的定价列表。

获得证书的过程:

这是一个乏味的过程,因为它要遵守某些标准和规则。获得证书的过程通常需要几天的时间。例如,验证过程需要将许可证副本和一些水电费账单传真给证书颁发机构,以合理证明我的身份。他们还会验证电话号码,可能需要与代表通话。(我不太确定这个过程,因为这个过程是由我的美国客户完成的。)

获得CSC后:

您需要将证书另存为.p12文件,然后将其用于对代码进行签名。

签名方式:

Microsoft SDK包含一个工具(signtool.exe),可用于对您的代码进行签名(通常位于C:\ Program Files(x86)\ Windows Kits \ 8.0 \ bin \ x86,具体取决于安装的SDK版本,“ 8.0'在我们的机器中可能有所不同。

如果您是新手,或者在签署文件的过程中没有达到需要自动化的时间(与签名代码不符),或者要签署的文件很少(最多3或4个),或者要处理的文件很多签名并且是一个有足够时间的疯狂人,您可能想使用DigiCert提供的this优秀实用程序,该实用程序提供了一个非常好的UI(可能很讽刺)来签名,并检查您的文件是否实际签名。谢谢DigiCert的人。

如何检查文件是否签名:

当然,最简单的过程将是检查文件的属性是否包含用于数字签名的选项卡。其他方式是Microsoft具有可以检查您的代码是否经过数字签名的工具,可以通过简单的Google搜索来找到它。

我如何进行代码签名(自动化):

对于我构建的主要Windows可执行文件应用程序,它具有许多二进制文件和可执行文件。因此,我创建了一个批处理文件,该文件执行以下签名和构建任务。 (我使用过Microsoft的SignTool从命令行签名文件)


问我要为(开发,暂存或生产)构建什么环境。
将所有必需的(用于生成)文件复制到主文件夹中。
签名所有内部二进制文件和可执行文件。
从命令行本身执行InstallJammer构建(如前所述,我的应用程序是使用InstallJammer构建的)。它输出最终的Setup.exe文件。
然后,Setup.exe也被签名。


附言:
代码签名后,将软件列入白名单(由防病毒软件和防火墙进行身份验证或验证)的成功与否取决于证书的信誉。此信誉是通过启发式方式确定的,良好的信誉意味着您的应用程序被阻止的机会较小。

潜伏在那里的令人讨厌的人的提示
尝试购买时间最长的CSC订阅。这将帮助您避免证书过渡。

什么是证书展期?
当您的旧证书过期并且您开始使用新的替换证书对代码进行签名时,将发生证书翻转。相对于旧证书获得的所有声誉可能会受到阻碍,因此新证书获得良好声誉可能会有些滞后。

因此,对于CSC到期且希望避免发生事故的情况,您可能希望从一开始就使用时间戳对软件进行签名。谷歌搜索(使用时间戳签名)将使您聪明5英寸。

对于那些对我有帮助的人,博客和网站;可以在Didier Stevens's blog上找到更多详细信息。

MSDN blog上也可以找到有关此内容的详细说明以及所有Web开发人员的强大朋友Internet Explorer的智能筛选器。

关于security - 将我的桌面应用程序列入用户计算机的白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com