Package org.ldaptive.ssl
Class X509ExtendedTrustManagerWrapper
java.lang.Object
javax.net.ssl.X509ExtendedTrustManager
org.ldaptive.ssl.X509ExtendedTrustManagerWrapper
- All Implemented Interfaces:
TrustManager
,X509TrustManager
Wraps an
X509TrustManager
in order to provide hostname verification.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CertificateHostnameVerifier
Hostname verifier.protected final org.slf4j.Logger
Logger for this class.private final X509TrustManager
Trust manager. -
Constructor Summary
ConstructorsConstructorDescriptionX509ExtendedTrustManagerWrapper
(X509TrustManager manager, CertificateHostnameVerifier verifier) Creates a new X509 extended trust manager wrapper. -
Method Summary
Modifier and TypeMethodDescriptionvoid
checkClientTrusted
(X509Certificate[] chain, String authType) void
checkClientTrusted
(X509Certificate[] chain, String authType, Socket socket) void
checkClientTrusted
(X509Certificate[] chain, String authType, SSLEngine engine) void
checkServerTrusted
(X509Certificate[] chain, String authType) void
checkServerTrusted
(X509Certificate[] chain, String authType, Socket socket) void
checkServerTrusted
(X509Certificate[] chain, String authType, SSLEngine engine) protected void
verifyHostname
(SSLSession session, X509Certificate cert) Resolves a hostname from the supplied session and invokeshostnameVerifier
.
-
Field Details
-
logger
protected final org.slf4j.Logger loggerLogger for this class. -
trustManager
Trust manager. -
hostnameVerifier
Hostname verifier.
-
-
Constructor Details
-
X509ExtendedTrustManagerWrapper
public X509ExtendedTrustManagerWrapper(X509TrustManager manager, CertificateHostnameVerifier verifier) Creates a new X509 extended trust manager wrapper.- Parameters:
manager
- to wrapverifier
- to verify hostname
-
-
Method Details
-
verifyHostname
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:
checkClientTrusted
in classX509ExtendedTrustManager
- Throws:
CertificateException
-
checkServerTrusted
public void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException - Specified by:
checkServerTrusted
in classX509ExtendedTrustManager
- Throws:
CertificateException
-
checkClientTrusted
public void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException - Specified by:
checkClientTrusted
in classX509ExtendedTrustManager
- Throws:
CertificateException
-
checkServerTrusted
public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException - Specified by:
checkServerTrusted
in 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
-