NAME

Net::SSLLabs - An interface to the ssllabs.com service

VERSION

Version 0.03

SYNOPSIS

Check the security of your TLS services

use Net::SSLLabs;

my $labs = Net::SSLLabs->new();
my $host;
while(not $host = $labs->analyze(host => 'ssllabs.com')) {
    sleep 10;
}
foreach my $endpoint ($host->endpoints()) {
    say $host->host() . ' at ' . $endpoint->ipAddress() . ' gets a ' . $endpoint->grade();
}

DESCRIPTION

Net::SSLLabs provides a full interface to the API provided by ssllabs.com.

SUBROUTINES/METHODS

new

a new Net::SSLLabs object, ready to process TLS services

info

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 Net::SSLLabs::Info object on success.

analyze

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 Net::SSLLabs::Host object on success. The Net::SSLLabs::Endpoint object embedded in the Net::SSLLabs::Host object will provide partial endpoint results.

Parameters:

  • host - hostname; required.

  • publish - set to "on" if assessment results should be published on the public results boards; optional, defaults to "off".

  • startNew - 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.

  • fromCache - 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 startNew parameter.

  • maxAge - maximum report age, in hours, if retrieving from cache (fromCache 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).

  • ignoreMismatch - set to "on" to proceed with assessments even when the server certificate doesn't match the assessment hostname. Set to off by default. Please note that this parameter is ignored if a cached report is returned.

getEndpointData

This call is used to retrieve detailed endpoint information. It will return a single Net::SSLLabs::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.

Parameters:

  • host - as above

  • s - endpoint IP address

  • fromCache - see above.

getStatusCodes

This call will return one Net::SSLLabs::StatusCodes instance.

AUTHOR

David Dick, <ddick at cpan.org>

BUGS

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=Net-SSLLabs. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Net::SSLLabs

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Ivan Ristic and the team at qualys.com for providing the service at ssllabs.com

POD was extracted from the API help at https://github.com/ssllabs/ssllabs-scan/blob/stable/ssllabs-api-docs.md

LICENSE AND COPYRIGHT

Copyright 2015 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.