@@ -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 ()
0 commit comments