Package org.ldaptive.ssl
Class X509ExtendedTrustManagerWrapper
- java.lang.Object
-
- javax.net.ssl.X509ExtendedTrustManager
-
- org.ldaptive.ssl.X509ExtendedTrustManagerWrapper
-
- All Implemented Interfaces:
javax.net.ssl.TrustManager
,javax.net.ssl.X509TrustManager
public class X509ExtendedTrustManagerWrapper extends javax.net.ssl.X509ExtendedTrustManager
Wraps anX509TrustManager
in order to provide hostname verification.- Author:
- Middleware Services
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Logger
logger
Logger for this class.
-
Constructor Summary
Constructors Constructor Description X509ExtendedTrustManagerWrapper(javax.net.ssl.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 void
checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType)
void
checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, java.net.Socket socket)
void
checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, javax.net.ssl.SSLEngine engine)
void
checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType)
void
checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, java.net.Socket socket)
void
checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, javax.net.ssl.SSLEngine engine)
java.security.cert.X509Certificate[]
getAcceptedIssuers()
protected void
verifyHostname(javax.net.ssl.SSLSession session, java.security.cert.X509Certificate cert)
Resolves a hostname from the supplied session and invokeshostnameVerifier
.
-
-
-
Constructor Detail
-
X509ExtendedTrustManagerWrapper
public X509ExtendedTrustManagerWrapper(javax.net.ssl.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(javax.net.ssl.SSLSession session, java.security.cert.X509Certificate cert) throws java.security.cert.CertificateException
Resolves a hostname from the supplied session and invokeshostnameVerifier
.- Parameters:
session
- to extract hostname fromcert
- to verify hostname against- Throws:
java.security.cert.CertificateException
- if the hostname cannot be verified
-
checkClientTrusted
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, java.net.Socket socket) throws java.security.cert.CertificateException
- Specified by:
checkClientTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
checkServerTrusted
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, java.net.Socket socket) throws java.security.cert.CertificateException
- Specified by:
checkServerTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
checkClientTrusted
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, javax.net.ssl.SSLEngine engine) throws java.security.cert.CertificateException
- Specified by:
checkClientTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
checkServerTrusted
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType, javax.net.ssl.SSLEngine engine) throws java.security.cert.CertificateException
- Specified by:
checkServerTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
checkClientTrusted
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
checkServerTrusted
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, java.lang.String authType) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
getAcceptedIssuers
public java.security.cert.X509Certificate[] getAcceptedIssuers()
-
-