Re: Using a DLL or .so in an applet
On Aug 18, 11:11 pm, "Qu0ll" <Qu0llSixF...@gmail.com> wrote:
I have a 3rd-party JAR which includes code that requires a DLL (or .so on
Linux) to work and I need to use it in a JNLP-launched applet. What's
required?
1. I believe I need to get the DLL inside its own JAR and mark it as a
native library in the JNLP. Is that just a matter of using the jar com=
mand
to put it in the JAR?
Yes. Make sure the native is in the root of the Jar.
2. Must the applet then be signed?
It is more complicated than that. All Jars in the
same JNLP as the natives must be digitally signed,
and by the same cert. That JNLP must also declare
all-permissions. If that JNLP is a component-desc,
then JNLP files of any other security level can use
it.
3. If yes to (2), will the end user still get some kind of security warni=
ng
before running the applet?
Yes, before getting all-permissions code into screen,
the user will see a security dialog, even if the main
app. is sand boxed.
4. If yes to (3), will the warning only appear the first time the applet =
is
run?
It depends. Try one of my apps which uses a self-signed
certificate and the end user gets warned it is not verified,
and the 'always trust' checkbox is not checked. If the cert.
is verified by a CA, the checkbox is usually checked.
5. Do I need to manually "load" the DLL inside the applet's code? If n=
ot,
how else does it know where to find the DLL (like -Djava.library.path in =
an
application)?
It's something like ..
System.loadLibrary("nativeNameNoExtension");
...but I have not dealt much with natives.
Make sure you put each native into a resources section
specific to the OS. That way, you save each user set
the download of around half the size of the natives
( and Mac. users get a 'super optimized' download ;).
--
Andrew T.