To be Reviewed By: January 13, 2020
Authors: Mario Ivanac
Status: Draft | Discussion | Active | Dropped | Superseded
Superseded by: N/A
Related: N/A
We would like to add generation of Server Name Indication (SNI) parameter to Client Hello message in geode.
Idea is to implement generic solution for modification of SSL parameters. If the user wishes to manipulate SSL Parameters they would need to define class which implements new interface and provide ServiceLoader pattern as a new configuration parameter.
Configuration:
We will introduce new configuration parameter:
- ssl-parameter-extension: User defined fully qualified class name implementing SSLParameterExtension interface for SSL parameter extensions. Defaults to "".
User class must implement SSLParameterExtension interface.
public interface SSLParameterExtension {
default void init(Properties properties) {}
default SSLParameters modifySSLClientSocketParameters(SSLParameters parameters) {
return parameters;
}
default SSLParameters modifySSLServerSocketParameters(SSLParameters parameters) {
return parameters;
}
} |
For more details see: PR 4505
If you are proposing to add or modify public interfaces, those changes should be outlined here in detail.
None
No upgrade or backwards compatibility issues.
What would be the alternatives to the proposed solution? What would happen if we don’t solve the problem? Why should this proposal be preferred?
Answers to questions you’ve commonly been asked after requesting comments for this proposal.
Since this RFC was approved, modification of argument for init() method was proposed, since it takes a DistributionConfig as an argument, but that is an internal class.
New proposal is to use Properties as argument for init() method:
default void init(Properties properties) {}