#!/usr/bin/env perl # Auto IRC Bot. An advanced, lightweight and powerful IRC bot. # Copyright (C) 2010-2011 Xelhua Development Team (doc/CREDITS) # This program is free software; rights to this code are stated in doc/LICENSE. # A simple script for generating an SSL certificate. require 5.010000; use strict; use warnings; use FindBin qw($Bin); use feature qw(say); our $VERSION = 1.00; my $bin = $Bin; # Get the name of the network this cert is for. print 'Network Name: '; my $net = ; $net =~ s/(\r|\n)//gxsm; say q{}; # Make sure etc/certs/ exists. if (!-d "$bin/../etc") { mkdir "$bin/../etc", 0755; } if (!-d "$bin/../etc/certs") { mkdir "$bin/../etc/certs", 0755; } # Generate key and cert. system 'openssl req -nodes -newkey rsa:2048 -keyout '.$bin.'/../etc/certs/'.$net.'.key -x509 -days 3650 -out '.$bin.'/../etc/certs/'.$net.'.cert'; chmod 0400, "$bin/../etc/certs/$net.key"; # Get the fingerprint. my $fpr = `openssl x509 -noout -fingerprint -text < $bin/../etc/certs/$net.cert`; my $fp; while ($fpr =~ s/(.*\n)//) { my $line = $1; $line =~ s/(\r|\n)//gsm; if ($line =~ m/^SHA1 Fingerprint/sm) { my $sfp = substr $line, 17; $sfp =~ s/://gxsm; $fp = $sfp; } } # Print the fingerprint. say 'Done. Fingerprint: '.$fp; # vim: set ai sw=4 ts=4: