deleted java keystore type of creds support
This commit is contained in:
		
							parent
							
								
									dfe2351079
								
							
						
					
					
						commit
						6a755ab0b7
					
				@ -643,32 +643,14 @@ redis:
 | 
				
			|||||||
  ssl:
 | 
					  ssl:
 | 
				
			||||||
    # Enable/disable secure connection
 | 
					    # Enable/disable secure connection
 | 
				
			||||||
    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
					    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
				
			||||||
    # Server SSL credentials
 | 
					    # Server SSL credentials (only PEM format is supported)
 | 
				
			||||||
    credentials:
 | 
					    credentials:
 | 
				
			||||||
      # Server credentials type (pem - pem certificate file; keystore - java keystore)
 | 
					      # Path redis server (CA) certificate
 | 
				
			||||||
      type: "${TB_REDIS_SSL_CREDENTIALS_TYPE:pem}"
 | 
					      cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
				
			||||||
      # PEM server credentials
 | 
					      # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
				
			||||||
      pem:
 | 
					      user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
				
			||||||
        # Path redis server (CA) certificate
 | 
					      # Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
 | 
				
			||||||
        cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
					      user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
				
			||||||
        # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
					 | 
				
			||||||
        # Path to user private key file. This is optional for the client and only needed if ‘ssl.pem.user_cert_file’ is configured.
 | 
					 | 
				
			||||||
        user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
					 | 
				
			||||||
      # Keystore server credentials
 | 
					 | 
				
			||||||
      keystore:
 | 
					 | 
				
			||||||
        # Type of the trust store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        truststore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the trust store file
 | 
					 | 
				
			||||||
        truststore_location: "${TB_REDIS_SSL_TRUSTSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The password of trust store file if specified
 | 
					 | 
				
			||||||
        truststore_password: "${TB_REDIS_SSL_TRUSTSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
        # Type of the key store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        keystore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        keystore_location: "${TB_REDIS_SSL_KEYSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
 | 
					 | 
				
			||||||
        keystore_password: "${TB_REDIS_SSL_KEYSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
  # pool config
 | 
					  # pool config
 | 
				
			||||||
  pool_config:
 | 
					  pool_config:
 | 
				
			||||||
    # Maximum number of connections that can be allocated by the connection pool
 | 
					    # Maximum number of connections that can be allocated by the connection pool
 | 
				
			||||||
 | 
				
			|||||||
@ -1,36 +0,0 @@
 | 
				
			|||||||
/**
 | 
					 | 
				
			||||||
 * Copyright © 2016-2024 The Thingsboard Authors
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 | 
				
			||||||
 * you may not use this file except in compliance with the License.
 | 
					 | 
				
			||||||
 * You may obtain a copy of the License at
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Unless required by applicable law or agreed to in writing, software
 | 
					 | 
				
			||||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
					 | 
				
			||||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					 | 
				
			||||||
 * See the License for the specific language governing permissions and
 | 
					 | 
				
			||||||
 * limitations under the License.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
package org.thingsboard.server.cache;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import lombok.Data;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@Data
 | 
					 | 
				
			||||||
public class RedisKeystoreCredentialsConfig {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String type;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String truststoreType;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String truststoreLocation;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String truststorePassword;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String keystoreType;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String keystoreLocation;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String keystorePassword;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,28 +0,0 @@
 | 
				
			|||||||
/**
 | 
					 | 
				
			||||||
 * Copyright © 2016-2024 The Thingsboard Authors
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 | 
				
			||||||
 * you may not use this file except in compliance with the License.
 | 
					 | 
				
			||||||
 * You may obtain a copy of the License at
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Unless required by applicable law or agreed to in writing, software
 | 
					 | 
				
			||||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
					 | 
				
			||||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					 | 
				
			||||||
 * See the License for the specific language governing permissions and
 | 
					 | 
				
			||||||
 * limitations under the License.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
package org.thingsboard.server.cache;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import lombok.Data;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@Data
 | 
					 | 
				
			||||||
public class RedisPemCredentialsConfig {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String certFile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String userCertFile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private String userKeyFile;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -22,12 +22,11 @@ import org.springframework.context.annotation.Configuration;
 | 
				
			|||||||
@Configuration
 | 
					@Configuration
 | 
				
			||||||
@ConfigurationProperties(prefix = "redis.ssl.credentials")
 | 
					@ConfigurationProperties(prefix = "redis.ssl.credentials")
 | 
				
			||||||
@Data
 | 
					@Data
 | 
				
			||||||
public class RedisSslCredentialsConfiguration {
 | 
					public class RedisSslCredentials {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private String type;
 | 
					    private String certFile;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private RedisKeystoreCredentialsConfig keystore;
 | 
					    private String userCertFile;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    private RedisPemCredentialsConfig pem;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private String userKeyFile;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -42,11 +42,14 @@ import javax.net.ssl.KeyManagerFactory;
 | 
				
			|||||||
import javax.net.ssl.SSLContext;
 | 
					import javax.net.ssl.SSLContext;
 | 
				
			||||||
import javax.net.ssl.SSLSocketFactory;
 | 
					import javax.net.ssl.SSLSocketFactory;
 | 
				
			||||||
import javax.net.ssl.TrustManagerFactory;
 | 
					import javax.net.ssl.TrustManagerFactory;
 | 
				
			||||||
import java.io.FileInputStream;
 | 
					import java.io.IOException;
 | 
				
			||||||
import java.security.KeyStore;
 | 
					import java.security.KeyStore;
 | 
				
			||||||
 | 
					import java.security.KeyStoreException;
 | 
				
			||||||
 | 
					import java.security.NoSuchAlgorithmException;
 | 
				
			||||||
import java.security.PrivateKey;
 | 
					import java.security.PrivateKey;
 | 
				
			||||||
import java.security.cert.CertPath;
 | 
					import java.security.cert.CertPath;
 | 
				
			||||||
import java.security.cert.Certificate;
 | 
					import java.security.cert.Certificate;
 | 
				
			||||||
 | 
					import java.security.cert.CertificateException;
 | 
				
			||||||
import java.security.cert.CertificateFactory;
 | 
					import java.security.cert.CertificateFactory;
 | 
				
			||||||
import java.security.cert.X509Certificate;
 | 
					import java.security.cert.X509Certificate;
 | 
				
			||||||
import java.time.Duration;
 | 
					import java.time.Duration;
 | 
				
			||||||
@ -100,13 +103,16 @@ public abstract class TBRedisCacheConfiguration {
 | 
				
			|||||||
    @Value("${redis.pool_config.blockWhenExhausted:true}")
 | 
					    @Value("${redis.pool_config.blockWhenExhausted:true}")
 | 
				
			||||||
    private boolean blockWhenExhausted;
 | 
					    private boolean blockWhenExhausted;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Value("${redis.ssl.enabled:false}")
 | 
				
			||||||
 | 
					    private boolean sslEnabled;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Bean
 | 
					    @Bean
 | 
				
			||||||
    public RedisConnectionFactory redisConnectionFactory() {
 | 
					    public RedisConnectionFactory redisConnectionFactory() {
 | 
				
			||||||
        return loadFactory();
 | 
					        return loadFactory();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Autowired
 | 
					    @Autowired
 | 
				
			||||||
    private RedisSslCredentialsConfiguration redisSslCredentials;
 | 
					    private RedisSslCredentials redisSslCredentials;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected abstract JedisConnectionFactory loadFactory();
 | 
					    protected abstract JedisConnectionFactory loadFactory();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -176,57 +182,35 @@ public abstract class TBRedisCacheConfiguration {
 | 
				
			|||||||
            sslContext.init(keyManagerFactory == null ? null : keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);
 | 
					            sslContext.init(keyManagerFactory == null ? null : keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);
 | 
				
			||||||
            return sslContext.getSocketFactory();
 | 
					            return sslContext.getSocketFactory();
 | 
				
			||||||
        } catch (Exception e) {
 | 
					        } catch (Exception e) {
 | 
				
			||||||
            throw new RuntimeException(e);
 | 
					            throw new RuntimeException("Creating TLS factory failed!", e);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private TrustManagerFactory createAndInitTrustManagerFactory() throws Exception {
 | 
					    private TrustManagerFactory createAndInitTrustManagerFactory() throws Exception {
 | 
				
			||||||
        String type = redisSslCredentials.getType();
 | 
					            List<X509Certificate> caCerts = SslUtil.readCertFileByPath(redisSslCredentials.getCertFile());
 | 
				
			||||||
        if ("pem".equals(type)) {
 | 
					 | 
				
			||||||
            RedisPemCredentialsConfig pemCredentials = redisSslCredentials.getPem();
 | 
					 | 
				
			||||||
            List<X509Certificate> caCerts = SslUtil.readCertFileByPath(pemCredentials.getCertFile());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            KeyStore caKeyStore = KeyStore.getInstance(KeyStore.getDefaultType());
 | 
					            KeyStore caKeyStore = KeyStore.getInstance(KeyStore.getDefaultType());
 | 
				
			||||||
            caKeyStore.load(null, null);
 | 
					            caKeyStore.load(null, null);
 | 
				
			||||||
            for (X509Certificate caCert : caCerts) {
 | 
					            for (X509Certificate caCert : caCerts) {
 | 
				
			||||||
                caKeyStore.setCertificateEntry("redis-caCert-cert-" + caCert.getSubjectX500Principal().getName(), caCert);
 | 
					                caKeyStore.setCertificateEntry("redis-caCert-cert-" + caCert.getSubjectX500Principal().getName(), caCert);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("X509");
 | 
					            TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
 | 
				
			||||||
            trustManagerFactory.init(caKeyStore);
 | 
					            trustManagerFactory.init(caKeyStore);
 | 
				
			||||||
            return trustManagerFactory;
 | 
					            return trustManagerFactory;
 | 
				
			||||||
        } else if ("keystore".equals(type)) {
 | 
					 | 
				
			||||||
            RedisKeystoreCredentialsConfig keystore = redisSslCredentials.getKeystore();
 | 
					 | 
				
			||||||
            KeyStore trustStore = KeyStore.getInstance(keystore.getKeystoreType());
 | 
					 | 
				
			||||||
            trustStore.load(new FileInputStream(keystore.getTruststoreLocation()), keystore.getTruststorePassword().toCharArray());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("X509");
 | 
					 | 
				
			||||||
            trustManagerFactory.init(trustStore);
 | 
					 | 
				
			||||||
            return trustManagerFactory;
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            throw new RuntimeException(type + ": Invalid SSL credentials configuration. None of the PEM or KEYSTORE configurations can be used!");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private KeyManagerFactory createAndInitKeyManagerFactory() throws Exception {
 | 
					    private KeyManagerFactory createAndInitKeyManagerFactory() throws Exception {
 | 
				
			||||||
        String type = redisSslCredentials.getType();
 | 
					        KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
 | 
				
			||||||
        if ("pem".equals(type)) {
 | 
					        kmf.init(loadKeyStore(), null);
 | 
				
			||||||
            RedisPemCredentialsConfig pemCredentials = redisSslCredentials.getPem();
 | 
					        return kmf;
 | 
				
			||||||
            return getKeyManagerFactory(pemCredentials);
 | 
					 | 
				
			||||||
        } else if ("keystore".equals(type)) {
 | 
					 | 
				
			||||||
            RedisKeystoreCredentialsConfig keystore = redisSslCredentials.getKeystore();
 | 
					 | 
				
			||||||
            return getKeyManagerFactory(keystore);
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            throw new RuntimeException(type + ": Invalid SSL credentials configuration. None of the PEM or KEYSTORE configurations can be used!");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private KeyManagerFactory getKeyManagerFactory(RedisPemCredentialsConfig pemCredentials) throws Exception {
 | 
					    private KeyStore loadKeyStore() throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException {
 | 
				
			||||||
        if (pemCredentials.getUserCertFile().isBlank() || pemCredentials.getUserKeyFile().isBlank()) {
 | 
					        if (redisSslCredentials.getUserCertFile().isBlank() || redisSslCredentials.getUserKeyFile().isBlank()) {
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        List<X509Certificate> certificates = SslUtil.readCertFileByPath(pemCredentials.getCertFile());
 | 
					        List<X509Certificate> certificates = SslUtil.readCertFileByPath(redisSslCredentials.getCertFile());
 | 
				
			||||||
        PrivateKey privateKey = SslUtil.readPrivateKeyByFilePath(pemCredentials.getUserKeyFile(), null);
 | 
					        PrivateKey privateKey = SslUtil.readPrivateKeyByFilePath(redisSslCredentials.getUserKeyFile(), null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
 | 
					        KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
 | 
				
			||||||
        keyStore.load(null);
 | 
					        keyStore.load(null);
 | 
				
			||||||
@ -242,21 +226,6 @@ public abstract class TBRedisCacheConfiguration {
 | 
				
			|||||||
            Certificate[] x509Certificates = path.toArray(new Certificate[0]);
 | 
					            Certificate[] x509Certificates = path.toArray(new Certificate[0]);
 | 
				
			||||||
            keyStore.setKeyEntry("redis-private-key", privateKey, null, x509Certificates);
 | 
					            keyStore.setKeyEntry("redis-private-key", privateKey, null, x509Certificates);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        return keyStore;
 | 
				
			||||||
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("PKIX");
 | 
					 | 
				
			||||||
        kmf.init(keyStore, null);
 | 
					 | 
				
			||||||
        return kmf;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private KeyManagerFactory getKeyManagerFactory(RedisKeystoreCredentialsConfig keystore) throws Exception {
 | 
					 | 
				
			||||||
        if (keystore.getKeystoreLocation().isBlank() || keystore.getKeystoreLocation().isBlank()) {
 | 
					 | 
				
			||||||
            return null;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        KeyStore keyStore = KeyStore.getInstance(keystore.getKeystoreType());
 | 
					 | 
				
			||||||
        keyStore.load(new FileInputStream(keystore.getKeystoreLocation()), keystore.getKeystorePassword().toCharArray());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("PKIX");
 | 
					 | 
				
			||||||
        kmf.init(keyStore, keystore.getKeystorePassword().toCharArray());
 | 
					 | 
				
			||||||
        return kmf;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -129,4 +129,5 @@ public class SslUtil {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        return privateKey;
 | 
					        return privateKey;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,10 @@ As result, in REPOSITORY column, next images should be present:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        mvn clean install -DblackBoxTests.skip=false
 | 
					        mvn clean install -DblackBoxTests.skip=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Run the black box tests (without ui tests) in the [msa/black-box-tests](../black-box-tests) directory with Redis standalone with TLS:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisSsl=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Run the black box tests in the [msa/black-box-tests](../black-box-tests) directory with Redis cluster:
 | 
					- Run the black box tests in the [msa/black-box-tests](../black-box-tests) directory with Redis cluster:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisCluster=true
 | 
					        mvn clean install -DblackBoxTests.skip=false -DblackBoxTests.redisCluster=true
 | 
				
			||||||
 | 
				
			|||||||
@ -97,32 +97,14 @@ redis:
 | 
				
			|||||||
  ssl:
 | 
					  ssl:
 | 
				
			||||||
    # Enable/disable secure connection
 | 
					    # Enable/disable secure connection
 | 
				
			||||||
    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
					    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
				
			||||||
    # Server SSL credentials
 | 
					    # Server SSL credentials (only PEM format is supported)
 | 
				
			||||||
    credentials:
 | 
					    credentials:
 | 
				
			||||||
      # Server credentials type (pem - pem certificate file; keystore - java keystore)
 | 
					      # Path redis server (CA) certificate
 | 
				
			||||||
      type: "${TB_REDIS_SSL_CREDENTIALS_TYPE:pem}"
 | 
					      cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
				
			||||||
      # PEM server credentials
 | 
					      # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
				
			||||||
      pem:
 | 
					      user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
				
			||||||
        # Path redis server (CA) certificate
 | 
					      # Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
 | 
				
			||||||
        cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
					      user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
				
			||||||
        # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
					 | 
				
			||||||
        # Path to user private key file. This is optional for the client and only needed if ‘ssl.pem.user_cert_file’ is configured.
 | 
					 | 
				
			||||||
        user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
					 | 
				
			||||||
      # Keystore server credentials
 | 
					 | 
				
			||||||
      keystore:
 | 
					 | 
				
			||||||
        # Type of the trust store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        truststore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the trust store file
 | 
					 | 
				
			||||||
        truststore_location: "${TB_REDIS_SSL_TRUSTSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The password of trust store file if specified
 | 
					 | 
				
			||||||
        truststore_password: "${TB_REDIS_SSL_TRUSTSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
        # Type of the key store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        keystore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        keystore_location: "${TB_REDIS_SSL_KEYSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
 | 
					 | 
				
			||||||
        keystore_password: "${TB_REDIS_SSL_KEYSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
  # pool config
 | 
					  # pool config
 | 
				
			||||||
  pool_config:
 | 
					  pool_config:
 | 
				
			||||||
    # Maximum number of connections that can be allocated by the connection pool
 | 
					    # Maximum number of connections that can be allocated by the connection pool
 | 
				
			||||||
 | 
				
			|||||||
@ -130,32 +130,14 @@ redis:
 | 
				
			|||||||
  ssl:
 | 
					  ssl:
 | 
				
			||||||
    # Enable/disable secure connection
 | 
					    # Enable/disable secure connection
 | 
				
			||||||
    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
					    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
				
			||||||
    # Server SSL credentials
 | 
					    # Server SSL credentials (only PEM format is supported)
 | 
				
			||||||
    credentials:
 | 
					    credentials:
 | 
				
			||||||
      # Server credentials type (pem - pem certificate file; keystore - java keystore)
 | 
					      # Path redis server (CA) certificate
 | 
				
			||||||
      type: "${TB_REDIS_SSL_CREDENTIALS_TYPE:pem}"
 | 
					      cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
				
			||||||
      # PEM server credentials
 | 
					      # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
				
			||||||
      pem:
 | 
					      user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
				
			||||||
        # Path redis server (CA) certificate
 | 
					      # Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
 | 
				
			||||||
        cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
					      user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
				
			||||||
        # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
					 | 
				
			||||||
        # Path to user private key file. This is optional for the client and only needed if ‘ssl.pem.user_cert_file’ is configured.
 | 
					 | 
				
			||||||
        user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
					 | 
				
			||||||
      # Keystore server credentials
 | 
					 | 
				
			||||||
      keystore:
 | 
					 | 
				
			||||||
        # Type of the trust store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        truststore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the trust store file
 | 
					 | 
				
			||||||
        truststore_location: "${TB_REDIS_SSL_TRUSTSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The password of trust store file if specified
 | 
					 | 
				
			||||||
        truststore_password: "${TB_REDIS_SSL_TRUSTSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
        # Type of the key store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        keystore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        keystore_location: "${TB_REDIS_SSL_KEYSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
 | 
					 | 
				
			||||||
        keystore_password: "${TB_REDIS_SSL_KEYSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
  # pool config
 | 
					  # pool config
 | 
				
			||||||
  pool_config:
 | 
					  pool_config:
 | 
				
			||||||
    # Maximum number of connections that can be allocated by the connection pool
 | 
					    # Maximum number of connections that can be allocated by the connection pool
 | 
				
			||||||
 | 
				
			|||||||
@ -97,32 +97,14 @@ redis:
 | 
				
			|||||||
  ssl:
 | 
					  ssl:
 | 
				
			||||||
    # Enable/disable secure connection
 | 
					    # Enable/disable secure connection
 | 
				
			||||||
    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
					    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
				
			||||||
    # Server SSL credentials
 | 
					    # Server SSL credentials (only PEM format is supported)
 | 
				
			||||||
    credentials:
 | 
					    credentials:
 | 
				
			||||||
      # Server credentials type (pem - pem certificate file; keystore - java keystore)
 | 
					      # Path redis server (CA) certificate
 | 
				
			||||||
      type: "${TB_REDIS_SSL_CREDENTIALS_TYPE:pem}"
 | 
					      cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
				
			||||||
      # PEM server credentials
 | 
					      # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
				
			||||||
      pem:
 | 
					      user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
				
			||||||
        # Path redis server (CA) certificate
 | 
					      # Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
 | 
				
			||||||
        cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
					      user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
				
			||||||
        # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
					 | 
				
			||||||
        # Path to user private key file. This is optional for the client and only needed if ‘ssl.pem.user_cert_file’ is configured.
 | 
					 | 
				
			||||||
        user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
					 | 
				
			||||||
      # Keystore server credentials
 | 
					 | 
				
			||||||
      keystore:
 | 
					 | 
				
			||||||
        # Type of the trust store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        truststore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the trust store file
 | 
					 | 
				
			||||||
        truststore_location: "${TB_REDIS_SSL_TRUSTSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The password of trust store file if specified
 | 
					 | 
				
			||||||
        truststore_password: "${TB_REDIS_SSL_TRUSTSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
        # Type of the key store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        keystore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        keystore_location: "${TB_REDIS_SSL_KEYSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
 | 
					 | 
				
			||||||
        keystore_password: "${TB_REDIS_SSL_KEYSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
  # pool config
 | 
					  # pool config
 | 
				
			||||||
  pool_config:
 | 
					  pool_config:
 | 
				
			||||||
    # Maximum number of connections that can be allocated by the connection pool
 | 
					    # Maximum number of connections that can be allocated by the connection pool
 | 
				
			||||||
 | 
				
			|||||||
@ -98,32 +98,14 @@ redis:
 | 
				
			|||||||
  ssl:
 | 
					  ssl:
 | 
				
			||||||
    # Enable/disable secure connection
 | 
					    # Enable/disable secure connection
 | 
				
			||||||
    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
					    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
				
			||||||
    # Server SSL credentials
 | 
					    # Server SSL credentials (only PEM format is supported)
 | 
				
			||||||
    credentials:
 | 
					    credentials:
 | 
				
			||||||
      # Server credentials type (pem - pem certificate file; keystore - java keystore)
 | 
					      # Path redis server (CA) certificate
 | 
				
			||||||
      type: "${TB_REDIS_SSL_CREDENTIALS_TYPE:pem}"
 | 
					      cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
				
			||||||
      # PEM server credentials
 | 
					      # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
				
			||||||
      pem:
 | 
					      user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
				
			||||||
        # Path redis server (CA) certificate
 | 
					      # Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
 | 
				
			||||||
        cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
					      user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
				
			||||||
        # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
					 | 
				
			||||||
        # Path to user private key file. This is optional for the client and only needed if ‘ssl.pem.user_cert_file’ is configured.
 | 
					 | 
				
			||||||
        user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
					 | 
				
			||||||
      # Keystore server credentials
 | 
					 | 
				
			||||||
      keystore:
 | 
					 | 
				
			||||||
        # Type of the trust store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        truststore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the trust store file
 | 
					 | 
				
			||||||
        truststore_location: "${TB_REDIS_SSL_TRUSTSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The password of trust store file if specified
 | 
					 | 
				
			||||||
        truststore_password: "${TB_REDIS_SSL_TRUSTSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
        # Type of the key store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        keystore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        keystore_location: "${TB_REDIS_SSL_KEYSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
 | 
					 | 
				
			||||||
        keystore_password: "${TB_REDIS_SSL_KEYSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
  # pool config
 | 
					  # pool config
 | 
				
			||||||
  pool_config:
 | 
					  pool_config:
 | 
				
			||||||
    # Maximum number of connections that can be allocated by the connection pool
 | 
					    # Maximum number of connections that can be allocated by the connection pool
 | 
				
			||||||
 | 
				
			|||||||
@ -97,32 +97,14 @@ redis:
 | 
				
			|||||||
  ssl:
 | 
					  ssl:
 | 
				
			||||||
    # Enable/disable secure connection
 | 
					    # Enable/disable secure connection
 | 
				
			||||||
    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
					    enabled: "${TB_REDIS_SSL_ENABLED:false}"
 | 
				
			||||||
    # Server SSL credentials
 | 
					    # Server SSL credentials (only PEM format is supported)
 | 
				
			||||||
    credentials:
 | 
					    credentials:
 | 
				
			||||||
      # Server credentials type (pem - pem certificate file; keystore - java keystore)
 | 
					      # Path redis server (CA) certificate
 | 
				
			||||||
      type: "${TB_REDIS_SSL_CREDENTIALS_TYPE:pem}"
 | 
					      cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
				
			||||||
      # PEM server credentials
 | 
					      # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
				
			||||||
      pem:
 | 
					      user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
				
			||||||
        # Path redis server (CA) certificate
 | 
					      # Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
 | 
				
			||||||
        cert_file: "${TB_REDIS_SSL_PEM_CERT:}"
 | 
					      user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
				
			||||||
        # Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        user_cert_file: "${TB_REDIS_SSL_PEM_KEY:}"
 | 
					 | 
				
			||||||
        # Path to user private key file. This is optional for the client and only needed if ‘ssl.pem.user_cert_file’ is configured.
 | 
					 | 
				
			||||||
        user_key_file: "${TB_REDIS_SSL_PEM_KEY_PASSWORD:}"
 | 
					 | 
				
			||||||
      # Keystore server credentials
 | 
					 | 
				
			||||||
      keystore:
 | 
					 | 
				
			||||||
        # Type of the trust store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        truststore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the trust store file
 | 
					 | 
				
			||||||
        truststore_location: "${TB_REDIS_SSL_TRUSTSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The password of trust store file if specified
 | 
					 | 
				
			||||||
        truststore_password: "${TB_REDIS_SSL_TRUSTSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
        # Type of the key store (JKS or PKCS12)
 | 
					 | 
				
			||||||
        keystore_type: "${TB_REDIS_SSL_KEY_STORE_TYPE:JKS}"
 | 
					 | 
				
			||||||
        # The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
 | 
					 | 
				
			||||||
        keystore_location: "${TB_REDIS_SSL_KEYSTORE_LOCATION:}"
 | 
					 | 
				
			||||||
        # The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
 | 
					 | 
				
			||||||
        keystore_password: "${TB_REDIS_SSL_KEYSTORE_PASSWORD:}"
 | 
					 | 
				
			||||||
  # pool config
 | 
					  # pool config
 | 
				
			||||||
  pool_config:
 | 
					  pool_config:
 | 
				
			||||||
    # Maximum number of connections that can be allocated by the connection pool
 | 
					    # Maximum number of connections that can be allocated by the connection pool
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user