JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 389
  • Score
    100M100P100Q111858F
  • License MIT

A node.js library for the SSL Labs API.

Package Exports

  • node-ssllabs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-ssllabs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-ssllabs

A node.js library for the SSL Labs API.

SSL Labs APIs expose the complete SSL/TLS server testing functionality in a programmatic fashion, allowing for scheduled and bulk assessment. We are making the APIs available to encourage site operators to regularly test their server configuration.

Install

npm install node-ssllabs

Usage

var ssllabs = require("node-ssllabs");

ssllabs.scan("ssllabs.com", function (err, host) {
    console.dir(host);
});

Test Usage

Testing with Mocha and Should.js.

var ssllabs = require("node-ssllabs"),
    should = require("should");

describe("ssllabs.com", function () {
    it("should get an A+", function (done) {
        ssllabs.scan("ssllabs.com", function (err, host) {
            if (err) {
                throw err;
            }
            host.endpoints.forEach(function (endpoint) {
                endpoint.grade.should.equal("A+");
            });
            done();
        });
    });
});

Advanced Usage

var ssllabs = require("node-ssllabs");

var options = {
    "host": "ssllabs.com",
    "fromCache": true,
    "maxAge": 24
};

ssllabs.scan(options, function (err, host) {
    console.dir(host);
});

ssllabs.info(function (err, info) {
    console.dir(info);
});

var options = {
    "host": "ssllabs.com",
    "publish": true,
    "startNew": true,
    "all": "done",
    "ignoreMismatch": true
};
ssllabs.analyze(options, function (err, host) {
    console.dir(host);
});

var options = {
    "host": "ssllabs.com",
    "s": "64.41.200.100"
};
ssllabs.getEndpointData(options, function (err, endpointData) {
    console.dir(endpointData);
});

ssllabs.getStatusCodes(function (err, statusCodes) {
    console.dir(statusCodes);
});

License

node-ssllabs is available under the MIT License.

Todo

  • added support for access rate and rate limiting
  • added option to specify an array of hosts to scan
  • have the scan function emit events for polling progress

Change Log

0.4.1 — April 27, 2015

  • refactored scan function to use analyze function for dryness
  • improved test to ensure parallel scanning maintains context

0.4.0 — April 23, 2015

  • added option to only specify a hostname for scanning
  • added test for lost context in parallel scans
  • added test if startNew and fromCache options are both true
  • added additional parameter tests and verification

0.3.0 — April 21, 2015

0.2.0 — April 20, 2015

  • updated to work properly in other packages.

0.1.0 — April 20, 2015

  • added support for the getEndpointData api endpoint.
  • added support for the getStatusCodes api endpoint.
  • improved error handling and reporting.

0.0.1 — April 20, 2015

  • Initial version

  • supports two api endpoints, info and analyze