如何使用Apple Developer ID签署Java applet

时间:2012-08-30 07:58:45

标签: java applet code-signing osx-mountain-lion osx-gatekeeper

我有使用thwate证书签名的java applet,需要使用Apple Developer ID进行签名。

众所周知,Mac OS X 10.8要求使用Apple Developer ID签名Java应用程序。它导致运行Java applet时出现一些问题,Gatekeeper说“无法验证数字签名”。存在相同的问题OS X 10.8 Gatekeeper and Java appletsSign java applet so that it works on OS X 10.8 Mountain Lion and Windows

我也在Oracle的Mac FAQ中找到了这个: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/mac-faq.html#gatekeeper

所以,我向我的Mac请求并下载了Apple Developer ID证书,但我找不到任何有关如何使用Apple Developer ID签署Java applet的地方。

我尝试了以下内容:

  1. 使用 codesign 工具在Mac上签名小程序。

    codesign -s "Developer ID Application: MyCompany" MyApplet.jar
    

    但是这个命令实际上没有修改jar文件(没有更改日期,文件大小或二进制内容)。

  2. 将Apple证书导出到p12并使用 jarsigner 。我将 Apple Root CA Apple Timestamp证书颁发机构开发者ID应用程序:MyCompany 导出到p12并以常用方式签署我的jar。

  3. 将我的解冻证书导入Mac Keychain Access并将Apple和thawte证书导出到p12。

  4. 这三种方式都没有给我任何东西。当我用applet打开一个页面时,Gatekeeper仍然说它无法验证。

    有人可以提供有关如何签署我的小程序的分步说明吗?

2 个答案:

答案 0 :(得分:1)

哦,没有办法做到这一点=(Java applets不能参与开发者ID程序。 Apple的回答是https://stackoverflow.com/a/12210534/1068878

答案 1 :(得分:0)

这对您来说可能有点晚,但如果它可以帮助其他任何人:可以将JAR文件以及Java运行时环境捆绑到.app中。然后,您可以使用Apple证书对.app进行签名,就像使用xcode编写一样。搜索' javapackager' (这只是众多方法中的一种)。从理论上讲,您甚至可以将这样的应用程序提交到应用程序商店。