Skip to content

Commit b545188

Browse files
authored
feat(flex-linux-setup): enable TLSv1.3 in java.security file (#2621)
* feat(flex-linux-setup): enable TLSv1.3 in java.security file Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(flex-linux-setup): coderabbitai suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> * fix(flex-linux-setup): sonarcube suggestions Signed-off-by: Mustafa Baser <mbaser@mail.com> --------- Signed-off-by: Mustafa Baser <mbaser@mail.com>
1 parent f69fd42 commit b545188

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

flex-linux-setup/flex_linux_setup/flex_setup.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,9 @@ def __init__(self):
328328
self.adimin_ui_bin_url = 'https://jenkins.gluu.org/npm/admin_ui/main/built/admin-ui-main-built.tar.gz'
329329
self.policy_store_path = os.path.join(self.templates_dir, 'policy-store.json')
330330
self.schema_file = os.path.join(self.flex_setup_dir, 'flex_schema.json')
331+
self.java_security_fn = os.path.join(self.templates_dir, 'java.security')
332+
self.config_api_base_dir = os.path.join(config_api_installer.jetty_base, config_api_installer.service_name)
333+
self.java_security_dir = os.path.join(self.config_api_base_dir, 'etc/jetty/security')
331334

332335
if not argsp.download_exit:
333336
self.dbUtils.bind(force=True)
@@ -615,6 +618,9 @@ def install_gluu_admin_ui(self):
615618
)
616619
config_api_installer.run([base.paths.cmd_chmod, '+x', os.path.join(Config.jansOptBinFolder, 'admin-ui')])
617620

621+
self.tls13_settings()
622+
623+
618624
def install_config_api_plugin(self):
619625

620626
old_plugin = os.path.join(config_api_installer.libDir, 'admin-ui-plugin.jar')
@@ -656,6 +662,41 @@ def install_config_api_plugin(self):
656662

657663
self.rewrite_cli_ini()
658664

665+
666+
def tls13_settings(self):
667+
668+
if not os.path.exists(self.java_security_fn):
669+
return
670+
671+
os.makedirs(self.java_security_dir, exist_ok=True)
672+
config_api_installer.copyFile(self.java_security_fn, self.java_security_dir)
673+
674+
config_api_server_ini_fn = os.path.join(self.config_api_base_dir, 'start.d/server.ini')
675+
if not os.path.exists(config_api_server_ini_fn):
676+
return
677+
678+
java_security_prefix = '-Djava.security.properties'
679+
java_security_prop_line = f'{java_security_prefix}=./' + Path(self.java_security_dir).relative_to(self.config_api_base_dir).joinpath(os.path.basename(self.java_security_fn)).as_posix()
680+
config_api_server_ini_content = config_api_installer.readFile(config_api_server_ini_fn)
681+
config_api_server_ini_content_list = config_api_server_ini_content.splitlines()
682+
write_fn = False
683+
684+
for i, line in enumerate(config_api_server_ini_content_list[:]):
685+
ls = line.strip()
686+
if ls == java_security_prop_line:
687+
break
688+
lsl = ls.split('=')
689+
if len(lsl) > 1 and lsl[0].strip() == java_security_prefix:
690+
config_api_server_ini_content_list[i] = java_security_prop_line
691+
write_fn = True
692+
break
693+
else:
694+
config_api_server_ini_content_list.append(java_security_prop_line)
695+
write_fn = True
696+
697+
if write_fn:
698+
config_api_installer.writeFile(config_api_server_ini_fn, '\n'.join(config_api_server_ini_content_list))
699+
659700
def install_casa(self):
660701
Config.install_casa = True
661702
jans_casa_installer.calculate_selected_aplications_memory()
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, DTLSv1.0, RC4, DES, \
2+
MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
3+
ECDH, TLS_RSA_*, TLS_ECDH_*, *_CBC_*, ffdhe2048, rsa_pkcs1_sha1 usage HandshakeSignature, \
4+
ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature

0 commit comments

Comments
 (0)