public BundleEntry getEntry(String path) {
// strip off leading slashes so we can ensure the path matches the one provided in the manifest.
if (path.length() > 0 && path.charAt(0) == '/')
path = path.substring(1);
BundleEntry be = bundleFile.getEntry(path);
if (digests4entries == null)
return be;
if (be == null) {
if (digests4entries.get(path) == null)
return null;
throw new SecurityException(NLS.bind(JarVerifierMessages.file_is_removed_from_jar, getBaseFile().toString(), path));
}
if (be.getName().startsWith(META_INF))
return be;
if (!isSigned())
// If there is no signatures, we just return the regular bundle entry
return be;
return new SignedBundleEntry(be);