diff --git a/lib/configuration.js b/lib/configuration.js index 76a99ccc9042b10c0455d099d0aac7ae504696d8..14d7e5e5e024d68ef185a4c4bcd2d128653c5a6b 100644 --- a/lib/configuration.js +++ b/lib/configuration.js @@ -87,6 +87,10 @@ var conf = module.exports = convict({ format: 'string?', env: 'MYSQL_USER' }, + password: { + format: 'string?', + env: 'MYSQL_PASSWORD' + }, create_schema: 'boolean = true', may_write: 'boolean = true', name: { @@ -97,7 +101,6 @@ var conf = module.exports = convict({ format: 'string?', env: 'MYSQL_PASSWORD' }, - host: 'string?', max_query_time_ms: { format: 'integer = 5000', doc: "The maximum amount of time we'll allow a query to run before considering the database to be sick", diff --git a/lib/keysigner/ca.js b/lib/keysigner/ca.js index 5e95fef85edcc18555b9e8774651e7e553c4eefe..c32076a1e9c8618825ccbce3d4a5bd9608b2dc5e 100644 --- a/lib/keysigner/ca.js +++ b/lib/keysigner/ca.js @@ -6,11 +6,8 @@ var jwcrypto = require('jwcrypto'), cert = jwcrypto.cert, - path = require("path"), - fs = require("fs"), secrets = require('../secrets.js'), - logger = require('../logging.js').logger, - urlparse = require('urlparse'); + logger = require('../logging.js').logger; // load up the right algorithms require("jwcrypto/lib/algs/rs"); @@ -38,45 +35,7 @@ function certify(hostname, email, publicKey, expiration, cb) { secret_key, cb); } -// hostname is issuer -// certChain is an array of raw certs -// the cb is called with the last public key and principal -function verifyChain(hostname, certChain, cb) { - return cert.verifyChain( - certChain, new Date(), - function(issuer, next) { - // for now we only do browserid.org issued keys - if (issuer != hostname) - return next("only verifying " + hostname + "-issued keys"); - - next(null, exports.PUBLIC_KEY); - }, function(err, certParamsArray) { - if (err) return cb(err); - - var lastParams = certParamsArray[certParamsArray.length - 1]; - cb(null, lastParams.certParams['public-key'], lastParams.certParams.principal, certParamsArray); - }); -} - -function verifyBundle(hostname, bundle, cb) { - return cert.verifyBundle( - bundle, new Date(), - function(issuer, next) { - // for now we only do browserid.org issued keys - if (issuer != hostname) - return next("only verifying " + hostname + "-issued keys"); - - next(null, exports.PUBLIC_KEY); - }, function(err, certParamsArray, payload, assertionParams) { - if (err) return cb(err); - - cb(null, certParamsArray, payload, assertionParams); - }); -} - // exports, not the key stuff exports.certify = certify; -exports.verifyChain = verifyChain; -exports.verifyBundle = verifyBundle; exports.parsePublicKey = parsePublicKey; exports.PUBLIC_KEY = public_key; diff --git a/tests/ca-test.js b/tests/ca-test.js index 43e1ccefc0aeac5ade5e2ae31a8424f8c6871e84..04a1ac4cc1028ab2a766ac64f235f552374cf0df 100755 --- a/tests/ca-test.js +++ b/tests/ca-test.js @@ -8,13 +8,8 @@ require('./lib/test_env.js'); const assert = require('assert'), vows = require('vows'), -start_stop = require('./lib/start-stop.js'), -wsapi = require('./lib/wsapi.js'), -email = require('../lib/email.js'), ca = require('../lib/keysigner/ca.js'), -jwcrypto = require('jwcrypto'), -cert = jwcrypto.cert, -assertion = jwcrypto.assertion; +jwcrypto = require('jwcrypto'); // algorithms require("jwcrypto/lib/algs/rs"); @@ -53,16 +48,6 @@ suite.addBatch({ }, "looks ok" : function(err, cert_raw) { assert.equal(cert_raw.split(".").length, 3); - }, - "upon verification": { - topic: function(err, cert_raw) { - ca.verifyChain(issuer, [cert_raw], this.callback); - }, - "verifies": function(err, pk, principal) { - assert.isNull(err); - assert.isTrue(kp.publicKey.equals(pk)); - assert.equal(principal.email, email_addr); - } } } } diff --git a/tests/cert-emails-test.js b/tests/cert-emails-test.js index dab8fa36775d5adcbbc4708da14832e565def5f8..904236a4d855373961d48550ae60acd6bdd3ad97 100755 --- a/tests/cert-emails-test.js +++ b/tests/cert-emails-test.js @@ -10,7 +10,6 @@ const assert = require('assert'), vows = require('vows'), start_stop = require('./lib/start-stop.js'), wsapi = require('./lib/wsapi.js'), -email = require('../lib/email.js'), ca = require('../lib/keysigner/ca.js'), jwcrypto = require("jwcrypto"); @@ -120,16 +119,6 @@ suite.addBatch({ "returns a response with a proper content-type" : function(err, r) { assert.strictEqual(r.code, 200); }, - "returns a proper cert": { - topic: function(err, r) { - ca.verifyChain('127.0.0.1', [r.body], this.callback); - }, - "that verifies": function(err, pk, principal) { - assert.isNull(err); - assert.equal(principal.email, 'syncer@somehost.com'); - assert.equal(kp.publicKey.serialize(), pk.serialize()); - } - }, "generate an assertion": { topic: function(err, r) { var serializedCert = r.body.toString(); @@ -150,22 +139,6 @@ suite.addBatch({ assert.equal(certs_and_assertion.certificates[0].split(".").length, 3); assert.equal(certs_and_assertion.assertion.split(".").length, 3); }, - "assertion verifies": { - topic: function(err, certs_and_assertion) { - // bundle and verify - var bundle = jwcrypto.cert.bundle(certs_and_assertion.certificates, certs_and_assertion.assertion); - - var cb = this.callback; - // extract public key at the tail of the chain - ca.verifyBundle('127.0.0.1', bundle, this.callback); - }, - "verifies": function(err, certParamsArray, payload, assertionParams) { - assert.isNull(err); - assert.isArray(certParamsArray); - assert.isObject(payload); - assert.isObject(assertionParams); - } - } } }, "cert key invoked proper arguments but incorrect email address": { diff --git a/tests/session-duration-test.js b/tests/session-duration-test.js index ae63d111655951967ce5dbdcf9870095ca25a63d..a28c7f20f7333e4790dc1621948e06e272a1542b 100755 --- a/tests/session-duration-test.js +++ b/tests/session-duration-test.js @@ -218,20 +218,6 @@ suite.addBatch({ }, "returns a response with a proper content-type" : function(err, r) { assert.strictEqual(r.code, 200); - }, - "upon validation": { - topic: function(err, r) { - ca.verifyChain('127.0.0.1', [r.body], this.callback); - }, - "works": function(err, pk, principal, certParamsArray) { - assert.isTrue(kp.publicKey.equals(pk)); - }, - "has the correct expiration": function(err, pk, principal, certParamsArray) { - var params = certParamsArray[certParamsArray.length - 1].assertionParams; - assert.within(params.expiresAt - params.issuedAt, - config.get('certificate_validity_ms'), - 200); - } } } }); @@ -247,20 +233,6 @@ suite.addBatch({ }, "returns a response with a proper content-type" : function(err, r) { assert.strictEqual(r.code, 200); - }, - "upon validation": { - topic: function(err, r) { - ca.verifyChain('127.0.0.1', [r.body], this.callback); - }, - "works": function(err, pk, principal, certParamsArray) { - assert.isTrue(kp.publicKey.equals(pk)); - }, - "has the correct expiration": function(err, pk, principal, certParamsArray) { - var params = certParamsArray[certParamsArray.length - 1].assertionParams; - assert.within(params.expiresAt - params.issuedAt, - config.get('ephemeral_session_duration_ms'), - 200); - } } } });