App-lupapona
view release on metacpan or search on metacpan
script/lupa-pona view on Meta::CPAN
if (not -f $key_file or not -f $cert_file) {
say "The certificate and/or key files are missing.";
say "Do you want to create them right now?";
say "The certificate uses eliptic curves and is valid for five years.";
say "If so, please provide your hostname (e.g. localhost).";
say "If not, just press Enter.";
local $SIG{'ALRM'} = sub {
die "Timed out!\n";
};
alarm(30); # timeout for the following prompt
my $hostname = <STDIN>;
alarm(0); # done, no more alarm
chomp $hostname;
die "Some other day.\n" unless $hostname;
die "The hostname may not contain any whitespace\n" if $hostname =~ /\s/;
my $cmd = qq(openssl req -new -x509 -newkey ec -subj "/CN=$hostname" )
. qq(-pkeyopt ec_paramgen_curve:prime256v1 -days 1825 -nodes -out cert.pem -keyout key.pem);
say "$cmd ";
system($cmd) == 0 or die "openssl failed: $?";
}
( run in 0.827 second using v1.01-cache-2.11-cpan-0b5f733616e )