WebService::SSLLabs - Analyze the configuration of any SSL web server on the public Internet via ssllabs.com
Version 0.33
Check the security of your TLS services
use WebService::SSLLabs; use v5.10; my $labs = WebService::SSLLabs->new(); my $host; while(not $host = $labs->analyze(host => 'ssllabs.com')->complete()) { sleep $labs->previous_eta(); } if ($host->ready()) { foreach my $endpoint ($host->endpoints()) { if ($endpoint->ready()) { say $host->host() . ' at ' . $endpoint->ip_address() . ' gets a ' . $endpoint->grade(); } else { warn $host->host() . ' at ' . $endpoint->ip_address() . ' returned an error:' . $endpoint->status_message(); } } } else { warn $host->host() . ' returned an error:' . $host->status_message(); }
This is a client module for the https://www.ssllabs.com/ssltest API, which provides a deep analysis of the configuration of any SSL/TLS web server on the public Internet
a new WebService::SSLLabs object, ready to process TLS services
WebService::SSLLabs
This call should be used to check the availability of the SSL Labs servers, retrieve the engine and criteria version, and initialize the maximum number of concurrent assessments. Returns one Info object on success.
This call is used to initiate an assessment, or to retrieve the status of an assessment in progress or in the cache. It will return a single Host object on success. The Endpoint object embedded in the Host object will provide partial endpoint results.
Parameters:
host - host name; required.
publish - set to "on" if assessment results should be published on the public results boards; optional, defaults to "off".
start_new - if set to "on" then cached assessment results are ignored and a new assessment is started. However, if there's already an assessment in progress, its status is delivered instead. This parameter should be used only once to initiate a new assessment; further invocations should omit it to avoid causing an assessment loop.
from_cache - always deliver cached assessment reports if available; optional, defaults to "off". This parameter is intended for when you don't want to wait for assessment results. Can't be used at the same time as the start_new parameter.
max_age - maximum report age, in hours, if retrieving from cache (from_cache parameter set).
all - by default this call results only summaries of individual endpoints. If this parameter is set to "on", full information will be returned. If set to "done", full information will be returned only if the assessment is complete (status is READY or ERROR).
ignore_mismatch - set to "on" to proceed with assessments even when the server certificate doesn't match the assessment host name. Set to "off" by default. Please note that this parameter is ignored if a cached report is returned.
will return the highest of either 10 seconds or the eta values from the available endpoints from the previous analyze call. This value is intended to act as the correct number of seconds to wait before calling analyze again
This call is used to retrieve detailed endpoint information. It will return a single Endpoint object on success. The object will contain complete assessment information. This call does not initiate new assessments, even when a cached report is not found.
host - as above
s - endpoint IP address
from_cache - see above.
This call will return one StatusCodes instance.
This call will return the maximum number of concurrent assessments the client is allowed to initiate. This information is only available after a analyze, get_endpoint_data, info or get_status_codes call has been made. It is retrieved from the X-Max-Assessments header from a successful API call.
This call will return the number of ongoing assessments submitted by this client. This information is only available after a analyze, get_endpoint_data, info or get_status_codes call has been made. It is retrieved from the X-Current-Assessments header in a successful API call.
This call will return a scalar containing the root certificates used for trust validation.
Failed to retrieve %s
The URL could not be retrieved. Check network and proxy settings.
WebService::SSLLabs requires no configuration files or environment variables. However, it will use the values of $ENV{no_proxy} and $ENV{HTTP_PROXY} as defaults for calls to the https://www.ssllabs.com/ssltest API via the LWP::UserAgent module.
$ENV{no_proxy}
$ENV{HTTP_PROXY}
WebService::SSLLabs requires the following non-core modules
JSON LWP::UserAgent URI URI::Escape
None reported
Please report any bugs or feature requests to bug-net-ssllabs at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-SSLLabs. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-net-ssllabs at rt.cpan.org
David Dick, <ddick at cpan.org>
<ddick at cpan.org>
You can find documentation for this module with the perldoc command.
perldoc WebService::SSLLabs
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=WebService-SSLLabs
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/WebService-SSLLabs
CPAN Ratings
http://cpanratings.perl.org/d/WebService-SSLLabs
Search CPAN
http://search.cpan.org/dist/WebService-SSLLabs/
Thanks to Ivan Ristic and the team at https://www.qualys.com for providing the service at https://www.ssllabs.com
POD was extracted from the API help at https://github.com/ssllabs/ssllabs-scan/blob/stable/ssllabs-api-docs.md
Copyright 2016 David Dick.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install WebService::SSLLabs, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WebService::SSLLabs
CPAN shell
perl -MCPAN -e shell install WebService::SSLLabs
For more information on module installation, please visit the detailed CPAN module installation guide.