Hello René,

Nice to see an OpenJDK solution to this. (Our Oracle solution requires too much corp specific customization to really benefit from code sharing with a simple codesign based implementation)

On 2019-12-09 08:06, René Schünemann wrote:
Here is the webrev:
http://cr.openjdk.java.net/~goetz/wr19/rene/8235585-mac_notarization/01/

Generally looks good.

NativeCompilation.gmk, line 1132 looks weirdly indented. The line could also benefit from being broken up. See [1] for guidance.


On Mon, Dec 9, 2019 at 5:05 PM René Schünemann
<rene.schuenem...@gmail.com> wrote:
Hi,

for the macOS notarization process, all executables and libraries need
to be codesigned with hardened runtime (--options runtime) and secure
timestamp (--timestamp) enabled. Additionally for the OpenJDK certain
entitlements have to be set during codesigning:

* com.apple.security.cs.allow-jit
* com.apple.security.cs.allow-unsigned-executable-memory
* com.apple.security.cs.disable-executable-page-protection
In our testing, we saw no need for disable-executable-page-protection. Did you actually see missing this trigger any problems?
* com.apple.security.cs.allow-dyld-environment-variables
* com.apple.security.cs.debugger

With this change the macOS codesign tool is being run for all native
executables and libraries.

Additionally this change introduces a new configure option:
--with-macosx-codesign-identity

This options allows to specify a codesigning identity stored in the
macOS keychain.
When this option is not set it falls back to "openjdk_codesign".

Thanks,
Rene
/Erik

[1] http://openjdk.java.net/groups/build/doc/code-conventions.html

Reply via email to