我有一个Electron应用程序打包到一个asar文件中。但是,几乎到处都提到这种格式根本没有安全性。每个人都可以使用npx asar extract app.asar destfolder
解压缩它并访问源代码+资源文件(证书,图像,音频,所有内容)。
这意味着从技术上讲,人们可以随心所欲地篡改代码和资源文件,并使用不需要的代码创建虚假构建。
那么,检查应用程序是否被篡改的最佳实践是什么?另外,您认为我应该在哪里存储私钥和公共证书(我需要它们连接到我的nodejs服务器)。
谢谢:)
答案是代码签名。有关代码签名的定义,请查看维基百科 (https://en.wikipedia.org/wiki/Code_signing)。有关Electron中代码签名的文档,请查看此链接 https://www.electronjs.org/docs/latest/tutorial/code-signing。
第二,对于附加问题,私钥和谁的公共证书的目的是什么?为什么需要这些东西来连接nodejs服务器?
如果要保护应用程序和服务器之间的通信通道,请使用 HTTPS。
您可以通过本机模块保护它。
阅读本文以获取示例。