NAME
Alien::LibreSSL - Alien wrapper for LibreSSL (alternative to OpenSSL)
VERSION
version 0.06
SYNOPSIS
EUMM:
use ExtUtils::MakeMaker;
use Alien::Base::Wrapper qw( Alien::LibreSSL !export );
WriteMakefile(
...
CONFIGURE => {
'Alien::Build::Wrapper' => 0,
'Alien::LibreSSL' => 0,
},
Alien::Base::Wrapper->mm_args,
);
MB:
use Module::Build;
use Alien::Base::Wrapper qw( Alien::LibreSSL !export );
my $build = Module::Build->new(
...
configure_requires => {
'Alien::Build::Wrapper' => 0,
'Alien::LibreSSL' => 0,
},
Alien::Base::Wrapper->mb_args,
...
);
$build->create_build_script;
Perl script:
use Alien::LibreSSL;
use Env qw( @PATH );
unshift @PATH, 'Alien::LibreSSL->bin_dir;
system 'openssl ...';
DESCRIPTION
This module provides an implementation of SSL. It will use the system SSL, if it can be found. If the system does not provide SSL, this alien will download and build LibreSSL, a drop in replacement for OpenSSL
Motivation
SSL has lots of pitfalls. SSL on Perl has all of those pitfalls plus some more. Once you get Net::SSLeay you are mostly out of the woods. Getting Net::SSLeay to install can be problematic on some platforms. My hope is that some combination of this module and Alien::OpenSSL will one day make it easier to install Net::SSLeay.
CAVEATS
None of this applies to a system install where OpenSSL or LibreSSL is already installed.
Retrieving LibreSSL or OpenSSL via the internet when you do not already have an SSL implementation introduces a bootstrapping problem. Newer versions of Alien::Build + alienfile prefer the use of curl
over Net::SSLeay because on some platforms it is more reliable. Further, this Alien will try to use wget
. curl
and wget
will only be used if they support the https
protocol. If neither curl
, wget
are available and Net::SSLeay isn't already installed, then this Alien will refuse to install because it has no safe way of retrieving LibreSSL from the internet. You can force an insecure install via ftp
or http
using the ALIEN_OPENSSL_FTP
environment variable below, but that is NOT recommended.
ENVIRONMENT
- ALIEN_OPENSSL_FTP
-
Set to
1
to allow downloads viaftp
orhttp
(the default). Set to0
to disallow insecure downloads overftp
orhttp
.
SEE ALSO
AUTHOR
Graham Ollis <plicease@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017-2022 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.