ODK Briefcase Not Setting Up Properly after Download

What is the problem? Please be detailed.
When I attempt to run the executable JAR file for ODK Briefcase v 1.13.0, it writes a text file to my computer entitled "briefcase", but the program itself does not run. I am using Windows 10 Home on an HP Spectre laptop.

What you have you tried to fix the problem?
I have restarted my computer, removed the older version of ODK Briefcase (1.12.??), removed the ODK Briefcase Storage folder from the older version, scanned the executable JAR file for errors, restarted my computer again, and removed and redownloaded ODK Briefcase 1.13.0. It still writes an error log and does not run.

Anything else we should know or have? If you have a test form or screenshots or logs, attach here.
The body of the error log:

2018-11-30 11:40:15,181 [main] ERROR org.opendatakit.briefcase.Launcher - Error
java.lang.ExceptionInInitializerError: null
at javax.crypto.JceSecurityManager.(JceSecurityManager.java:65)
at javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2586)
at javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2610)
at sun.security.ssl.CipherSuite$BulkCipher.isUnlimited(Unknown Source)
at sun.security.ssl.CipherSuite$BulkCipher.(Unknown Source)
at sun.security.ssl.CipherSuite.(Unknown Source)
at sun.security.ssl.SSLContextImpl.getApplicableCipherSuiteList(Unknown Source)
at sun.security.ssl.SSLContextImpl.access$100(Unknown Source)
at sun.security.ssl.SSLContextImpl$AbstractTLSContext.(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.security.Provider$Service.getImplClass(Unknown Source)
at java.security.Provider$Service.newInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getInstance(Unknown Source)
at org.apache.http.ssl.SSLContexts.createDefault(SSLContexts.java:51)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.getSocketFactory(SSLConnectionSocketFactory.java:174)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:114)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.(PoolingHttpClientConnectionManager.java:121)
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.createHttpClient(ApacheHttpClientImpl.java:52)
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.(ApacheHttpClientImpl.java:39)
at com.brsanthu.googleanalytics.GoogleAnalyticsBuilder.createHttpClient(GoogleAnalyticsBuilder.java:75)
at com.brsanthu.googleanalytics.GoogleAnalyticsBuilder.build(GoogleAnalyticsBuilder.java:67)
at org.opendatakit.briefcase.ui.reused.Analytics.from(Analytics.java:55)
at org.opendatakit.briefcase.ui.MainBriefcaseWindow.(MainBriefcaseWindow.java:96)
at org.opendatakit.briefcase.ui.MainBriefcaseWindow.launchGUI(MainBriefcaseWindow.java:77)
at org.opendatakit.briefcase.Launcher.lambda$main$0(Launcher.java:67)
at org.opendatakit.common.cli.Cli.lambda$run$5(Cli.java:136)
at java.lang.Iterable.forEach(Unknown Source)
at org.opendatakit.common.cli.Cli.run(Cli.java:136)
at org.opendatakit.briefcase.Launcher.main(Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
at javax.crypto.JceSecurity.(JceSecurity.java:93)
... 37 common frames omitted
Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by the expected signer! (Policy files are specific per major JDK release.Ensure the correct version is installed.)
at javax.crypto.JarVerifier.verifyPolicySigned(JarVerifier.java:328)
at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:378)
at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:323)
at javax.crypto.JceSecurity.access$000(JceSecurity.java:50)
at javax.crypto.JceSecurity$1.run(JceSecurity.java:85)
at java.security.AccessController.doPrivileged(Native Method)
at javax.crypto.JceSecurity.(JceSecurity.java:82)
... 37 common frames omitted
2018-11-30 11:41:39,640 [main] ERROR org.opendatakit.briefcase.Launcher - Error
java.lang.ExceptionInInitializerError: null
at javax.crypto.JceSecurityManager.(JceSecurityManager.java:65)
at javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2586)
at javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2610)
at sun.security.ssl.CipherSuite$BulkCipher.isUnlimited(Unknown Source)
at sun.security.ssl.CipherSuite$BulkCipher.(Unknown Source)
at sun.security.ssl.CipherSuite.(Unknown Source)
at sun.security.ssl.SSLContextImpl.getApplicableCipherSuiteList(Unknown Source)
at sun.security.ssl.SSLContextImpl.access$100(Unknown Source)
at sun.security.ssl.SSLContextImpl$AbstractTLSContext.(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.security.Provider$Service.getImplClass(Unknown Source)
at java.security.Provider$Service.newInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getInstance(Unknown Source)
at org.apache.http.ssl.SSLContexts.createDefault(SSLContexts.java:51)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.getSocketFactory(SSLConnectionSocketFactory.java:174)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:114)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.(PoolingHttpClientConnectionManager.java:121)
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.createHttpClient(ApacheHttpClientImpl.java:52)
at com.brsanthu.googleanalytics.httpclient.ApacheHttpClientImpl.(ApacheHttpClientImpl.java:39)
at com.brsanthu.googleanalytics.GoogleAnalyticsBuilder.createHttpClient(GoogleAnalyticsBuilder.java:75)
at com.brsanthu.googleanalytics.GoogleAnalyticsBuilder.build(GoogleAnalyticsBuilder.java:67)
at org.opendatakit.briefcase.ui.reused.Analytics.from(Analytics.java:55)
at org.opendatakit.briefcase.ui.MainBriefcaseWindow.(MainBriefcaseWindow.java:96)
at org.opendatakit.briefcase.ui.MainBriefcaseWindow.launchGUI(MainBriefcaseWindow.java:77)
at org.opendatakit.briefcase.Launcher.lambda$main$0(Launcher.java:67)
at org.opendatakit.common.cli.Cli.lambda$run$5(Cli.java:136)
at java.lang.Iterable.forEach(Unknown Source)
at org.opendatakit.common.cli.Cli.run(Cli.java:136)
at org.opendatakit.briefcase.Launcher.main(Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
at javax.crypto.JceSecurity.(JceSecurity.java:93)
... 37 common frames omitted
Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by the expected signer! (Policy files are specific per major JDK release.Ensure the correct version is installed.)
at javax.crypto.JarVerifier.verifyPolicySigned(JarVerifier.java:328)
at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:378)
at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:323)
at javax.crypto.JceSecurity.access$000(JceSecurity.java:50)
at javax.crypto.JceSecurity$1.run(JceSecurity.java:85)
at java.security.AccessController.doPrivileged(Native Method)
at javax.crypto.JceSecurity.(JceSecurity.java:82)
... 37 common frames omitted

Make sure you have Java 8u161 or later installed. You can confirm the version of java by running java -version on the command line.

1 Like

OK, so you're saying I need build 161 or later, right? I think I have a more updated version, build 191. This is what I got when I ran java - version on the command line:

java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

Could it be that ODKBriefcase prefers the older build?

Hi, @fwashburn!

Your Java version is fine but it's looking like it wasn't properly installed on your computer:

Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by the expected signer! (Policy files are specific per major JDK release.Ensure the correct version is installed.)

(this is from your error log)

This is the first time I see such an error. I'll take a look, but I guess reinstalling Java would not make things worse :slight_smile:

1 Like

By the way, we've seen encription problems when using Java releases from OpenJDK. Maybe trying an Oracle release would fix your problem. You can download it from here: https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

1 Like

Thank you Guillermo! I'm attempting to reinstall Java now via the Oracle release you linked to. I'll keep you posted!

Ok, it worked like a charm! Thank you again for your help. I'm going to start one more Support thread now for how to pull un-finalized/un-finalizable forms using ODK Briefcase.

1 Like