Files
scripts-conlxsyslog03/zert_ablauf.pl
conetadm 5718e70f15 init
2024-11-14 21:11:06 +01:00

29 lines
1.9 KiB
Perl
Executable File

#!/usr/bin/perl
use Date::Calc qw(Delta_DHMS);
@files = `find /home/conetadm/.TinyCA/ -name index.txt`;
foreach $file (@files) {
open FILE, "$file";
push @certs, <FILE>;
close FILE;
}
foreach $cert (@certs) {
next unless $cert =~ /^V/;
chomp $cert;
($valid, $time, undef, $serial, $unknown, $oustr) = split /\t/, $cert;
($o, $ou, $cn, $email) = $oustr =~ /O=(.*)\/OU=(.*)\/CN=(.*)\/emailAddress=(.*)/;
$cn =~ s/\\xE4/ä/g; $cn =~ s/\\xC4/Ä/g; $cn =~ s/\\xF6/ö/g; $cn =~ s/\\xD6/Ö/g; $cn =~ s/\\xFC/ü/g; $cn =~ s/\\xDC/Ü/g; $cn =~ s/\\xDF/ß/g;
($cyy, $cmo, $cdd, $chh, $cmm, $css) = $time =~ /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/; $cyy+=2000;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year+=1900; $mon++;
($Dd,$Dh,$Dm,$Ds) = Delta_DHMS($year,$mon,$mday,$hour,$min,$sec, $cyy,$cmo,$cdd,$chh,$cmm,$css);
if ($Dd < 30 && $Dd > -1) {
print "Certificate ($cn) for $email expires in $Dd day(s)\n";
#`echo "" | mutt -H /tmp/mailfile.tmp -a $OUTFILE -- $MAIL`;
`echo "Certificate (CN=$cn, O=$o, OU=$ou) for $email expires in $Dd days.\n" | mailx -a "From: CONET Services Certificate Authority <help\@conet.de>" -a "Return-Path: help\@conet.de" -s "Certificate expiration warning" help\@conet.de`;
#$email="ageissler\@conet.de";
$SUBJECT="Certificate expiration warning";
$CONTENT="<html> \n<body> \nYour certificate ($cn $email) will expire in $Dd day(s).<br> \nReply to this email, please&#33;<br> \n<br> \nIhr Zertifikat ($cn $email) wird in $Dd Tag(en) ablaufen.<br> \nBitte antworten Sie auf diese Mail&#33;<br> \n<br> \nRenew certificate? / Zertifikat verl&auml;ngern? [Ja/Nein]<br> \n<br> \n</body> \n</html> \n";
`(echo "Subject: $SUBJECT\nMIME-Version: 1.0\nFrom: help\@conet.de\nTo:$email\nContent-Type: text/html\nContent-Disposition: inline\n\n";echo "$CONTENT") | /usr/sbin/sendmail -f help\@conet.de $email`;
}
}