Main /
EclipseAndSigningMacAppsNow that the jar files in the p2 repo are signed, we also want to sign the Mac App that is available for download.
From Triquetrum RC1 Mac Installer is from an unknown developer by Erwin: "There is some info and examples on signing applications during the build being discussed on cbi-dev : http://dev.eclipse.org/mhonarc/lists/cbi-dev/msg01776.html"
"There are win and mac signer plugins that can be configured in the pom."
"It would seem this is something different from signing individual jars."
"Info on those executables signing plugins :"
"And on CBI in general :"
JNI_CreateJavaVMWhen I download the 0.4.0M1 macOS zip file, unzip and run open triquetrum-0.4.0M1.app a dialog pops up that states: "The JVM shared library "/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/bin/..lib/server/libjvm.dylib" does not contain the JNI_CreateJavaVM symbol." This seems to be a signing problem. I saw a similar issue earlier with the 0.3.1 installer. Searching results in these hits:
Entitlements
<groupId>org.eclipse.cbi.maven.plugins</groupId> <artifactId>eclipse-macsigner-plugin</artifactId> <version>${cbi-version}</version> <executions> <execution> <id>sign</id> <goals> <goal>sign</goal> </goals> <phase>package</phase> <configuration> <signFiles> <signFile>${project.build.directory}/products/${product-folder}/macosx/cocoa/x86_64/Eclipse.app</signFile> </signFiles> <timeoutMillis>300000</timeoutMillis> <continueOnFail>${macSigner.forceContinue}</continueOnFail> <entitlements>${project.basedir}/application.entitlement</entitlements> </configuration> </execution> </executions> </plugin>
<plugin> <groupId>org.eclipse.cbi.maven.plugins</groupId> <artifactId>eclipse-macsigner-plugin</artifactId> <version>${cbi-plugins.version}</version> <executions> <execution> <goals> <goal>sign</goal> </goals> <phase>package</phase> <configuration> <timeoutMillis>300000</timeoutMillis> <!-- 5 min --> <continueOnFail>${macSigner.forceContinue}</continueOnFail> <entitlements>${project.basedir}/../entitlement/sdk.entitlement</entitlements> <signerUrl>http://172.30.206.146:8282/macosx-signing-service/1.0.1-SNAPSHOT</signerUrl> </configuration> </execution> </executions> </plugin> <cbi-plugins.version>1.1.8-SNAPSHOT</cbi-plugins.version>
<key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> <key>com.apple.security.cs.disable-executable-page-protection</key> <true/> <key>com.apple.security.cs.allow-dyld-environment-variables</key> <true/> <key>com.apple.security.cs.disable-library-validation</key> <true/> <key>com.apple.security.cs.debugger</key> <true/>
</plist> So, it would seem that the solution is to update the cbi version number and to add an entitlement file. |