NAME
HSTS::Preloaded - inspect Chrome's HSTS preloaded list
VERSION
version 1.0.1
DESCRIPTION
This is a library to work with Chrome's HSTS preloaded list.
One can submit hosts for inclusion to the list with the form https://hstspreload.appspot.com/.
And in the source code of Chromium one can see the list of hosts that are currently in the list: https://chromium.googlesource.com/chromium/src/+/master/net/http/transport_security_state_static.json
This library simplifies the work with the preloaded list.
METHODS
new
my $h = HSTS::Preloaded->new();
The constructor. It creates new object. It downloads all the info from Chrome's HSTS preloaded list and stores it in the object. This is the only method that interacts with intenet. All other methods uses data that object already have.
host_is_in_hsts_preloaded_list
my $result = $h->host_is_in_hsts_preloaded_list( $host );
Method returns true value if the specified host is in HSTS preloaded list. Otherwise method returns false value.
For example:
$h->host_is_in_hsts_preloaded_list('google.com'); # true
$h->host_is_in_hsts_preloaded_list('microsoft.com'); # false
get_all_hsts_preloaded_list_data
my $data = $h->get_all_hsts_preloaded_list_data();
Returns all the data. You can read the descrioption of the data structure https://code.google.com/p/chromium/codesearch#chromium/src/net/http/transport_security_state_static.json
This remoted returns perl hashref. For the boolean values that were in JSON file the JSON::PP::Boolean objects are used.
Here is an example of some part of the data.
my $partial_data = $h->get_all_hsts_preloaded_list_data()->{entries}->[619];
The $partial_data will be:
{
include_subdomains => JSON::PP::Boolean {
public methods (0)
private methods (1) : __ANON__
internals: 1
},
mode => "force-https",
name => "www.dropbox.com",
pins => "dropbox",
}
AUTHOR
Ivan Bessarabov <ivan@bessarabov.ru>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Ivan Bessarabov.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.