1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00

Perl module and command line utility for issuing and maintaining the ACME

(Let's Encrypt) SSL certificates.

Submitted by:	Zeus Panchenko
This commit is contained in:
Alexey Dokuchaev 2019-12-23 13:16:23 +00:00
parent 6938310ec8
commit 474075d56d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=520720
6 changed files with 105 additions and 1 deletions

View File

@ -303,7 +303,7 @@
SUBDIR += libpwstor
SUBDIR += libressl
SUBDIR += libressl-devel
SUBDIR += libscep
SUBDIR += libscep
SUBDIR += libscrypt
SUBDIR += libsecret
SUBDIR += libsectok
@ -448,6 +448,7 @@
SUBDIR += p11-kit
SUBDIR += p5-Alt-Crypt-RSA-BigInt
SUBDIR += p5-Apache-Htpasswd
SUBDIR += p5-App-Acmeman
SUBDIR += p5-App-Genpass
SUBDIR += p5-App-TLSMe
SUBDIR += p5-Auth-YubikeyDecrypter

View File

@ -0,0 +1,40 @@
# Created by: Zeus Panchenko <zeus@gnu.org.ua>
# $FreeBSD$
PORTNAME= App-Acmeman
PORTVERSION= 3.02
CATEGORIES= security perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Automatic management of ACME (Let's Encrypt) SSL certificates
LICENSE= GPLv3+
RUN_DEPENDS= p5-Apache-Config-Preproc>=1.03:www/p5-Apache-Config-Preproc \
p5-Apache-Defaults>=1.02:www/p5-Apache-Defaults \
p5-Config-Parser>=1.03:devel/p5-Config-Parser \
p5-Crypt-OpenSSL-PKCS10>=0.16:security/p5-Crypt-OpenSSL-PKCS10 \
p5-Crypt-OpenSSL-X509>=1.804:security/p5-Crypt-OpenSSL-X509 \
p5-DateTime-Format-Strptime>=1.42:devel/p5-DateTime-Format-Strptime \
p5-LWP-Protocol-https>=6.04:www/p5-LWP-Protocol-https \
p5-Net-ACME2>=0.33:net/p5-Net-ACME2 \
p5-libwww>=6.05:www/p5-libwww
NO_ARCH= yes
USES= perl5
USE_PERL5= configure
post-extract:
@${CP} ${FILESDIR}/Unconfigured.pm ${WRKSRC}/lib/App/Acmeman/Source
post-patch:
@${REINPLACE_CMD} -e '/config_file =/s,/etc,${PREFIX}&,' \
${WRKSRC}/lib/App/Acmeman.pm
post-stage:
@${PRINTF} "[core]\n\tsource = unconfigured\n" > \
${STAGEDIR}${PREFIX}/etc/acmeman.conf.sample
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1571830961
SHA256 (App-Acmeman-3.02.tar.gz) = 8d6f75067e91947afbe873b3fe571abda7d8471f109d9160fd3160a532efb3e1
SIZE (App-Acmeman-3.02.tar.gz) = 34603

View File

@ -0,0 +1,35 @@
package App::Acmeman::Source::Unconfigured;
use strict;
use warnings;
use parent 'App::Acmeman::Source';
use App::Acmeman::Log qw(:all);
sub new {
my $self;
eval {
require App::Acmeman::Source;
$self = new App::Acmeman::Source;
};
if ($@) {
(my $s = $@) =~ s{ at /.+$}{};
error("No domain source configured");
print STDERR <<EOT;
You are seeing this error because you use the default configuration
file template and the default source "apache" cannot be loaded.
Please edit your configuration file (/usr/local/etc/acmeman.conf) and
change the \"source\" line appropriately.
For your information, the error reported by the "apache" module was:
$s
EOT
;
exit(78);
}
error("Using default domain source \"apache\"", prefix => 'note');
return $self;
}
1;

View File

@ -0,0 +1,12 @@
Perl module and command line utility for issuing and maintaining the ACME
(Let's Encrypt) SSL certificates.
While most existing ACME tools take a list of domain names for which to
issue certificates from their command line or configuration file, acmeman
gathers domain names directly from the configuration of the HTTP server
that serves them, so domain name obtains its certificate automatically,
once the administrator configures the HTTP server to serve it via HTTPS.
The utility is normally run as a cron(8) job.
WWW: https://metacpan.org/release/App-Acmeman

View File

@ -0,0 +1,13 @@
bin/acmeman
@sample etc/acmeman.conf.sample
%%SITE_PERL%%/App/Acmeman.pm
%%SITE_PERL%%/App/Acmeman/Apache/Layout.pm
%%SITE_PERL%%/App/Acmeman/Config.pm
%%SITE_PERL%%/App/Acmeman/Domain.pm
%%SITE_PERL%%/App/Acmeman/Log.pm
%%SITE_PERL%%/App/Acmeman/Source.pm
%%SITE_PERL%%/App/Acmeman/Source/Apache.pm
%%SITE_PERL%%/App/Acmeman/Source/File.pm
%%SITE_PERL%%/App/Acmeman/Source/Null.pm
%%SITE_PERL%%/App/Acmeman/Source/Unconfigured.pm
%%PERL5_MAN1%%/acmeman.1.gz