【问题标题】:How do I change how I sign Java application after updating to OSX 10.9.5更新到 OSX 10.9.5 后如何更改签署 Java 应用程序的方式
【发布时间】:2014-09-18 16:05:50
【问题描述】:

刚刚从 OSX 10.9.4 更新到 10.9.5,看来我必须在更新后更改我签署 Java 应用程序的方式,因为我现在在签署后得到此输出

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"
/usr/bin/codesign --sign "Developer ID Application: P Taylor" --force --deep --verbose /Applications/SongKong.app

我得到:

/Applications/SongKong.app: the main executable or Info.plist must be a regular file (no symlinks, etc.)
In subcomponent: /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_20.jdk

和验证

/usr/bin/codesign --verify --deep  --verbose /Applications/SongKong.app

给我

/Applications/SongKong.app: code object is not signed at all
In architecture: x86_64

我需要改变什么来解决这个问题?

【问题讨论】:

标签: java macos signing


【解决方案1】:

问题是从 19.9.5 开始,codesign 不允许您签署包含符号链接的文件夹,我认为之前它忽略了这个问题。

在我的特殊情况下,我制作了 libjli.dylib 的副本,并用这个副本替换了符号链接。这很有效,并且由于进行此更改,我没有遇到任何问题。

rm /Applications/MyApp.app/Contents/PlugIns/jdk1.8.0_25.jdk/Contents/MacOS/libjli.dylib
cp /Applications/MyApp.app/Contents/PlugIns/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jli/libjli.dylib /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_25.jdk/Contents/MacOS
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"

/usr/bin/codesign --sign "Developer ID Application: My Name" --force --deep --verbose /Applications/MyApp.app
/usr/bin/codesign --verify --deep  --verbose /Applications/MyApp.app

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 2015-07-02
    • 2013-12-31
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多