Ported Authentikey to Pebble OS 2.0. A pebble app for pebble OS 2.0+ to generate the key for google two step authentication
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
resources
src
README.md
appinfo.json
wscript

README.md

Authentikey

Google Two-Step Authenticator for Pebble

Version which works on all timezone will come soon.. This is very much a WIP. Why?

-There's no way to enter your secret phrase without recompiling the application

-...which means you have to download the source, make changes to src/Authentikey.c, and recompile for a .pbw specific to your account

-...and if you cross time zones or there's a DST change you'll need to rebuild the app again (This will change)

-I don't have a base32-to-base64 conversion function yet, so you'll need to do that yourself

To use: -check out from the github below & follow directions on the SDK site to build an existing application

-get your base32 encoded secret:

  • go to your two step setup page

  • choose to set up an iPhone application

  • click the link for "can't scan QR code"

  • cut the 16-character key

  • DO NOT CLOSE THE GOOGLE TWO FACTOR WINDOW (You need the enter the generated key and click verify and save)

  • Convert the key from base32 to HEX somehow (I used http://tomeko.net/online_tools/base32.php?lang=en)

  • take the value and put it bytewise into sha1_key, ex. expand AABBCC into 0xaa, 0xbb, 0xcc, ...

-edit src/Authentikey.c and modify the defines under "CONFIGURE THIS"

-build, install

-the app ends up in the main menu. It will update the key every 30 seconds

-test the key in the window you left open

Thanks to WhyIsThisOpen for posting his Unix Time source necessary for deriving seconds since epoch and time zone correction (without working mktime()). Uses the public domain sha1.c from liboauth. //pokey9000

Thanks to pokey9000 For providing the skeleton code. I ported to SDK 2.0 and improved the usability.