view release on metacpan or search on metacpan
lib/Armadito/Agent/HTTP/Client.pm view on Meta::CPAN
# just checking on LWP version is not enough
$self->{ua}->ssl_opts( verify_hostname => 0, SSL_verify_mode => 0 )
if $self->{ua}->can('ssl_opts');
}
else {
# only IO::Socket::SSL can perform full server certificate validation,
# Net::SSL is only able to check certification authority, and not
# certificate hostname
IO::Socket::SSL->require();
die "IO::Socket::SSL Perl module not available, "
. "unable to validate SSL certificates "
. "(workaround: use 'no-ssl-check' configuration parameter)"
if $EVAL_ERROR;
if ( $self->{logger}{verbosity} > LOG_DEBUG2 ) {
lib/Armadito/Agent/HTTP/Client.pm view on Meta::CPAN
$self->{ua}->ssl_opts( SSL_ca_path => $self->{ca_cert_dir} )
if $self->{ca_cert_dir};
}
else {
# SSL_verifycn_scheme and SSL_verifycn_name are required
die "IO::Socket::SSL Perl module too old "
. "(available: $IO::Socket::SSL::VERSION, required: 1.14), "
. "unable to validate SSL certificates "
. "(workaround: use 'no-ssl-check' configuration parameter)"
if $IO::Socket::SSL::VERSION < 1.14;
# use a custom HTTPS handler to workaround default LWP5 behaviour
Armadito::Agent::HTTP::Protocol::https->use(
ca_cert_file => $self->{ca_cert_file},
ca_cert_dir => $self->{ca_cert_dir},
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Arriba/Server.pm view on Meta::CPAN
use base 'Net::Server::PreFork';
use HTTP::Date;
use HTTP::Status qw(status_message);
use HTTP::Parser::XS qw(parse_http_request);
use IO::Socket::SSL;
use Plack::Util;
use Plack::TempBuffer;
use constant DEBUG => $ENV{ARRIBA_DEBUG};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Async/Redis.pm view on Meta::CPAN
return Time::HiRes::time() + $seconds + $self->{blocking_timeout_buffer};
}
sub _ssl_verify_peer {
require IO::Socket::SSL;
return IO::Socket::SSL::SSL_VERIFY_PEER();
}
sub _ssl_verify_none {
require IO::Socket::SSL;
return IO::Socket::SSL::SSL_VERIFY_NONE();
}
# Build the IO::Socket::SSL option hash for the current connection.
# Handles chain verification, SNI, hostname identity checking, and
# client cert/key/CA forwarding. Called by _tls_upgrade and directly
# by unit tests.
sub _build_tls_options {
my ($self) = @_;
lib/Async/Redis.pm view on Meta::CPAN
# Non-blocking TLS upgrade
async sub _tls_upgrade {
my ($self, $socket) = @_;
require IO::Socket::SSL;
my %ssl_opts = $self->_build_tls_options;
# Start SSL (does not block because SSL_startHandshake => 0)
IO::Socket::SSL->start_SSL($socket, %ssl_opts)
or die Async::Redis::Error::Connection->new(
message => "SSL setup failed: " . IO::Socket::SSL::errstr(),
host => $self->{host},
port => $self->{port},
);
# Drive handshake with non-blocking loop
lib/Async/Redis.pm view on Meta::CPAN
# Check what the handshake needs
my $remaining = $deadline - Time::HiRes::time();
$remaining = 0.1 if $remaining <= 0;
if ($IO::Socket::SSL::SSL_ERROR == IO::Socket::SSL::SSL_ERROR_WANT_READ()) {
# Wait for socket to become readable with timeout
my $read_f = Future::IO->waitfor_readable($socket);
my $timeout_f = Future::IO->sleep($remaining)->then(sub {
return Future->fail('tls_timeout');
});
lib/Async/Redis.pm view on Meta::CPAN
message => "TLS handshake timed out",
timeout => $self->{connect_timeout},
);
}
}
elsif ($IO::Socket::SSL::SSL_ERROR == IO::Socket::SSL::SSL_ERROR_WANT_WRITE()) {
# Wait for socket to become writable with timeout
my $write_f = Future::IO->waitfor_writable($socket);
my $timeout_f = Future::IO->sleep($remaining)->then(sub {
return Future->fail('tls_timeout');
});
lib/Async/Redis.pm view on Meta::CPAN
}
}
else {
# Actual error
die Async::Redis::Error::Connection->new(
message => "TLS handshake failed: " . IO::Socket::SSL::errstr(),
host => $self->{host},
port => $self->{port},
);
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
"Archive::CAR" : "0",
"Codec::CBOR" : "0",
"Crypt::JWT" : "0",
"Crypt::PK::ECC" : "0",
"File::ShareDir::Tiny" : "0",
"IO::Socket::SSL" : "1.42",
"JSON::PP" : "0",
"MIME::Base64" : "0",
"Net::SSLeay" : "1.49",
"Path::Tiny" : "0",
"Time::Moment" : "0",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/AuthCAS.pm view on Meta::CPAN
AuthCAS aims at providing a Perl API to JA-SIG Central Authentication System (CAS).
Only a basic Perl library is provided with CAS whereas AuthCAS is a full object-oriented library.
=head1 PREREQUISITES
This script requires IO::Socket::SSL and LWP::UserAgent
=head1 SYNOPSIS
A simple example with a direct CAS authentication
lib/AuthCAS.pm view on Meta::CPAN
=item proxyValidatePath - '/proxyValidate'
=item SSL_version - unset
Sets the version of the SSL protocol used to transmit data. If the default causes connection issues, setting it to 'SSLv3' may help.
see the documentation for L<IO::Socket::SSL/"METHODS"> for more information
see L<http://www.perlmonks.org/?node_id=746493> for more details.
=back
Returns a new B<AuthCAS> or dies on error.
lib/AuthCAS.pm view on Meta::CPAN
$errors = sprintf
"error : incorrect access to cafile ".($trusted_ca_file||'<empty>')." or capath ".($trusted_ca_path||'<empty>')."\n";
return undef;
}
unless ( eval "require IO::Socket::SSL" ) {
$errors = sprintf
"Unable to use SSL library, IO::Socket::SSL required, install IO-Socket-SSL (CPAN) first\n";
return undef;
}
require IO::Socket::SSL;
unless ( eval "require LWP::UserAgent" ) {
$errors = sprintf
"Unable to use LWP library, LWP::UserAgent required, install LWP (CPAN) first\n";
return undef;
lib/AuthCAS.pm view on Meta::CPAN
if ( $trusted_ca_file || $trusted_ca_path );
$ssl_options{'SSL_version'} = $ssl_data->{'SSL_version'}
if defined( $ssl_data->{'SSL_version'} );
$ssl_socket = new IO::Socket::SSL(%ssl_options);
unless ($ssl_socket) {
$errors = sprintf "error %s unable to connect https://%s:%s/\n",
&IO::Socket::SSL::errstr, $host, $port;
return undef;
}
my $request = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
print $ssl_socket "$request";
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Authen/Credential/x509.pm view on Meta::CPAN
#
# preparators
#
$Authen::Credential::Preparator{x509}{"IO::Socket::SSL"} = sub {
my($self, %data);
$self = shift(@_);
validate_pos(@_) if @_;
foreach my $tmp ($self->cert(), $ENV{X509_USER_CERT}) {
next unless defined($tmp);
lib/Authen/Credential/x509.pm view on Meta::CPAN
It supports the following targets for the prepare() method:
=over
=item IO::Socket::SSL
it returns a reference to a hash containing the suitable options for
IO::Socket::SSL
=back
=head1 EXAMPLE
use Authen::Credential;
use IO::Socket::SSL;
# get the credential from somewhere
$cred = Authen::Credential->parse(...);
# use the prepare() method to get ready-to-use data
$sslopts = $cred->prepare("IO::Socket::SSL");
$socket = IO::Socket::SSL->new(
PeerHost => "web.acme.com",
PeerPort => "https",
%{ $sslopts },
);
=head1 SEE ALSO
L<Authen::Credential>,
L<IO::Socket::SSL>,
L<http://en.wikipedia.org/wiki/X.509>.
=head1 AUTHOR
Lionel Cons L<http://cern.ch/lionel.cons>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Authen/Simple/Gmail.pm view on Meta::CPAN
use strict;
use warnings;
$Authen::Simple::Gmail::VERSION = '0.2';
use IO::Socket::SSL ();
use Authen::Simple::Adapter ();
use base 'Authen::Simple::Adapter';
my $portable_crlf = "\015\012"; # "\r\n" is not portable
sub check {
my ( $self, $username, $password ) = @_;
my $sock = IO::Socket::SSL->new(
'PeerHost' => "pop.gmail.com",
'PeerPort' => "995",
'SSL_verify_mode' => IO::Socket::SSL::SSL_VERIFY_NONE, # Patches welcome!
);
if ( !$sock ) {
$self->log->error( IO::Socket::SSL->errstr() ) if $self->log;
return;
}
my $line = <$sock>; # welcome msg
lib/Authen/Simple/Gmail.pm view on Meta::CPAN
=head1 DEPENDENCIES
L<Authen::Simple::Adapter> for subclassing.
L<IO::Socket::SSL> for the SSL socket
=head1 INCOMPATIBILITIES
None reported.
view all matches for this distribution
view release on metacpan or search on metacpan
}
},
"runtime" : {
"requires" : {
"HTTP::Tiny" : "0",
"IO::Socket::SSL" : "0",
"JSON::MaybeXS" : "0",
"Moo" : "0",
"Throwable::Error" : "0",
"Types::Standard" : "0",
"perl" : "5.008"
view all matches for this distribution
view release on metacpan or search on metacpan
}
if ($fullname eq 'utf8::SWASHNEW') { # bypass utf8::AUTOLOAD, a new 5.13.9 mess
load_utf8_heavy();
}
if ($fullname eq 'IO::Socket::SSL::SSL_Context::new') {
if ($IO::Socket::SSL::VERSION ge '1.956' and $IO::Socket::SSL::VERSION lt '1.995') {
# See https://code.google.com/p/perl-compiler/issues/detail?id=317
# https://rt.cpan.org/Ticket/Display.html?id=95452
warn "Warning: Your IO::Socket::SSL version $IO::Socket::SSL::VERSION is unsupported to create\n".
" a server. You need to upgrade IO::Socket::SSL to at least 1.995 [CPAN #95452]\n";
}
}
if (!$$root && !$cvxsub) {
my $reloaded;
view all matches for this distribution
view release on metacpan or search on metacpan
"Clone" => 0,
"Data::Dumper" => 0,
"DateTime" => 0,
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"IO::Socket::SSL" => 0,
"Test::More" => 0,
"Test::RequiresInternet" => 0,
"Text::Password::Pronounceable" => 0
}
);
"Clone" => 0,
"Data::Dumper" => 0,
"DateTime" => 0,
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"IO::Socket::SSL" => 0,
"Module::Build" => "0.28",
"Test::More" => 0,
"Test::RequiresInternet" => 0,
"Text::Password::Pronounceable" => 0
);
view all matches for this distribution
view release on metacpan or search on metacpan
"LWP::UserAgent" : "0"
}
},
"test" : {
"requires" : {
"IO::Socket::SSL" : "0",
"Test::Exception" : "0",
"Test::More" : "0"
}
}
},
view all matches for this distribution
view release on metacpan or search on metacpan
Bio::Das provides access to genome sequencing and annotation databases
that export their data in Distributed Annotation System (DAS) format
version 1.5. This system is described at http://biodas.org. Both
unencrypted (http:) and SSL-encrypted (https:) DAS servers are
supported. (To run SSL, you will need IO::Socket::SSL and Net::SSLeay
installed).
The components of the Bio::Das class hierarchy are:
=over 4
view all matches for this distribution
view release on metacpan or search on metacpan
}
},
"runtime" : {
"requires" : {
"Bot::ChatBots" : "0.006",
"IO::Socket::SSL" : "2.038",
"Mojolicious" : "7.10",
"Moo" : "2.002005",
"namespace::clean" : "0.27",
"perl" : "5.010"
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bot/ChatBots/Telegram/LongPoll.pm view on Meta::CPAN
use Ouch;
use Try::Tiny;
use Log::Any qw< $log >;
use Mojo::IOLoop ();
use IO::Socket::SSL (); # just to be sure to complain loudly in case
use List::Util qw< max >;
use Data::Dumper;
use Moo;
use namespace::clean;
view all matches for this distribution
view release on metacpan or search on metacpan
}
},
"runtime" : {
"requires" : {
"Bot::ChatBots" : "0.010",
"IO::Socket::SSL" : "2.038",
"Log::Any" : "1.042",
"Mojolicious" : "7.08",
"Moo" : "2.002005",
"Ouch" : "0.0409",
"Try::Tiny" : "0.27",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bot/ChatBots/Role/WebPoller.pm view on Meta::CPAN
use strict;
use warnings;
{ our $VERSION = '0.014'; }
use Ouch;
use IO::Socket::SSL ();
use Mojo::UserAgent;
use Log::Any qw< $log >;
use Try::Tiny;
use Moo::Role;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bot/IRC.pm view on Meta::CPAN
use Daemon::Device;
use Date::Format 'time2str';
use Encode qw( encode decode );
use IO::Socket::IP -register;
use IO::Socket::SSL;
use Time::Crontab;
our $VERSION = '1.48'; # VERSION
sub new {
lib/Bot/IRC.pm view on Meta::CPAN
sub run {
my $self = shift;
my $commands = \@_;
$self->{socket} = ( ( $self->{connect}{ssl} ) ? 'IO::Socket::SSL' : 'IO::Socket::IP' )->new(
PeerAddr => $self->{connect}{server},
PeerPort => $self->{connect}{port},
Proto => 'tcp',
Family => ( $self->{connect}{ipv6} ? AF_INET6 : AF_INET ),
Type => SOCK_STREAM,
view all matches for this distribution
view release on metacpan or search on metacpan
CPANReporter2.pm view on Meta::CPAN
Data::GUID 0.048
Net::SSLeay 1.58
IO::Socket::SSL 1.981
LWP::Protocol::https 6.04
IPC::Cmd 0.76
view all matches for this distribution
view release on metacpan or search on metacpan
CygwinVendor.pm view on Meta::CPAN
Test::Reporter 1.60
Net::SSLeay 1.58
IO::Socket::SSL 1.981
LWP::Protocol::https 6.04
common::sense 3.72
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bundle/DadaMailXXL.pm view on Meta::CPAN
HTML::TreeBuilder - used for Dada Mail's "Magic" templates, as well as manipulating HTML documents
HTTP::BrowserDetect - Makes reporting of user agents prettier
IO::Socket::SSL
Net::Domain
Net::DNS
view all matches for this distribution
view release on metacpan or search on metacpan
Bundle/OS2_default7.pm view on Meta::CPAN
Archive::Zip
Crypt::SSLeay
IO::Socket::SSL
# CPANPLUS - won't install inside ReadKey or in <nul
CPANPLUS::Shell::Curses
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bundle/POPFile.pm view on Meta::CPAN
IO::Select
IO::Socket
IO::Socket::SSL
IO::Socket::Socks
MIME::Base64
view all matches for this distribution
view release on metacpan or search on metacpan
Our optional modules, which are not required for a default install
and thus not installed by default, but which may become required as
you edit your site configuration, are: Cache::Memcached Silly::Werder
GD GD::Text GD::Graph Apache::SSI Apache::RegistryFilter GraphViz
Net::IRC Proc::ProcessTable Net::Jabber IO::Socket::SSL
=cut
view all matches for this distribution
view release on metacpan or search on metacpan
1.03 2008-04-02T19:26:52
- Changed from nonexistent Test::Coverage to the correct name,
Test::Pod::Coverage.
- Changed from nonexistent Net::FTP::Server to the correct name,
Net::FTPServer.
- Removed IO::Socket::SSL for now, since its tests fail.
- Added:
+ Want
+ Parse::RecDescent
+ JSON and JSON::XS
+ App::Ack
view all matches for this distribution
view release on metacpan or search on metacpan
"HTTP::Cookies" : "0",
"HTTP::Daemon::SSL" : "0",
"HTTP::Request" : "0",
"HTTP::Request::Params" : "0",
"IO::All" : "0",
"IO::Socket::SSL" : "0",
"Image::ExifTool" : "0",
"JSON::XS" : "0",
"LWP::UserAgent" : "0",
"List::Util" : "0",
"Moo" : "0",
view all matches for this distribution
view release on metacpan or search on metacpan
"Carp" : "0",
"Data::Dumper" : "0",
"Data::Printer" : "0",
"Email::Valid" : "0",
"HTTP::Tiny" : "0",
"IO::Socket::SSL" : "0",
"Locale::Codes" : "3.25",
"MIME::Base64" : "0",
"Moo" : "0",
"Test::Simple" : "0.44",
"bareword::filehandles" : "0",
view all matches for this distribution
view release on metacpan or search on metacpan
"runtime" : {
"requires" : {
"Carp" : "0",
"Digest::HMAC_MD5" : "0",
"HTTP::Tiny" : "0",
"IO::Socket::SSL" : "1.56",
"JSON::MaybeXS" : "0",
"Module::Runtime" : "0",
"Moo" : "1.001000",
"Type::Tiny" : "0",
"namespace::clean" : "0"
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Business/OnlinePayment/BitPay/Client.pm view on Meta::CPAN
use HTTP::Request;
use LWP::Protocol::https;
use Business::OnlinePayment::BitPay::KeyUtils;
use JSON;
use JSON::Parse 'parse_json';
require IO::Socket::SSL;
use Net::SSLeay;
use Data::Dumper;
sub new {
my $class = shift;
lib/Business/OnlinePayment/BitPay/Client.pm view on Meta::CPAN
my $signature = Business::OnlinePayment::BitPay::KeyUtils::bpSignMessageWithPem($self->{pem}, $uri);
my $pubkey = Business::OnlinePayment::BitPay::KeyUtils::bpGetPublicKeyFromPem($self->{pem});
$request->header('X-Signature' => $signature, 'X-Identity' => $pubkey);
}
my $ua = LWP::UserAgent->new;
$ua->ssl_opts( verify_hostname=> 0, SSL_ca_file => Mozilla::CA::SSL_ca_file(), SSL_Version => 'TLSv2', SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE);
my $response = $ua->request($request);
return $response if $response->is_success;
my $code = $response->code;
my $error = decode_json($response->content)->{'error'};
croak "$code: $error";
lib/Business/OnlinePayment/BitPay/Client.pm view on Meta::CPAN
my %content = %{%opts->{"params"}};
my $uri = $self->{apiUri} or croak "no api_uri exists for object";
$uri = $uri . "/" . $path;
my $request = HTTP::Request->new(POST => $uri);
my $ua = LWP::UserAgent->new;
$ua->ssl_opts( verify_hostname=> 0, SSL_ca_file => Mozilla::CA::SSL_ca_file(), SSL_Version => 'TLSv2', SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE);
my $jsonc = encode_json \%content;
$request->content($jsonc);
$request->header('content-type' => 'application/json');
$request->header('X-BitPay-Plugin-Info' => 'PerlLib');
$request->header('User-Agent' => 'perl-bitpay-client');
view all matches for this distribution
view release on metacpan or search on metacpan
use LWP::UserAgent;
use HTTP::Request;
use LWP::Protocol::https;
use JSON;
use JSON::Parse 'parse_json';
use IO::Socket::SSL;
my $const_sin = "TeyN4LPrXiG5t2yuSamKqP3ynVk3F52iHrX";
my $const_pem = "-----BEGIN EC PRIVATE KEY-----\nMHQCAQEEICg7E4NN53YkaWuAwpoqjfAofjzKI7Jq1f532dX+0O6QoAcGBSuBBAAK\noUQDQgAEjZcNa6Kdz6GQwXcUD9iJ+t1tJZCx7hpqBuJV2/IrQBfue8jh8H7Q/4vX\nfAArmNMaGotTpjdnymWlMfszzXJhlw==\n-----END EC PRIVATE KEY-----\n\n";
my $const_pri = "283B13834DE77624696B80C29A2A8DF0287E3CCA23B26AD5FE77D9D5FED0EE90";
my $const_pub = "038D970D6BA29DCFA190C177140FD889FADD6D2590B1EE1A6A06E255DBF22B4017";
view all matches for this distribution
view release on metacpan or search on metacpan
Business::CreditCard: '0'
Business::OnlinePayment: '3'
Business::OnlinePayment::HTTPS: '0'
Carp: '0'
HTTP::Tiny: '0.022'
IO::Socket::SSL: '1.56'
IO::String: '0'
JSON: '0'
Log::Scrubber: '0.14'
Net::SSLeay: '0'
Test::More: '0'
view all matches for this distribution