Browser Javascript implementation of FIDO U2F protocol
npm install soft-u2fnpm start. All files will be output by default to the dist directory, but you can
node ./test-server/server.js
`$3
In another terminal, call npm test and open the IP listed by Karma in the browser you wish to test.$3
To test the Node implementation, simply open another terminal and call mocha.Usage
$3
#### HTML
`
`#### Javascript
`
// 1. Create virtual U2F device
var device = createSoftU2FDevice();// 2. Get a registration challenge from the server
var regReq = getRegistrationRequestFromServer();
// 3. Register the device to the account you just got a challenge from
var regRes = device.register(regReq.appID, regReq.challenge, yourServerDomain, regReq.userID);
var keyID = regRes.keyID; // you can use this to export the keypair you just generated
sendRegistrationResponseToServer(regRes.response);
// 4. Now the user needs to save their U2F credential
var extKeyPair = device.export(keyID, aUint8ArrayPasswordWhichWillBeDisposedOf);
saveEncryptedKeyPairToJSONFile(extKeyPair);
// 4. Alternatively, or as an additional measure, have the user write down the raw private in case something happens to the key file
var extPrivate = device.exportRaw(keyID);
window.alert('Write this on a sticky: ' + extPrivate);
``