- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由InstallJammer构建的桌面应用程序。该应用程序不是问题,但是在用户计算机上安装了该应用程序后,该用户计算机上的防病毒软件将停止由我的应用程序创建的服务,因此它停止与服务器通信。我需要将其列入白名单,这样才不会将其视为对计算机的威胁,并且防病毒也不会阻止它。
到目前为止,我所知道的是
在该应用程序中添加“发布者”可能有助于将其视为无风险,因为此过程具有使用证书对我的应用程序进行身份验证的步骤。 (尽管我不知道这是否正确。我引用了this链接)
谷歌搜索,我发现了一些反病毒站点,要求我在那里注册我的应用程序。
我的问题:
添加“发布者”会达到我的目的吗?如果是,它将如何将我的申请列入白名单?
如果上述选项不起作用,是否需要将每种防病毒软件产品列入白名单?
最佳答案
在实现了我想要的一切之后回答。
tl; dr;
对于直接阅读答案的人:
我有一个Windows安装程序(使用InstallJammer构建),该安装程序在用户计算机上创建Windows服务,该服务经常被防病毒程序和防火墙列入黑名单。在浏览器中下载它也会显示一条消息,如下图所示。
为什么会这样:
发生这种情况是因为防病毒软件和防火墙无法识别您的代码(也就是说,它无法验证其是否来自可信赖的来源)。因此,它试图阻止下载或将服务(因为我指的是我的应用程序)列入服务的黑名单或不允许其通过网络进行通信。
解:
您需要通过代码签名证书(从此处开始将其称为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/
我们有一个 QuickBlox 的企业安装(它是 implements XMPP),并且想在我们的 QuickBlox 服务器安装上为我们的所有用户创建镜像帐户。我们还希望同步我们系统的用户使用在我们
我想将我的 nginx 代理服务器配置为仅允许某些 IP 访问它。 据我所知,这通常是在配置文件中完成的,带有允许和拒绝列表,但如果可能的话,我需要一个不同的选项,因为我的白名单非常大。我还需要将其链
我需要实现 XSS 防御,但遇到了麻烦。我读了这个备忘单 https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Pre
如何将逻辑应用的 IP 地址列入白名单。由逻辑应用程序调用的服务(使用 HTTP 操作),但该服务需要白名单才能调用。那么,如何将逻辑APP列入白名单。 我们可以使用Azure API管理进行白名单,
我正在为 Blackberry 10 应用程序使用 Phonegap 2.8.0。 我无法将 https 网址列入白名单。 其他 URL 正在用于白名单。 http 正常,但 https 总是显示
我有一个基于地理分布式云服务的 Azure 流量管理器。我需要锁定主要是 Web API 的云服务,以便只能访问特定范围或 IP 地址。有办法实现这一点吗?或者可能有一些方法可以限制云服务上的 IP
如何将逻辑应用的 IP 地址列入白名单。由逻辑应用程序调用的服务(使用 HTTP 操作),但该服务需要白名单才能调用。那么,如何将逻辑APP列入白名单。 我们可以使用Azure API管理进行白名单,
我有一个基于地理分布式云服务的 Azure 流量管理器。我需要锁定主要是 Web API 的云服务,以便只能访问特定范围或 IP 地址。有办法实现这一点吗?或者可能有一些方法可以限制云服务上的 IP
我正在为我正在开发的类(class)编写单元测试。另一位开发人员正在为他正在开发的方法的同一类开发其他测试。因此我们的测试发现它们位于同一个 JUnit 测试类中。 所以我想做的是建立一个测试套件来运
如何使用授予 root 权限的应用程序创建白名单?必须在没有任何提示的情况下拒绝其他应用程序。 我正在寻找现有的解决方案或一些有关如何编写具有此功能的应用程序的建议。 最佳答案 您应该结账Superu
有一个银行网站,除非我允许接受所有 cookie,否则我无法登录。我使用的是 Firefox 3.0,我已将其设置为不接受定义列表以外的 cookie(工具 - 选项 - 隐私 - Cookies -
我为我的服务用户提供了一个选项,仅允许从他们可以添加的特定 IP 地址访问他们的帐户。检查的工作原理如下: $conn = new mysqli($servername, $username, $pa
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
这听起来像是一个愚蠢的问题,但我一直无法理解 ATS 和白名单。 我使用 Facebook SDK,所以我按照文档中的说明对我的 .plist 进行了适当的更改,以将 Facebook 服务器列入白名
我正在 Android 上构建一个简单的 Tesseract 应用程序,它的目标是识别简单的命令,如 CALL、MESSAGE 等。因为命令数量少而且固定,所以想把它们加入白名单,这样程序就可以达到更
我目前正在为我们部门创建一些网络应用程序。 该部门是更大的 Intranet 的一部分,当然,它为更多部门提供服务。 我在从未使用过的 PC 上设置了 WAMP 环境,并开发了一些简单的应用程序以供该
所以我有一个包含密码和用户名的凭据对象 payload: Object credentials: Object password: "" username: "" 我想在 redu
所以我想限制对某个网址的访问。现在,如果他们来自给定的 IP 地址,则不应提示他们输入密码。如果他们不是来自给定的 IP 地址,那么系统应该提示他们输入密码。 所以一个或: AuthUserFile
我在网页中使用 Angular(8),并希望将多个 iframe 显示为 innerHTML。 默认情况下, Angular domsanitizer 会删除危险元素。我知道我可以使用 bypassS
我正在尝试将可以访问我的应用程序的 IP 列入白名单。我按照本教程创建了 http-balancer。 https://cloud.google.com/kubernetes-engine/docs/
我是一名优秀的程序员,十分优秀!