# Class JSSEUtil

java.lang.Object
org.apache.tomcat.util.net.SSLUtilBase
org.apache.tomcat.util.net.jsse.JSSEUtil

All Implemented Interfaces:
  `SSLUtil`

public class JSSEUtil extends SSLUtilBase
SSLUtil implementation for JSSE.

## Nested Class Summary

### Nested classes/interfaces inherited from interface SSLUtil

`SSLUtil.ProtocolInfo`

## Field Summary

### Fields inherited from class SSLUtilBase

`certificate, DEFAULT_KEY_ALIAS, sslHostConfig`

## Constructor Summary

Constructors
Constructor
Description
`JSSEUtil(SSLHostConfigCertificate certificate)`
Constructs an instance for the given certificate.
`JSSEUtil(SSLHostConfigCertificate certificate, boolean warnOnSkip)`
Constructs an instance for the given certificate.

## Method Summary

Modifier and Type
Method
Description
`SSLContext`
`createSSLContextInternal(List<String> negotiableProtocols)`
Creates an SSL context with the given negotiable protocols.
`protected Set<String>`
`getImplementedCiphers()`
Returns the set of implemented SSL/TLS ciphers.
`protected Set<String>`
`getImplementedProtocols()`
Returns the set of implemented SSL/TLS protocols.
`protected Log`
`getLog()`
Returns the log for this utility.
`protected boolean`
`isTls13RenegAuthAvailable()`
Returns whether TLS 1.3 renegotiation authentication is available.

### Methods inherited from class SSLUtilBase

`configureSessionContext, createSSLContext, getCRLs, getEnabledCiphers, getEnabledProtocols, getKeyManagers, getParameters, getTrustManagers`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### JSSEUtil

public JSSEUtil(SSLHostConfigCertificate certificate)
Constructs an instance for the given certificate.

Parameters:
  `certificate` - The certificate

### JSSEUtil

public JSSEUtil(SSLHostConfigCertificate certificate, boolean warnOnSkip)
Constructs an instance for the given certificate.

Parameters:
  `certificate` - The certificate
  `warnOnSkip` - Whether to warn when skipping unsupported protocols/ciphers

## Method Details

### getLog

protected Log getLog()
Description copied from class: `SSLUtilBase`
Returns the log for this utility.

Specified by:
  `getLog` in class `SSLUtilBase`
Returns:
  the log

### getImplementedProtocols

protected Set<String> getImplementedProtocols()
Description copied from class: `SSLUtilBase`
Returns the set of implemented SSL/TLS protocols.

Specified by:
  `getImplementedProtocols` in class `SSLUtilBase`
Returns:
  the implemented protocols

### getImplementedCiphers

protected Set<String> getImplementedCiphers()
Description copied from class: `SSLUtilBase`
Returns the set of implemented SSL/TLS ciphers.

Specified by:
  `getImplementedCiphers` in class `SSLUtilBase`
Returns:
  the implemented ciphers

### isTls13RenegAuthAvailable

protected boolean isTls13RenegAuthAvailable()
Description copied from class: `SSLUtilBase`
Returns whether TLS 1.3 renegotiation authentication is available.

Specified by:
  `isTls13RenegAuthAvailable` in class `SSLUtilBase`
Returns:
  `true` if TLS 1.3 renegotiation authentication is available

### createSSLContextInternal

public SSLContext createSSLContextInternal(List<String> negotiableProtocols) throws NoSuchAlgorithmException
Description copied from class: `SSLUtilBase`
Creates an SSL context with the given negotiable protocols.

Specified by:
  `createSSLContextInternal` in class `SSLUtilBase`
Parameters:
  `negotiableProtocols` - The negotiable protocols
Returns:
  the SSL context
Throws:
  `NoSuchAlgorithmException`