IcedTea-Web
NetX

net.sourceforge.jnlp.security
Class VariableX509TrustManager

java.lang.Object
  extended by net.sourceforge.jnlp.security.VariableX509TrustManager

public final class VariableX509TrustManager
extends java.lang.Object

This class implements an X509 Trust Manager. The certificates it trusts are "variable", in the sense that it can dynamically, and temporarily support different certificates that are not in the keystore.


Constructor Summary
VariableX509TrustManager()
          Constructor initializes the system, user and custom stores
 
Method Summary
 void checkTrustClient(java.security.cert.X509Certificate[] chain, java.lang.String authType, java.lang.String hostName)
          Check if client is trusted (no support for custom here, only system/user)
 void checkTrustServer(java.security.cert.X509Certificate[] chain, java.lang.String authType, java.lang.String hostName, javax.net.ssl.SSLSocket socket, javax.net.ssl.SSLEngine engine)
          Check if the server is trusted.
protected  java.security.cert.X509Certificate[] getAcceptedIssuers()
           
static VariableX509TrustManager getInstance()
          Return an instance of this singleton
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariableX509TrustManager

public VariableX509TrustManager()
Constructor initializes the system, user and custom stores

Method Detail

checkTrustClient

public void checkTrustClient(java.security.cert.X509Certificate[] chain,
                             java.lang.String authType,
                             java.lang.String hostName)
                      throws java.security.cert.CertificateException
Check if client is trusted (no support for custom here, only system/user)

Throws:
java.security.cert.CertificateException

checkTrustServer

public void checkTrustServer(java.security.cert.X509Certificate[] chain,
                             java.lang.String authType,
                             java.lang.String hostName,
                             javax.net.ssl.SSLSocket socket,
                             javax.net.ssl.SSLEngine engine)
                      throws java.security.cert.CertificateException
Check if the server is trusted. First, existing stores are checked to see if the certificate is trusted. Next, if the certificate is not explicitly trusted by the user, a host name check is performed. The user is them prompted as needed.

Parameters:
chain - The cert chain
authType - The auth type algorithm
hostName - The expected hostName that the server should have
socket - The SSLSocket in use (may be null)
ending - The SSLEngine in use (may be null)
Throws:
java.security.cert.CertificateException

getAcceptedIssuers

protected java.security.cert.X509Certificate[] getAcceptedIssuers()

getInstance

public static VariableX509TrustManager getInstance()
Return an instance of this singleton

Returns:
The instance

IcedTea-Web
NetX

Submit a bug or feature