java - 签名属性: Fx Build Configuration

标签 java javafx-2 keystore jar-signing

Eclipse EE 3.7 中,我安装了 JavaFX SDK 并创建了一个 JavaFX 项目。当我打开 build.fxbuild 文件并选择 Build Properties 选项卡时,会出现一个标题为 Signing Properties 的部分。它要求提供以下信息,

  • keystore
  • 存储密码
  • 别名
  • key 密码

对于Keystore字段,它提供了浏览文件系统和工作区的选项,但我不知道在哪里可以找到 keystore 。有人可以帮我弄清楚如何通过 Fx 构建配置文件进行信息签名吗?

最佳答案

对于许多应用程序(例如独立应用程序)来说,根本不需要代码签名 - 它可能会带来复杂性,并可能降低性能和用户体验。仅需要资源的 WebStart 和浏览器嵌入式应用程序需要代码签名 outside of the Java sandbox 。如果您确定确实需要签署您的申请,请继续阅读。

以下是 create your own keystore for signing 的步骤使用java keytool 。出于测试目的,您可以生成自己的自签名证书。对于部署到公众并最大限度地减少安全警告的实际应用程序,最好 purchase a code signing certificate

创建用于代码签名的 keystore 的示例命令行是:

keytool -genkey -alias signFiles -keystore examplestore

系统将提示您输入 key 和 keystore 的密码。

JavaFX deployment packaging documentation提供有关如何通过标准 JavaFX SDK 对应用程序进行签名的信息。您可以按照该描述进行操作,并使用 JavaFX ant 任务等对您的 jar 进行签名。

但是,Eclipse 似乎有一些用于进行签名的内置功能。如果您想利用这一点,请按照上面的说明创建您的 keystore 。拥有适当的 keystore 后,将创建 keystore 时使用的值输入到 Eclipse IDE 的相应字段中以执行签名。

将字段与我之前提供的 keystore 生成示例命令行相匹配。

Keystore - file location of the keystore containing your signing key: examplestore
Store-Password - password you assigned to access the keystore
Alias - friendly name to refer to the key: signFiles
Key-Password - password you assigned to access the key in the keystore
<小时/>

尽管 Java JDK 安装目录中提供了默认 keystore ,但这通常不是与您自己的签名 key 和证书关联的相同 keystore 。 JDK 提供的 keystore 主要用于存储用于验证 SSL 连接的证书颁发机构的证书。由于给定 jdk 供应商生成的 java keystore 遵循一种通用格式,因此您还可以使用它来存储签名 key 和证书。但是,我不建议这样做,而是建议创建和使用您自己的 keystore 。通常,您希望将包含代码签名 key 的 keystore 与其他信息分开,进行备份并且非常安全。

关于java - 签名属性: Fx Build Configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383992/

相关文章:

java - 文件处理

JavaFX TableColumn 文本换行

java - 在javafx中用按钮覆盖标签背景

java - JavaFX 中带有单元工厂的动态加载表单 : Memory Leaks Waiting to Happen?

android - 我现有的 keystore 不存在

java - ant build.xml 文件不存在

java - Spring Boot Data REST、HATEOAS 无法使用自定义 Controller

java - 使用 JAVA 从 HTML 中提取所有图像

java - 如何克隆 java keystore 实例?

android - 文件已存在。当我试图让我的 .apk 在 android 中签名时发生错误