3 # Display the current CA or a form for creating one
5 require './webmin-lib.pl';
6 ui_print_header(undef, $text{'ca_title'}, "");
7 get_miniserv_config(\%miniserv);
9 %aclconfig = foreign_config("acl");
10 foreign_require("acl", "acl-lib.pl");
11 if (!$ENV{"MINISERV_CONFIG"}) {
12 print "<p>$text{'ca_eminiserv'}<p>\n";
13 ui_print_footer("", $text{'index_return'});
16 elsif (uc($ENV{'HTTPS'}) ne 'ON') {
17 print "<p>$text{'ca_essl'}<p>\n";
18 ui_print_footer("", $text{'index_return'});
21 elsif (!defined(&Net::SSLeay::X509_STORE_CTX_get_current_cert) ||
22 !defined(&Net::SSLeay::CTX_load_verify_locations) ||
23 !defined(&Net::SSLeay::CTX_set_verify)) {
24 print "<p>$text{'ca_eversion'}<p>\n";
25 ui_print_footer("", $text{'index_return'});
28 elsif (!acl::get_ssleay()) {
29 print "<p>",text('ca_essleay',
30 "<tt>$aclconfig{'ssleay'}</tt>"),"<p>\n";
31 ui_print_footer("", $text{'index_return'});
35 print -r $miniserv{'ca'} ? $text{'ca_newmsg1'} : $text{'ca_newmsg1'},"<p>\n";
37 print ui_form_start("setup_ca.cgi", "post");
38 print ui_table_start($text{'ca_header1'}, undef, 2);
40 print &ui_table_row($text{'ca_cn'},
41 &ui_textbox("commonName", undef, 30));
43 print &ui_table_row($text{'ca_email'},
44 &ui_textbox("emailAddress", undef, 30));
46 print &ui_table_row($text{'ca_ou'},
47 &ui_textbox("organizationalUnitName", undef, 30));
49 print &ui_table_row($text{'ca_o'},
50 &ui_textbox("organizationName", undef, 30));
52 print &ui_table_row($text{'ca_sp'},
53 &ui_textbox("stateOrProvinceName", undef, 15));
55 print &ui_table_row($text{'ca_c'},
56 &ui_textbox("countryName", undef, 2));
58 print &ui_table_row($text{'ssl_size'},
59 &ui_opt_textbox("size", undef, 6,
60 "$text{'default'} ($default_key_size)").
61 " ".$text{'ssl_bits'});
64 print ui_form_end([ [ "create", $text{'ca_create'} ] ]);
68 print -r $miniserv{'ca'} ? $text{'ca_oldmsg1'} : $text{'ca_oldmsg2'},"<p>\n";
70 print ui_form_start("change_ca.cgi", "form-data");
71 print ui_table_start($text{'ca_header2'}, undef, 2);
72 print ui_table_row(undef,
74 $miniserv{'ca'} ? &read_file_contents($miniserv{'ca'}) : undef,
77 print ui_form_end([ [ "save", $text{'save'} ] ]);
79 if (-r $miniserv{'ca'}) {
81 print &ui_buttons_start();
82 print &ui_buttons_row("stop_ca", $text{'ca_stop'},
84 print &ui_buttons_end();
87 ui_print_footer("", $text{'index_return'});