Package org.ldaptive.ssl
Class X509ExtendedTrustManagerWrapper
- java.lang.Object
-
- javax.net.ssl.X509ExtendedTrustManager
-
- org.ldaptive.ssl.X509ExtendedTrustManagerWrapper
-
- All Implemented Interfaces:
TrustManager,X509TrustManager
public class X509ExtendedTrustManagerWrapper extends X509ExtendedTrustManager
Wraps anX509TrustManagerin order to provide hostname verification.
-
-
Field Summary
Fields Modifier and Type Field Description private CertificateHostnameVerifierhostnameVerifierHostname verifier.protected LoggerloggerLogger for this class.private X509TrustManagertrustManagerTrust manager.
-
Constructor Summary
Constructors Constructor Description X509ExtendedTrustManagerWrapper(X509TrustManager manager, CertificateHostnameVerifier verifier)Creates a new X509 extended trust manager wrapper.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckClientTrusted(X509Certificate[] chain, String authType)voidcheckClientTrusted(X509Certificate[] chain, String authType, Socket socket)voidcheckClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine)voidcheckServerTrusted(X509Certificate[] chain, String authType)voidcheckServerTrusted(X509Certificate[] chain, String authType, Socket socket)voidcheckServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine)X509Certificate[]getAcceptedIssuers()protected voidverifyHostname(SSLSession session, X509Certificate cert)Resolves a hostname from the supplied session and invokeshostnameVerifier.
-
-
-
Field Detail
-
logger
protected final Logger logger
Logger for this class.
-
trustManager
private final X509TrustManager trustManager
Trust manager.
-
hostnameVerifier
private final CertificateHostnameVerifier hostnameVerifier
Hostname verifier.
-
-
Constructor Detail
-
X509ExtendedTrustManagerWrapper
public X509ExtendedTrustManagerWrapper(X509TrustManager manager, CertificateHostnameVerifier verifier)
Creates a new X509 extended trust manager wrapper.- Parameters:
manager- to wrapverifier- to verify hostname
-
-
Method Detail
-
verifyHostname
protected void verifyHostname(SSLSession session, X509Certificate cert) throws CertificateException
Resolves a hostname from the supplied session and invokeshostnameVerifier.- Parameters:
session- to extract hostname fromcert- to verify hostname against- Throws:
CertificateException- if the hostname cannot be verified
-
checkClientTrusted
public void checkClientTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException
- Specified by:
checkClientTrustedin classX509ExtendedTrustManager- Throws:
CertificateException
-
checkServerTrusted
public void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException
- Specified by:
checkServerTrustedin classX509ExtendedTrustManager- Throws:
CertificateException
-
checkClientTrusted
public void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException
- Specified by:
checkClientTrustedin classX509ExtendedTrustManager- Throws:
CertificateException
-
checkServerTrusted
public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException
- Specified by:
checkServerTrustedin classX509ExtendedTrustManager- Throws:
CertificateException
-
checkClientTrusted
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException
- Throws:
CertificateException
-
checkServerTrusted
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException
- Throws:
CertificateException
-
getAcceptedIssuers
public X509Certificate[] getAcceptedIssuers()
-
-