Skip to content

Instantly share code, notes, and snippets.

View lloyd's full-sized avatar

Lloyd Hilaiel lloyd

View GitHub Profile
#!/usr/bin/env node
var httpProxy = require('http-proxy'),
path = require('path'),
fs = require('fs');
httpProxy.createServer(443, 'login.persona.org', {
https: {
key: fs.readFileSync(path.join(process.env['HOME'], 'key.pem'), 'utf8'),
cert: fs.readFileSync(path.join(process.env['HOME'], 'cert.pem'), 'utf8')
/*
This is a proof-of-concept to show that, despite being undocumented,
node can successfully sign and verify using Elliptic Curve keys and
SHA2 hashing.
I originally thought using sha2 with ecdsa in node wasn't possible
because node only accepts algorithms defined as an openssl message
digest algorithm, and even the latest version of openssl only lists
"ecdsa-with-sha1".

How to load test persona on EC2

build your environment

Let's create two virtual machines:

$ scripts/deploy.js create loader -t c1.xlarge
... (lots of output) ...
$ scripts/deploy.js create loadee -t c1.xlarge

... (lots of output) ...

@lloyd
lloyd / api.md
Created November 3, 2011 13:50
BrowserID API doc sketch

navigator.id.get(<callback>, [options])

Prompt the user for an email address that they would like to use to authenticate to the site. The email address will be passed to the supplied callback in the form of an identity assertion, which is a signed object that asserts that a specific email address is owned by a user who is willing to share it with a specific site, at a specific time. See identity assertions for more information.

  • callback - is a required callback that will be invoked with an assertion in the case of success, and with undefined on error (for example, if the user cancels or closes the dialog)
  • options - is an optional object who's properties change the behavior of the opened dialog. Allowed properties include:
    • requiredEmail - When provided contains an email that the user must use. This is useful when a site wishes to provide privileges only to a specific user.
  • silent - (boolean) - When true, an identity will be fetched without prompting the user. Suc
= yajl_common
yajl_malloc_func
yajl_realloc_func
= yajl_gen
yajl_print_t
yajl_gen_number
yajl_gen_string
yajl_gen_get_buf