Server IP : 195.201.23.43 / Your IP : 3.17.156.160 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/usermin/ |
Upload File : |
#!/usr/bin/perl # Replace the existing Webmin SSL key require './usermin-lib.pl'; &ReadParseMime(); &error_setup($text{'savekey_err'}); # Validate inputs $key = $in{'key'} || $in{'keyfile'}; $key =~ s/\r//g; $key =~ /BEGIN (RSA |EC )?PRIVATE KEY/ && $key =~ /END (RSA |EC )?PRIVATE KEY/ || &error($text{'savekey_ekey'}); if (!$in{'cert_def'}) { # Make sure cert is valid $cert = $in{'cert'} || $in{'certfile'}; $cert =~ s/\r//g; $cert =~ /BEGIN CERTIFICATE/ && $cert =~ /END CERTIFICATE/ || &error($text{'savekey_ecert'}); } else { # Make sure key contains cert $key =~ /BEGIN CERTIFICATE/ && $key =~ /END CERTIFICATE/ || &error($text{'savekey_ecert2'}); } if (!$in{'chain_def'}) { # Make sure chained cert is valid $chain = $in{'chain'} || $in{'chainfile'}; $chain =~ s/\r//g; $chain =~ /BEGIN CERTIFICATE/ && $chain =~ /END CERTIFICATE/ || &error($text{'savekey_echain'}); } # Save config and key file &lock_file($usermin_miniserv_config); &get_usermin_miniserv_config(\%miniserv); $miniserv{'keyfile'} ||= "$config_directory/miniserv.pem"; &lock_file($miniserv{'keyfile'}); &open_tempfile(KEY, ">$miniserv{'keyfile'}"); &print_tempfile(KEY, $key); &close_tempfile(KEY); &unlock_file($miniserv{'keyfile'}); if ($in{'cert_def'}) { delete($miniserv{'certfile'}); } else { $miniserv{'certfile'} ||= "$config_directory/miniserv.cert"; &lock_file($miniserv{'certfile'}); &open_tempfile(CERT, ">$miniserv{'certfile'}"); &print_tempfile(CERT, $cert); &close_tempfile(CERT); &unlock_file($miniserv{'certfile'}); } if (!$in{'chain_def'}) { $miniserv{'extracas'} = "$config_directory/miniserv.ca" if (!$miniserv{'extracas'} || $miniserv{'extracas'} =~ /\s/); &lock_file($miniserv{'extracas'}); &open_tempfile(CERT, ">$miniserv{'extracas'}"); &print_tempfile(CERT, $chain); &close_tempfile(CERT); &unlock_file($miniserv{'extracas'}); } &put_usermin_miniserv_config(\%miniserv); &unlock_file($usermin_miniserv_config); # Tell the user &ui_print_header(undef, $text{'savekey_title'}, ""); if ($miniserv{'certfile'}) { print &text('savekey_done2', "<tt>$miniserv{'keyfile'}</tt>", "<tt>$miniserv{'certfile'}</tt>"),"<p>\n"; } else { print &text('savekey_done', "<tt>$miniserv{'keyfile'}</tt>"),"<p>\n"; } if (!$in{'chain_def'}) { print &text('savekey_done3', "<tt>$miniserv{'extracas'}</tt>"),"<p>\n"; } &ui_print_footer("", $text{'index_return'}); &webmin_log("savekey"); &restart_usermin_miniserv(1);Private