org.pfsw.security.x509
Class MultiX509TrustManager

java.lang.Object
  extended by org.pfsw.security.x509.MultiX509TrustManager
All Implemented Interfaces:
javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager

public class MultiX509TrustManager
extends java.lang.Object
implements javax.net.ssl.X509TrustManager

An X509TrustManager that is capable of holding an arbitrary number of other X509TrustManagers and delegating certificate checks to them until a check is successful or finally if none is successful a CertificateException gets thrown.


Constructor Summary
MultiX509TrustManager()
           
 
Method Summary
 void add(javax.net.ssl.X509TrustManager trustManager)
          Adds the given trust manager if it is not null and not yet contained.
 void checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType)
           
 void checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType)
           
protected  void checkWithTrustManagers(X509TrustManagerCheck check)
           
 void clear()
          Removes all contained trust managers.
 java.security.cert.X509Certificate[] getAcceptedIssuers()
           
protected  java.util.List<javax.net.ssl.X509TrustManager> getTrustManagers()
           
 boolean isEmpty()
          Returns true if no trust manager is contained.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MultiX509TrustManager

public MultiX509TrustManager()
Method Detail

getAcceptedIssuers

public java.security.cert.X509Certificate[] getAcceptedIssuers()
Specified by:
getAcceptedIssuers in interface javax.net.ssl.X509TrustManager

checkClientTrusted

public void checkClientTrusted(java.security.cert.X509Certificate[] chain,
                               java.lang.String authType)
                        throws java.security.cert.CertificateException
Specified by:
checkClientTrusted in interface javax.net.ssl.X509TrustManager
Throws:
java.security.cert.CertificateException

checkServerTrusted

public void checkServerTrusted(java.security.cert.X509Certificate[] chain,
                               java.lang.String authType)
                        throws java.security.cert.CertificateException
Specified by:
checkServerTrusted in interface javax.net.ssl.X509TrustManager
Throws:
java.security.cert.CertificateException

add

public void add(javax.net.ssl.X509TrustManager trustManager)
Adds the given trust manager if it is not null and not yet contained.


isEmpty

public boolean isEmpty()
Returns true if no trust manager is contained.


clear

public void clear()
Removes all contained trust managers.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

checkWithTrustManagers

protected void checkWithTrustManagers(X509TrustManagerCheck check)
                               throws java.security.cert.CertificateException
Throws:
java.security.cert.CertificateException

getTrustManagers

protected java.util.List<javax.net.ssl.X509TrustManager> getTrustManagers()