San*_*ith 6 java javafx code-signing
我正在部署JavaFX应用程序,但我不太确定需要签署什么和不需要签名.这是我的想法:
- 安装文件: 显然需要签名.
- 启动应用程序的EXE: 我认为这需要签名,虽然感觉有点好笑,因为它不是我的代码.
- 我的JAR文件:我相信这些也需要签名,但我不确定如果不这样做会发生什么可怕的事情.
- 我从网上抓起的图书馆JAR:我不觉得我应该签署这些.有什么理由吗?
- Java运行时: 我猜我没有理由签署这个,如果我这样做,我可能会违反某些协议.
- JNLP文件: 不使用此,没理由触及此.
我看得出来了吗?我签署了正确的文件吗?
我的一个朋友有句话说“重要的不是你做了什么……而是你可以在法庭上证明什么。”
在这方面,我建议您从法律角度看待这个问题,并假设它可能适用的最坏情况;即,在有人篡改您的软件后,您要承担法律责任。
数字签名专为这些类型的问题而设计。
在这方面,让我们将您的答案分成 2 个不同的分类部分:
您发布的软件 - 包括您的 jars、jnlp、捆绑的 .exes 等。
其他人发布的软件。- 包括您为了让系统正常工作而使用的所有内容。(jre,库)
当使用这样的东西时,最好确保你使用的是你的库制造商发布的任何东西的正版副本。使用他们的校验和/签名/等。按需验证和验证其软件完整性。您必须阅读他们的责任和免责声明,以防他们自己提供。
一般来说,当涉及到您以外的软件来源时,尽可能少信任是一个好主意。不幸的是,有许多受到破坏或恶意的库实际上存在安全风险。
确保您发布的是由外部发行者认证的下载库始终是一个好主意,因此不对其中检测到的任何恶意代码负责。
要回答您的问题......这实际上取决于客户端端点以及您因向他们提供安全风险而被起诉的可能性(我建议您始终期望这是 100%)。如果您对损害负责……您需要相应地进行。
简而言之……对这个问题的最佳答案是,在最坏的情况发生时,尽一切可能保护自己。