Viewing file: gencert.cgi (1.12 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # Actually generate the cert
require './ldap-server-lib.pl'; &local_ldap_server() == 1 || &error($text{'slapd_elocal'}); $access{'slapd'} || &error($text{'slapd_ecannot'}); &foreign_require("webmin", "webmin-lib.pl"); &ReadParse(); &error_setup($text{'gencert_err'}); $conf = &get_config();
# Work out dest files if ($in{'dest_def'}) { $keyfile = &find_value("TLSCertificateKeyFile", $conf); $certfile = &find_value("TLSCertificateFile", $conf); } else { # In some dir -d $in{'dest'} || &error($text{'gencert_edest'}); $keyfile = $in{'dest'}."/ldap.key"; $certfile = $in{'dest'}."/ldap.cert"; }
# Do it $err = &webmin::parse_ssl_key_form(\%in, $keyfile, $certfile eq $keyfile ? undef : $certfile); &error($err) if ($err);
# Make readable by LDAP user &set_ownership_permissions($config{'ldap_user'}, undef, undef, $keyfile, $certfile);
# Update config to use them &lock_slapd_files(); &save_directive($conf, "TLSCertificateFile", $certfile); &save_directive($conf, "TLSCertificateKeyFile", $keyfile); &flush_file_lines($config{'config_file'}); &unlock_slapd_files();
&webmin_log("gencert"); &redirect("");
|