Package org.apache.tomcat.util.net
Class SSLUtilBase
- java.lang.Object
-
- org.apache.tomcat.util.net.SSLUtilBase
-
- All Implemented Interfaces:
SSLUtil
- Direct Known Subclasses:
JSSEUtil
,OpenSSLUtil
public abstract class SSLUtilBase extends java.lang.Object implements SSLUtil
Common base class forSSLUtil
implementations.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.tomcat.util.net.SSLUtil
SSLUtil.ProtocolInfo
-
-
Field Summary
Fields Modifier and Type Field Description protected SSLHostConfigCertificate
certificate
protected SSLHostConfig
sslHostConfig
-
Constructor Summary
Constructors Modifier Constructor Description protected
SSLUtilBase(SSLHostConfigCertificate certificate)
protected
SSLUtilBase(SSLHostConfigCertificate certificate, boolean warnTls13)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
configureSessionContext(javax.net.ssl.SSLSessionContext sslSessionContext)
SSLContext
createSSLContext(java.util.List<java.lang.String> negotiableProtocols)
protected abstract SSLContext
createSSLContextInternal(java.util.List<java.lang.String> negotiableProtocols)
protected java.util.Collection<? extends java.security.cert.CRL>
getCRLs(java.lang.String crlf)
Load the collection of CRLs.java.lang.String[]
getEnabledCiphers()
The set of enabled ciphers is the intersection of the implemented ciphers and the configured ciphers.java.lang.String[]
getEnabledProtocols()
The set of enabled protocols is the intersection of the implemented protocols and the configured protocols.protected abstract java.util.Set<java.lang.String>
getImplementedCiphers()
protected abstract java.util.Set<java.lang.String>
getImplementedProtocols()
javax.net.ssl.KeyManager[]
getKeyManagers()
protected abstract Log
getLog()
protected java.security.cert.CertPathParameters
getParameters(java.lang.String crlf, java.security.KeyStore trustStore, boolean revocationEnabled)
Return the initialization parameters for the TrustManager.javax.net.ssl.TrustManager[]
getTrustManagers()
protected abstract boolean
isTls13RenegAuthAvailable()
-
-
-
Field Detail
-
sslHostConfig
protected final SSLHostConfig sslHostConfig
-
certificate
protected final SSLHostConfigCertificate certificate
-
-
Constructor Detail
-
SSLUtilBase
protected SSLUtilBase(SSLHostConfigCertificate certificate)
-
SSLUtilBase
protected SSLUtilBase(SSLHostConfigCertificate certificate, boolean warnTls13)
-
-
Method Detail
-
createSSLContext
public final SSLContext createSSLContext(java.util.List<java.lang.String> negotiableProtocols) throws java.lang.Exception
- Specified by:
createSSLContext
in interfaceSSLUtil
- Throws:
java.lang.Exception
-
configureSessionContext
public void configureSessionContext(javax.net.ssl.SSLSessionContext sslSessionContext)
- Specified by:
configureSessionContext
in interfaceSSLUtil
-
getKeyManagers
public javax.net.ssl.KeyManager[] getKeyManagers() throws java.lang.Exception
- Specified by:
getKeyManagers
in interfaceSSLUtil
- Throws:
java.lang.Exception
-
getEnabledProtocols
public java.lang.String[] getEnabledProtocols()
Description copied from interface:SSLUtil
The set of enabled protocols is the intersection of the implemented protocols and the configured protocols. If no protocols are explicitly configured, then all of the implemented protocols will be included in the returned array.- Specified by:
getEnabledProtocols
in interfaceSSLUtil
- Returns:
- The protocols currently enabled and available for clients to select from for the associated connection
-
getEnabledCiphers
public java.lang.String[] getEnabledCiphers()
Description copied from interface:SSLUtil
The set of enabled ciphers is the intersection of the implemented ciphers and the configured ciphers. If no ciphers are explicitly configured, then the default ciphers will be included in the returned array.The ciphers used during the TLS handshake may be further restricted by the
SSLUtil.getEnabledProtocols()
and the certificates.- Specified by:
getEnabledCiphers
in interfaceSSLUtil
- Returns:
- The ciphers currently enabled and available for clients to select from for the associated connection
-
getTrustManagers
public javax.net.ssl.TrustManager[] getTrustManagers() throws java.lang.Exception
- Specified by:
getTrustManagers
in interfaceSSLUtil
- Throws:
java.lang.Exception
-
getParameters
protected java.security.cert.CertPathParameters getParameters(java.lang.String crlf, java.security.KeyStore trustStore, boolean revocationEnabled) throws java.lang.Exception
Return the initialization parameters for the TrustManager. Currently, only the defaultPKIX
is supported.- Parameters:
crlf
- The path to the CRL file.trustStore
- The configured TrustStore.revocationEnabled
- Should the JSSE provider perform revocation checks? Ignored ifcrlf
is non-null. Configuration of revocation checks are expected to be via proprietary JSSE provider methods.- Returns:
- The parameters including the CRLs and TrustStore.
- Throws:
java.lang.Exception
- An error occurred
-
getCRLs
protected java.util.Collection<? extends java.security.cert.CRL> getCRLs(java.lang.String crlf) throws java.io.IOException, java.security.cert.CRLException, java.security.cert.CertificateException
Load the collection of CRLs.- Parameters:
crlf
- The path to the CRL file.- Returns:
- the CRLs collection
- Throws:
java.io.IOException
- Error reading CRL filejava.security.cert.CRLException
- CRL errorjava.security.cert.CertificateException
- Error processing certificate
-
getImplementedProtocols
protected abstract java.util.Set<java.lang.String> getImplementedProtocols()
-
getImplementedCiphers
protected abstract java.util.Set<java.lang.String> getImplementedCiphers()
-
getLog
protected abstract Log getLog()
-
isTls13RenegAuthAvailable
protected abstract boolean isTls13RenegAuthAvailable()
-
createSSLContextInternal
protected abstract SSLContext createSSLContextInternal(java.util.List<java.lang.String> negotiableProtocols) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-