rfc7469-node
Version:
Express middleware for HTTPS public key pinning (RFC 7469)
47 lines (31 loc) • 1.71 kB
Markdown
Express middleware for HTTPS public key pinning (RFC 7469)
# Example
```js
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
```
Returns a function which can be used as middleware for express.
| Name | Type | Required | Example | Default | Description |
|-------------------|------------------|----------|-------------------------------|------------------|--------------------------------------------------------|
| maxAge | number | ✓ | 123456 | N/A | Maximum time the browser will cache this header. |
| pins | array of strings | | | [ "one", "two" ] | SHA256 fingerprint of certificate subject |
| includeSubdomains | boolean | | true | N/A | Should the browser use this header for subdomains too. |
| reportURI | string | | "http://mywebsite.com/report" | N/A | URL the browser will send reports to. |
Makes the middleware only set the `Public-Key-Pins-Report-Only` header instead of enforcing it.
It is up to the user that this middleware is only set on connections that are served over HTTPS.