diff --git a/example/primary/provision.html b/example/primary/provision.html
index 94395c345c921b38b0949f727cd28b1f9f03cda7..c8b7cd583c4c38008d9df3181fa2ee3539bbce92 100644
--- a/example/primary/provision.html
+++ b/example/primary/provision.html
@@ -33,7 +33,7 @@
           $.ajax({
             url: '/api/cert_key',
             data: JSON.stringify({
-              pubkey: pubkey,
+              pubkey: JSON.parse(pubkey),
               duration: cert_duration
             }),
             type: 'POST',
diff --git a/resources/static/shared/provisioning.js b/resources/static/shared/provisioning.js
index 177ad14a68e0b076456d601968817301cfdccdd8..fa91170c2ea3941fa2c59b5b1b53ff748125f2d7 100644
--- a/resources/static/shared/provisioning.js
+++ b/resources/static/shared/provisioning.js
@@ -72,7 +72,7 @@ BrowserID.Provisioning = (function() {
       trans.delayReturn(true);
       jwcrypto.generateKeypair({algorithm: "DS", keysize: BrowserID.KEY_LENGTH}, function(err, kp) {
         keypair = kp;
-        trans.complete(keypair.publicKey.toSimpleObject());
+        trans.complete(keypair.publicKey.serialize());
       });
     });