- java.lang.Object
-
- javax.net.ssl.X509ExtendedTrustManager
-
- org.snmp4j.transport.tls.TLSTMExtendedTrustManager
-
- All Implemented Interfaces:
javax.net.ssl.TrustManager
,javax.net.ssl.X509TrustManager
public class TLSTMExtendedTrustManager extends javax.net.ssl.X509ExtendedTrustManager
TLSTM trust manager that implements the X509ExtendedTrustManager interface.- Since:
- 2.5.7
-
-
Field Summary
Fields Modifier and Type Field Description private static LogAdapter
logger
private TlsTmSecurityCallback<java.security.cert.X509Certificate>
securityCallback
private CounterSupport
tlstmCounters
private TransportStateReference
tmStateReference
(package private) javax.net.ssl.X509TrustManager
trustManager
private boolean
useClientMode
-
Constructor Summary
Constructors Constructor Description TLSTMExtendedTrustManager(CounterSupport tlstmCounters, TlsTmSecurityCallback<java.security.cert.X509Certificate> securityCallback, javax.net.ssl.X509TrustManager trustManager, boolean useClientMode, TransportStateReference tmStateReference)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s)
void
checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, java.net.Socket socket)
void
checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, javax.net.ssl.SSLEngine sslEngine)
private boolean
checkClientTrustedIntern(java.security.cert.X509Certificate[] x509Certificates)
void
checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s)
void
checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, java.net.Socket socket)
void
checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, javax.net.ssl.SSLEngine sslEngine)
private boolean
checkServerTrustedByFingerprint(java.security.cert.X509Certificate[] x509Certificates)
private boolean
checkServerTrustedBySubjectDN(java.security.cert.X509Certificate[] x509Certificates)
RFC 6353 page 47, snmpTlstmAddrServerIdentityjava.security.cert.X509Certificate[]
getAcceptedIssuers()
static java.security.cert.X509Certificate[]
getAcceptedIssuers(javax.net.ssl.X509TrustManager trustManager, TlsTmSecurityCallback<java.security.cert.X509Certificate> securityCallback)
Gets the acceptedX509Certificate
s from the givenX509TrustManager
and security callback.private boolean
isMatchingFingerprint(java.security.cert.X509Certificate[] x509Certificates, OctetString fingerprint, boolean useClientMode)
private void
postCheckServerTrusted(java.security.cert.X509Certificate[] x509Certificates)
-
-
-
Field Detail
-
logger
private static final LogAdapter logger
-
trustManager
javax.net.ssl.X509TrustManager trustManager
-
useClientMode
private final boolean useClientMode
-
tmStateReference
private final TransportStateReference tmStateReference
-
tlstmCounters
private final CounterSupport tlstmCounters
-
securityCallback
private final TlsTmSecurityCallback<java.security.cert.X509Certificate> securityCallback
-
-
Constructor Detail
-
TLSTMExtendedTrustManager
public TLSTMExtendedTrustManager(CounterSupport tlstmCounters, TlsTmSecurityCallback<java.security.cert.X509Certificate> securityCallback, javax.net.ssl.X509TrustManager trustManager, boolean useClientMode, TransportStateReference tmStateReference)
-
-
Method Detail
-
checkClientTrusted
public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
checkServerTrusted
public void checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
isMatchingFingerprint
private boolean isMatchingFingerprint(java.security.cert.X509Certificate[] x509Certificates, OctetString fingerprint, boolean useClientMode) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
getAcceptedIssuers
public java.security.cert.X509Certificate[] getAcceptedIssuers()
-
getAcceptedIssuers
public static java.security.cert.X509Certificate[] getAcceptedIssuers(javax.net.ssl.X509TrustManager trustManager, TlsTmSecurityCallback<java.security.cert.X509Certificate> securityCallback)
Gets the acceptedX509Certificate
s from the givenX509TrustManager
and security callback.- Parameters:
trustManager
- a X509TrustManager providing the accepted issuers.securityCallback
- a security callback that is ask to accept any returned issuer.- Returns:
- a probably empty or
null
array of accepted issuers. - Since:
- 3.6.0
-
checkClientTrusted
public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, 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[] x509Certificates, java.lang.String s, java.net.Socket socket) throws java.security.cert.CertificateException
- Specified by:
checkServerTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
checkServerTrustedBySubjectDN
private boolean checkServerTrustedBySubjectDN(java.security.cert.X509Certificate[] x509Certificates) throws java.security.cert.CertificateException
RFC 6353 page 47, snmpTlstmAddrServerIdentity- Throws:
java.security.cert.CertificateException
-
postCheckServerTrusted
private void postCheckServerTrusted(java.security.cert.X509Certificate[] x509Certificates) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
checkServerTrustedByFingerprint
private boolean checkServerTrustedByFingerprint(java.security.cert.X509Certificate[] x509Certificates) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
checkClientTrusted
public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, javax.net.ssl.SSLEngine sslEngine) throws java.security.cert.CertificateException
- Specified by:
checkClientTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
checkClientTrustedIntern
private boolean checkClientTrustedIntern(java.security.cert.X509Certificate[] x509Certificates) throws java.security.cert.CertificateException
- Throws:
java.security.cert.CertificateException
-
checkServerTrusted
public void checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, java.lang.String s, javax.net.ssl.SSLEngine sslEngine) throws java.security.cert.CertificateException
- Specified by:
checkServerTrusted
in classjavax.net.ssl.X509ExtendedTrustManager
- Throws:
java.security.cert.CertificateException
-
-