summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-10 13:53:16 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-10 13:53:16 +0000
commit01daa1fc7749fd9c15902d824d7e0902b7f481da (patch)
treeedc75ef98ef1fc3c098948195e74f8bf7ffdf119
parent876f5d3cab1e8ad29d37ec0cf25b804a6d59e5c4 (diff)
Add openssl cert generation prettyness, make it like our gnutls one. It seems that openssl doesnt support templating like gnutls, so we pipe the input in from configure
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6952 e03df62e-2008-0410-955e-edbf42e46eb7
-rwxr-xr-xconfigure4
-rw-r--r--make/opensslcert.pm32
2 files changed, 34 insertions, 2 deletions
diff --git a/configure b/configure
index 996edc981..a66a71dc2 100755
--- a/configure
+++ b/configure
@@ -25,6 +25,7 @@ use Getopt::Long;
use make::utilities;
use make::configure;
use make::gnutlscert;
+use make::opensslcert;
GetOptions (
'enable-gnutls' => \$opt_use_gnutls,
@@ -744,8 +745,7 @@ if ($config{USE_GNUTLS} eq "y") {
* Generating the certificates may take some time, go grab a *
* coffee, or something. *
*************************************************************\n\n";
- system("openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem");
- system("openssl dhparam -out dhparams.pem 1024");
+ make_openssl_cert();
print "\nCertificate generation complete, copying to config directory... ";
system("mv key.pem $config{CONFIG_DIR}/key.pem");
system("mv cert.pem $config{CONFIG_DIR}/cert.pem");
diff --git a/make/opensslcert.pm b/make/opensslcert.pm
new file mode 100644
index 000000000..2caad06cd
--- /dev/null
+++ b/make/opensslcert.pm
@@ -0,0 +1,32 @@
+package make::opensslcert;
+
+use Exporter 'import';
+use make::configure;
+@EXPORT = qw(make_openssl_cert);
+
+
+sub make_openssl_cert()
+{
+ open (FH, ">openssl.template");
+ my $org = promptstring_s("Please enter the organization name", "My IRC Network");
+ my $unit = promptstring_s("Please enter the unit Name", "Server Admins");
+ my $state = promptstring_s("Please enter your state or locality name", "Alaska");
+ my $country = promptstring_s("Please enter your country (two letter code)", "US");
+ my $city = promptstring_s("Please enter your city", "Factory Town");
+ my $email = promptstring_s("Please enter a contact email address", "oompa\@loompa.com");
+ print FH <<__END__;
+$country
+$state
+$city
+$org
+$unit
+$email
+firstname.lastname@yourcompany.com
+__END__
+close(FH);
+system("cat openssl.template | openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem 2>/dev/null");
+system("openssl dhparam -out dhparams.pem 1024");
+unlink("openssl.template");
+}
+
+1;