1.0.0 • Published 9 years ago

rfc7469-node v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

rfc7469-node

Express middleware for HTTPS public key pinning (RFC 7469)

Example

var rfc7469 = require('rfc7469');

var app = express();

app.use(rfc7469({
  includeSubdomains: true,
  maxAge: Date.now() + 604800000,
  reportURI: "http://mydomain.com/report",
  pins: [
    "E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g=",
    "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ="
  ]
}));

... etc

Usage

rfc7469(options)

Returns a function which can be used as middleware for express.

Options

NameTypeRequiredExampleDefaultDescription
maxAgenumber123456N/AMaximum time the browser will cache this header.
pinsarray of strings "one", "two" SHA256 fingerprint of certificate subject
includeSubdomainsbooleantrueN/AShould the browser use this header for subdomains too.
reportURIstring"http://mywebsite.com/report"N/AURL the browser will send reports to.

reportOnly()

Makes the middleware only set the Public-Key-Pins-Report-Only header instead of enforcing it.

Considerations

It is up to the user that this middleware is only set on connections that are served over HTTPS.