Java Web Start and Security
This section describes the basics of security for applications deployed through Java Web Start and includes:
Applications launched with Java Web Start are, by default, run in a restricted environment, known as a sandbox. In this sandbox, Java Web Start:
- Protects users against malicious code that could affect local files
- Protects enterprises against code that could attempt to access or destroy data on networks
Sandbox applications that are launched by Java Web Start remain in this sandbox, meaning they cannot access local files or the network. See Security in Rich Internet Applications for information.
Dynamic Downloading of HTTPS Certificates
Java Web Start dynamically imports certificates as browsers typically do. To do this, Java Web Start sets its own https
handler, using the java.protocol.handler.pkgs
system properties, to initialize defaults for the SSLSocketFactory
and HostnameVerifier
. It sets the defaults with the methods HttpsURLConnection.setDefaultSSLSocketFactory
and HttpsURLConnection.setDefaultHostnameVerifier
.
If your application uses these two methods, ensure that they are invoked after the Java Web Start initializes the https
handler, otherwise your custom handler will be replaced by the Java Web Start default handler.
You can ensure that your own customized SSLSocketFactory
and HostnameVerifiter
are used by doing one of the following:
- Install your own
https
handler, to replace the Java Web Starthttps
handler. - In your application, invoke
HttpsURLConnection.setDefaultSSLSocketFactory
orHttpsURLConnection.setDefaultHostnameVerifier
only after the firsthttps URL
object is created, which executes the Java Web Starthttps
handler initialization code first.