diff options
author | Adam Domurad <[email protected]> | 2012-10-19 15:14:09 -0400 |
---|---|---|
committer | Adam Domurad <[email protected]> | 2012-10-19 15:14:09 -0400 |
commit | 3d595f35b4ec1966e364cd976b479a91e7e5f3f4 (patch) | |
tree | 6d48be1623b98457047a01c5a54010d77c2126af | |
parent | 91cbd446383d31a3985aba6e0f825270dfc4c00a (diff) |
New message for when JNLP is fully signed by different certs
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | netx/net/sourceforge/jnlp/resources/Messages.properties | 2 | ||||
-rw-r--r-- | netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 6 |
3 files changed, 16 insertions, 1 deletions
@@ -30,6 +30,15 @@ 2012-10-19 Adam Domurad <[email protected]> + New message for signer mismatch in JNLP applications. + * netx/net/sourceforge/jnlp/resources/Messages.properties: Added + message 'The JNLP application is not fully signed by a single cert.' + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Message + thrown when JNLP's jcv.allJarsSigned() is true but not + jcv.isFullySigned(); + +2012-10-19 Adam Domurad <[email protected]> + Fixes JCV#isTriviallySigned(). Reproducer 'EmptySignedJar' passes again. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Remove diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties index 4010837..e74cf36 100644 --- a/netx/net/sourceforge/jnlp/resources/Messages.properties +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties @@ -78,6 +78,8 @@ LCantDetermineMainClass=Unknown Main-Class. LCantDetermineMainClassInfo=Could not determine the main class for this application.
LUnsignedJarWithSecurity=Cannot grant permissions to unsigned jars.
LUnsignedJarWithSecurityInfo=Application requested security permissions, but jars are not signed.
+LSignedJNLPAppDifferentCerts=The JNLP application is not fully signed by a single cert.
+LSignedJNLPAppDifferentCertsInfo=The JNLP application has its components individually signed, however there must be a common signer to all entries.
LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars.
LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't.
LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file.
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java index 94d93a4..615b30c 100644 --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java @@ -317,7 +317,11 @@ public class JNLPClassLoader extends URLClassLoader { * */ if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !signing) { - throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + if (jcv.allJarsSigned()) { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedJNLPAppDifferentCerts"), R("LSignedJNLPAppDifferentCertsInfo")); + } else { + throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } } else if (signing == true) { this.security = file.getSecurity(); } else { |