Class ConfluentFipsValidator
java.lang.Object
io.confluent.kafka.security.fips.ConfluentFipsValidator
- All Implemented Interfaces:
org.apache.kafka.common.security.fips.FipsValidator
public class ConfluentFipsValidator
extends Object
implements org.apache.kafka.common.security.fips.FipsValidator
This class centralizes FIPS validation for cipher suites, SSL/TLS versions and kafka broker protocols. One of its primary uses is to validate FIPS requirements.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidvalidateFipsBrokerProtocol(Map<String, org.apache.kafka.common.security.auth.SecurityProtocol> securityProtocolMap) Validate broker protocol, make sure broker uses either SSL or SASL_SSL protocol.voidvalidateFipsTls(Map<String, ?> configs) Validate FIPS requirements on cipher suites, TLS protocols versions.voidvalidateFipsTlsCipherSuite(Collection<String> cipherSuites) Validate cipher suites are FIPS compliant or not.voidvalidateFipsTlsCipherSuite(Map<String, ?> configs) Validate cipher suites are FIPS compliant or not.voidvalidateFipsTlsVersion(Collection<String> tlsVersions) Validate TLS versions are FIPS compliant or not.voidvalidateFipsTlsVersion(Map<String, ?> configs) Validate TLS versions are FIPS compliant or not.voidvalidateRestProtocol(String restProtocol) Validate rest server protocol, make sure connect uses https protocol.
-
Constructor Details
-
ConfluentFipsValidator
public ConfluentFipsValidator()
-
-
Method Details
-
fipsEnabled
public boolean fipsEnabled()- Specified by:
fipsEnabledin interfaceorg.apache.kafka.common.security.fips.FipsValidator
-
validateFipsTls
Validate FIPS requirements on cipher suites, TLS protocols versions.- Specified by:
validateFipsTlsin interfaceorg.apache.kafka.common.security.fips.FipsValidator- Parameters:
configs- the configuration contains cipher suites, TLS protocols.- Throws:
InvalidFipsTlsCipherSuiteException- if cipher suites not FIPS compliant.InvalidFipsTlsVersionException- if TLS protocols not FIPS compliant.
-
validateFipsBrokerProtocol
public void validateFipsBrokerProtocol(Map<String, org.apache.kafka.common.security.auth.SecurityProtocol> securityProtocolMap) Validate broker protocol, make sure broker uses either SSL or SASL_SSL protocol.- Specified by:
validateFipsBrokerProtocolin interfaceorg.apache.kafka.common.security.fips.FipsValidator- Parameters:
securityProtocolMap- the Map contains map relationship between listener name and security protocol.- Throws:
InvalidFipsBrokerProtocolException- if broker protocols not FIPS compliant.
-
validateRestProtocol
Validate rest server protocol, make sure connect uses https protocol.- Specified by:
validateRestProtocolin interfaceorg.apache.kafka.common.security.fips.FipsValidator- Parameters:
restProtocol- protocol used by rest servers of listeners.- Throws:
InvalidFipsRestProtocolException- if rest server protocol is not FIPS compliant.
-
validateFipsTlsCipherSuite
Validate cipher suites are FIPS compliant or not.- Parameters:
configs- the configuration contains cipher suites.- Throws:
InvalidFipsTlsCipherSuiteException- if cipher suites not FIPS compliant.
-
validateFipsTlsVersion
Validate TLS versions are FIPS compliant or not.- Parameters:
configs- the configuration contains TLS versions.- Throws:
InvalidFipsTlsVersionException- if TLS protocol not FIPS compliant.
-
validateFipsTlsCipherSuite
Validate cipher suites are FIPS compliant or not.- Parameters:
cipherSuites- a collection of cipher suites- Throws:
InvalidFipsTlsCipherSuiteException- if cipher suites not FIPS compliant.
-
validateFipsTlsVersion
Validate TLS versions are FIPS compliant or not.- Parameters:
tlsVersions- a collection of TLS protocol version.- Throws:
InvalidFipsTlsVersionException- if TLS protocol not FIPS compliant.
-