{"push_id":984052990,"size":5,"distinct_size":1,"ref":"refs/heads/master","head":"95b5275f9508474610d5f5f4cc39aec05d352f32","before":"38a0103993ae13a5cf4ad0785c36eb38d905b422","commits":[{"sha":"7a92715043dc6f5d61a98981974d43d3926c5f1a","author":{"email":"91e38e63b890fbb214c8914809fde03c73e7f24d@ripple.com","name":"Alan Cohen"},"message":"Server-side Client Certificate Authentication\n\nUses https://github.com/ripple/passport-client-certificate\n\nWorking example:\n\nServer\n```diff\n   _makeRouter () {\n     const router = new Router()\n-    router.get('/health', health.getResource)\n+\n+    router.get('/health',\n+        passport.authenticate(['client-cert']),\n+        health.getResource)\n\n```\n\nClient\n```js\nvar fs = require('fs');\nvar https = require('https');\n\nvar options = {\n  hostname: 'localhost',\n  port: 3000,\n  path: '/health',\n  method: 'GET',\n  key: fs.readFileSync('client1-key.pem'),\n  cert: fs.readFileSync('client1-crt.pem'),\n  ca: fs.readFileSync('ca-crt.pem') // Trust the test servers self-signed cert\n};\n\nvar req = https.request(options, function(res) {\n  res.on('data', function(data) {\n    process.stdout.write(data);\n  });\n});\nreq.end();\n```\n\n```shell\n$ LEDGER_TLS_KEY=server-key.pem \\\n  LEDGER_TLS_CERTIFICATE=server-crt.pem \\\n  LEDGER_TLS_CA=ca-crt.pem \\\n  LEDGER_PUBLIC_HTTPS=true LEDGER_DB_SYNC=1 \\\n  LEDGER_DB_URI=sqlite://:memory: \\\n  npm start\n```\n\nCertificates for this example can be found at:\nhttps://github.com/ripple/passport-client-certificate/tree/master/test/data","distinct":false,"url":"https://api.github.com/repos/MatthewPhinney/five-bells-ledger/commits/7a92715043dc6f5d61a98981974d43d3926c5f1a"},{"sha":"5f533cc0def3b1dfbe4f069ca61640fff14f5549","author":{"email":"9210e228970fef1a77bfd4060aac218e553de2de@gmail.com","name":"Alan Cohen"},"message":"Merge pull request #152 from lumberj/client-certs\n\nServer-side Client Certificate Authentication","distinct":false,"url":"https://api.github.com/repos/MatthewPhinney/five-bells-ledger/commits/5f533cc0def3b1dfbe4f069ca61640fff14f5549"},{"sha":"a0b66b96600d4349fcec00c66c73c66b00aafcd8","author":{"email":"f7b31783bcec1b8f16e74688e7272096138ee94a@ripple.com","name":"MatthewPhinney"},"message":"Use new five-bells-shared notification schema","distinct":false,"url":"https://api.github.com/repos/MatthewPhinney/five-bells-ledger/commits/a0b66b96600d4349fcec00c66c73c66b00aafcd8"},{"sha":"f04cee6f655ea1592907e2b4bc52fb8560ef12a7","author":{"email":"f7b31783bcec1b8f16e74688e7272096138ee94a@ripple.com","name":"MatthewPhinney"},"message":"Validate responses against JSON schema","distinct":false,"url":"https://api.github.com/repos/MatthewPhinney/five-bells-ledger/commits/f04cee6f655ea1592907e2b4bc52fb8560ef12a7"},{"sha":"95b5275f9508474610d5f5f4cc39aec05d352f32","author":{"email":"b271fd1fc95b2dd24f9b6eab960ee9820dd501da@users.noreply.github.com","name":"Matthew Phinney"},"message":"Merge pull request #158 from MatthewPhinney/pr/160218154953\n\nValidate fulfillment responses against JSON schema","distinct":true,"url":"https://api.github.com/repos/MatthewPhinney/five-bells-ledger/commits/95b5275f9508474610d5f5f4cc39aec05d352f32"}]}