]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - make/opensslcert.pm
Aquanight's configure strict/fatal warnings patch
[user/henk/code/inspircd.git] / make / opensslcert.pm
1 package make::opensslcert;
2
3 require 5.8.0;
4
5 use strict;
6 use warnings FATAL => qw(all);
7
8 use Exporter 'import';
9 use make::configure;
10 our @EXPORT = qw(make_openssl_cert);
11
12
13 sub make_openssl_cert()
14 {
15         open (FH, ">openssl.template");
16         my $org = promptstring_s("Please enter the organization name", "My IRC Network");
17         my $unit = promptstring_s("Please enter the unit Name", "Server Admins");
18         my $country = promptstring_s("Please enter your country (two letter code)", "US");
19         my $state = promptstring_s("Please enter your state or locality name", "Alaska");
20         my $city = promptstring_s("Please enter your city", "Factory Town");
21         my $email = promptstring_s("Please enter a contact email address", "oompa\@loompa.com");
22         my $commonname = promptstring_s("Please enter the common name (domain name) of the irc server", "example.inspircd.org");
23         print FH <<__END__;
24 $country
25 $state
26 $city
27 $org
28 $unit
29 $commonname
30 $email
31 __END__
32 close(FH);
33
34 my $time = promptstring_s("Please enter the number of days that this certificate is valid for","365");
35         
36 system("cat openssl.template | openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem -days $time 2>/dev/null");
37 system("openssl dhparam -out dhparams.pem 1024");
38 unlink("openssl.template");
39 }
40
41 1;