diff --git a/lib/load_gen/signup.js b/lib/load_gen/signup.js
index fc6548d7776d748f424d46365c5c1c78a754c740..1589f3ec9f1b96a0eb18caedecd4f3c4a79bc48b 100644
--- a/lib/load_gen/signup.js
+++ b/lib/load_gen/signup.js
@@ -37,7 +37,8 @@
 const
 wcli = require("../wsapi_client.js"),
 userdb = require("./user_db.js"),
-winston = require('winston');
+winston = require('winston'),
+keys = require("./test_keys.js");
 
 /* this file is the "signup" activity, which simulates the process of a new user
  * signing up for browserid. */
diff --git a/lib/load_gen/test_keys.js b/lib/load_gen/test_keys.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ea88185555211557896663cd1413fdc3a8e1fb9
--- /dev/null
+++ b/lib/load_gen/test_keys.js
@@ -0,0 +1,15 @@
+var jwk = require('jwcrypto/jwk');
+
+const NUM_KEYPAIRS = 10;
+
+process.stdout.write("generating " + NUM_KEYPAIRS +
+                     " keypairs to be (re)used in load generation: ");
+
+var keyPairs = [];
+
+while (keyPairs.length < NUM_KEYPAIRS)
+{
+  keyPairs.push(jwk.KeyPair.generate("DS", 256));
+  process.stdout.write(".");
+}
+process.stdout.write("\n");