X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=make%2Fgnutlscert.pm;h=a67be0cfdac005981f23c31adb0f5e1bd9a5e330;hb=67822c67e91e70917ddbdec0bd8453c7170ee06d;hp=d05f6f6a20b0c3c9041b97a93bb0650325c1cb02;hpb=f22b48724942fc07423c7a3c4540500c5bb4200a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/make/gnutlscert.pm b/make/gnutlscert.pm index d05f6f6a2..a67be0cfd 100644 --- a/make/gnutlscert.pm +++ b/make/gnutlscert.pm @@ -1,20 +1,45 @@ +# +# InspIRCd -- Internet Relay Chat Daemon +# +# Copyright (C) 2007 Dennis Friis +# Copyright (C) 2007 Craig Edwards +# +# This file is part of InspIRCd. InspIRCd is free software: you can +# redistribute it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation, version 2. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + package make::gnutlscert; +require 5.8.0; + +use strict; +use warnings FATAL => qw(all); + use Exporter 'import'; use make::configure; -@EXPORT = qw(make_gnutls_cert); +our @EXPORT = qw(make_gnutls_cert); sub make_gnutls_cert() { open (FH, ">certtool.template"); my $timestr = time(); - my $org = promptstring("Please enter the organization name", "My IRC Network"); - my $unit = promptstring("Please enter the unit Name", "Server Admins"); - my $state = promptstring("Pleae enter your state (two letter code)", "CA"); - my $country = promptstring("Please enter your country", "Oompa Loompa Land"); - my $commonname = promptstring("Please enter the certificate common name (hostname)", "irc.mynetwork.com"); - my $email = promptstring("Please enter a contact email address", "oompa\@loompa.com"); + 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 (two letter code)", "CA"); + my $country = promptstring_s("Please enter your country", "Oompa Loompa Land"); + my $commonname = promptstring_s("Please enter the certificate common name (hostname)", "irc.mynetwork.com"); + my $email = promptstring_s("Please enter a contact email address", "oompa\@loompa.com"); print FH <<__END__; # X.509 Certificate options # @@ -106,9 +131,17 @@ ocsp_signing_key time_stamping_key __END__ close(FH); -system("certtool --generate-privkey --outfile key.pem"); -system("certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem --template certtool.template"); +my $certtool = "certtool"; +if (`uname -s` eq "Darwin\n") { + # On OS X the certtool binary name is different to prevent + # collisions with the system certtool from NSS. + $certtool = "gnutls-certtool"; +} +if ( (my $status = system("$certtool --generate-privkey --outfile key.pem")) ne 0) { return 1; } +if ( (my $status = system("$certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem --template certtool.template")) ne 0) { return 1; } unlink("certtool.template"); +return 0; } 1; +