Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
60aec33
WIP otp works
markrypt0 Sep 18, 2022
008663b
WIP authenticator messages test
markrypt0 Oct 3, 2022
b5f14d7
WIP standalone auth app dev
markrypt0 Nov 4, 2022
5647b31
WIP mac app starts working
markrypt0 Nov 11, 2022
a69dfa4
WIP Authenticator mvp
markrypt0 Dec 8, 2022
a4b8697
move authenticator to its own dir
markrypt0 Dec 12, 2022
13752a2
change readme extension
markrypt0 Dec 12, 2022
15b80f2
rst to md
markrypt0 Dec 12, 2022
f1de42a
doc formatting
markrypt0 Dec 12, 2022
859a568
WIP - better UI flow
markrypt0 Dec 14, 2022
1641c9f
first release candidate
markrypt0 Dec 16, 2022
5a74331
now uses pyqt6, added auth tests
markrypt0 Dec 19, 2022
09c522c
turn off test logging
markrypt0 Dec 19, 2022
2dcc013
document auth feature m1 build hints
markrypt0 Dec 19, 2022
4bcb592
refactor keepkey authenticator timeslice string
markrypt0 Dec 21, 2022
9daa621
fix time remaining interval for OTP generation
markrypt0 Dec 21, 2022
76e3012
changed fw ver req to 7.6.0
markrypt0 Dec 21, 2022
2791216
add versioning
markrypt0 Dec 22, 2022
12411a5
bug fix
markrypt0 Dec 22, 2022
f428582
temporarily get feature branch for circleci
markrypt0 Dec 22, 2022
dda76bd
revert config.yml
markrypt0 Dec 22, 2022
d554680
remove usb1 mod dep in tests
markrypt0 Dec 22, 2022
c9526d6
auth feature test skipped on emulator build
markrypt0 Dec 22, 2022
3ab35e5
update eip712 tests
markrypt0 Dec 22, 2022
e5cf722
Merge branch 'master' into feature-auth
markrypt0 Dec 22, 2022
f03fbca
fix mac/unix filename divergence
markrypt0 Dec 22, 2022
1c356c1
add back file as all lower
markrypt0 Dec 22, 2022
e07e462
WIP adding passphrase protection to authdata
markrypt0 Jan 3, 2023
1e32069
add authdata passphrase testing
markrypt0 Jan 11, 2023
f074005
Update AUTHENTICATOR.md
pastaghost Jan 12, 2023
0241ecb
Update AUTHENTICATOR.md
pastaghost Jan 12, 2023
d72e566
updated authenticator doc
markrypt0 Jan 15, 2023
5c5bd42
turn off test mode
markrypt0 Jan 20, 2023
7b10dda
better QR parsing
markrypt0 Jan 22, 2023
b7af582
remove obsolete test
markrypt0 Jan 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.rst → README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,3 +161,8 @@ script (modify version, etc., as needed)
This will produce an executable install app

``windows/Output/kkbsetup.exe``

KeepKey Authenticator
==============
Documentation can be found [here](authenticator/AUTHENTICATOR.md).

42 changes: 42 additions & 0 deletions authenticator/AUTHENTICATOR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

KeepKey Authenticator
==============
The KeepKey Authenticator is a standalone app intended to demo the authenticator feature.
It enables the KeepKey device to perform as a hardware off-line one-time passcode (OTP) generator for two factor authentication using the TOPT algorithm. The KeepKey (optional) PIN, (optional) passphrase, and physical button gives it security features similar to other hardware authenticator products, but with better OTP display security.

Build for MacOS - Intel
-----------------------
Make sure you have python-keepkey built and installed:

$ python python-keepkey/setup.py build install

KeepKeyAuthenticator.app is built using py2app.
If not already installed, install py2app with:

$ pip install py2app

Change to the pytthon-keepkey/authenticator directory:

$ cd authenticator

The setup file was created from the command line:

$ py2applet --make-setup KeepKeyAuthenticator.py authResources/*.png

and then saved as setupAuth.py. NOTE: Creating the setup.py file in this manner will overwrite
the existing setup.py file if one exists.

Create the app:

$ python setup.py py2app

Build for MacOS - M1
--------------------
from https://py2app.readthedocs.io/_/downloads/en/stable/pdf/

M1 Macs and libraries not available for arm64 A lot of libraries are not yet available as arm64 or universal2 libraries. For applications using those libraries you can create an x86_64 (Intel) application instead:
1. Create a new virtual environment and activate this
2. Use arch -x86_64 python -mpip install ... to install libraries.
The arch command is necessary here to ensure that pip selects variants that are compatible with the x86_64 architecture instead of arm64.
3. Use arch -x86_64 python setup.py py2app --arch x86_64 to build
This results in an application bundle where the launcher is an x86_64 only binary, and where included C extensions and libraries are compatible with that architecture as well.
110 changes: 110 additions & 0 deletions authenticator/AddAccDialog.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AddAccDialog</class>
<widget class="QDialog" name="AddAccDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>450</width>
<height>330</height>
</rect>
</property>
<property name="windowTitle">
<string>Add Account</string>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(40, 40, 40);</string>
</property>
<property name="modal">
<bool>true</bool>
</property>
<widget class="QPushButton" name="ScanQrButton">
<property name="geometry">
<rect>
<x>125</x>
<y>30</y>
<width>200</width>
<height>70</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 10px;
background-color: rgb(1, 0, 0);
border-width: 1px;
border-style: solid;
border-color: rgb(0, 255, 0);
color: rgb(0, 255, 0);
text-align:center;</string>
</property>
<property name="text">
<string>Scan QR</string>
</property>
</widget>
<widget class="QLabel" name="QR_instructions">
<property name="geometry">
<rect>
<x>110</x>
<y>110</y>
<width>220</width>
<height>45</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>18</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
</string>
</property>
<property name="text">
<string>Make sure QR code is fully visible on main screen</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="EnterManuallyButton">
<property name="geometry">
<rect>
<x>125</x>
<y>210</y>
<width>200</width>
<height>70</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 10px;
background-color: rgb(1, 0, 0);
border-width: 1px;
border-style: solid;
border-color: rgb(0, 255, 0);
color: rgb(0, 255, 0);
text-align:center;</string>
</property>
<property name="text">
<string>Enter Manually</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Loading