mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-13 19:18:56 +00:00
src/apps: rename fido_u2f app to webauthn app
add more WebAuthn facets
This commit is contained in:
parent
4c59b02d90
commit
e02ab996a0
@ -1,7 +1,7 @@
|
||||
with import <nixpkgs> {};
|
||||
|
||||
let
|
||||
myPython = python3.withPackages(ps: [ps.trezor ps.pytest ps.flake8 ps.isort ps.black ps.Mako ps.munch ps.Pyro4]);
|
||||
myPython = python3.withPackages(ps: [ps.trezor ps.pytest ps.flake8 ps.isort ps.black ps.Mako ps.munch ps.Pyro4 ps.pillow]);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "trezor-core-dev";
|
||||
|
@ -1,25 +0,0 @@
|
||||
from trezor.crypto import hashlib
|
||||
|
||||
knownapps = {
|
||||
hashlib.sha256(
|
||||
b"https://account.gandi.net/api/u2f/trusted_facets.json"
|
||||
).digest(): "Gandi",
|
||||
hashlib.sha256(b"https://api-9dcf9b83.duosecurity.com").digest(): "Duo",
|
||||
hashlib.sha256(b"https://bitbucket.org").digest(): "Bitbucket",
|
||||
hashlib.sha256(b"https://dashboard.stripe.com").digest(): "Stripe",
|
||||
hashlib.sha256(b"https://demo.yubico.com").digest(): "Yubico U2F Demo",
|
||||
hashlib.sha256(b"https://github.com/u2f/trusted_facets").digest(): "GitHub",
|
||||
hashlib.sha256(b"https://gitlab.com").digest(): "GitLab",
|
||||
hashlib.sha256(b"https://keepersecurity.com").digest(): "Keeper",
|
||||
hashlib.sha256(
|
||||
b"https://slushpool.com/static/security/u2f.json"
|
||||
).digest(): "Slush Pool",
|
||||
hashlib.sha256(b"https://u2f.bin.coffee").digest(): "u2f.bin.coffee",
|
||||
hashlib.sha256(b"https://vault.bitwarden.com/app-id.json").digest(): "Bitwarden",
|
||||
hashlib.sha256(b"https://www.bitfinex.com").digest(): "Bitfinex",
|
||||
hashlib.sha256(b"https://www.dropbox.com/u2f-app-id.json").digest(): "Dropbox",
|
||||
hashlib.sha256(b"https://www.fastmail.com").digest(): "FastMail",
|
||||
hashlib.sha256(
|
||||
b"https://www.gstatic.com/securitykey/origins.json"
|
||||
).digest(): "Google",
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -379,8 +379,8 @@ class ConfirmState:
|
||||
|
||||
@ui.layout
|
||||
async def confirm_layout(self) -> None:
|
||||
workflow.fido_u2f_stop_signal.reset()
|
||||
await loop.spawn(self.confirm_layout_inner(), workflow.fido_u2f_stop_signal)
|
||||
workflow.webauthn_stop_signal.reset()
|
||||
await loop.spawn(self.confirm_layout_inner(), workflow.webauthn_stop_signal)
|
||||
|
||||
async def confirm_layout_inner(self) -> None:
|
||||
from trezor.ui.confirm import ConfirmDialog, CONFIRMED
|
||||
@ -413,15 +413,15 @@ class ConfirmContent(ui.Widget):
|
||||
def boot(self) -> None:
|
||||
from ubinascii import hexlify
|
||||
from trezor import res
|
||||
from apps.fido_u2f import knownapps
|
||||
from apps.webauthn import knownapps
|
||||
|
||||
if self.app_id in knownapps.knownapps:
|
||||
name = knownapps.knownapps[self.app_id]
|
||||
try:
|
||||
namepart = name.lower().replace(" ", "_")
|
||||
icon = res.load("apps/fido_u2f/res/u2f_%s.toif" % namepart)
|
||||
icon = res.load("apps/webauthn/res/icon_%s.toif" % namepart)
|
||||
except Exception as e:
|
||||
icon = res.load("apps/fido_u2f/res/u2f_generic.toif")
|
||||
icon = res.load("apps/webauthn/res/icon_generic.toif")
|
||||
if __debug__:
|
||||
log.exception(__name__, e)
|
||||
else:
|
||||
@ -429,7 +429,7 @@ class ConfirmContent(ui.Widget):
|
||||
hexlify(self.app_id[:4]).decode(),
|
||||
hexlify(self.app_id[-4:]).decode(),
|
||||
)
|
||||
icon = res.load("apps/fido_u2f/res/u2f_generic.toif")
|
||||
icon = res.load("apps/webauthn/res/icon_generic.toif")
|
||||
self.app_name = name
|
||||
self.app_icon = icon
|
||||
|
34
src/apps/webauthn/knownapps.py
Normal file
34
src/apps/webauthn/knownapps.py
Normal file
@ -0,0 +1,34 @@
|
||||
from trezor.crypto.hashlib import sha256
|
||||
|
||||
# contents generated via script in
|
||||
# trezor-common/defs/webauthn/gen.py
|
||||
# do not edit manually
|
||||
|
||||
_knownapps = {
|
||||
# U2F
|
||||
"https://bitbucket.org": "Bitbucket",
|
||||
"https://www.bitfinex.com": "Bitfinex",
|
||||
"https://vault.bitwarden.com/app-id.json": "Bitwarden",
|
||||
"https://www.dashlane.com": "Dashlane",
|
||||
"https://www.dropbox.com/u2f-app-id.json": "Dropbox",
|
||||
"https://api-9dcf9b83.duosecurity.com": "Duo",
|
||||
"https://www.fastmail.com": "FastMail",
|
||||
"https://id.fedoraproject.org/u2f-origins.json": "Fedora",
|
||||
"https://account.gandi.net/api/u2f/trusted_facets.json": "Gandi",
|
||||
"https://github.com/u2f/trusted_facets": "GitHub",
|
||||
"https://gitlab.com": "GitLab",
|
||||
"https://www.gstatic.com/securitykey/origins.json": "Google",
|
||||
"https://keepersecurity.com": "Keeper",
|
||||
"https://lastpass.com": "LastPass",
|
||||
"https://slushpool.com/static/security/u2f.json": "Slush Pool",
|
||||
"https://dashboard.stripe.com": "Stripe",
|
||||
"https://u2f.bin.coffee": "u2f.bin.coffee",
|
||||
# WebAuthn
|
||||
"www.dropbox.com": "Dropbox",
|
||||
"webauthn.bin.coffee": "webauthn.bin.coffee",
|
||||
"webauthn.io": "WebAuthn.io",
|
||||
"webauthn.me": "WebAuthn.me",
|
||||
"demo.yubico.com": "demo.yubico.com",
|
||||
}
|
||||
|
||||
knownapps = {sha256(k).digest(): v for (k, v) in _knownapps.items()}
|
BIN
src/apps/webauthn/res/icon_bitbucket.toif
Normal file
BIN
src/apps/webauthn/res/icon_bitbucket.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_bitfinex.toif
Normal file
BIN
src/apps/webauthn/res/icon_bitfinex.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_dashlane.toif
Normal file
BIN
src/apps/webauthn/res/icon_dashlane.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_dropbox.toif
Normal file
BIN
src/apps/webauthn/res/icon_dropbox.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_duo.toif
Normal file
BIN
src/apps/webauthn/res/icon_duo.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_fastmail.toif
Normal file
BIN
src/apps/webauthn/res/icon_fastmail.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_fedora.toif
Normal file
BIN
src/apps/webauthn/res/icon_fedora.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_gandi.toif
Normal file
BIN
src/apps/webauthn/res/icon_gandi.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_github.toif
Normal file
BIN
src/apps/webauthn/res/icon_github.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_gitlab.toif
Normal file
BIN
src/apps/webauthn/res/icon_gitlab.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_google.toif
Normal file
BIN
src/apps/webauthn/res/icon_google.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_keeper.toif
Normal file
BIN
src/apps/webauthn/res/icon_keeper.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_lastpass.toif
Normal file
BIN
src/apps/webauthn/res/icon_lastpass.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_slush_pool.toif
Normal file
BIN
src/apps/webauthn/res/icon_slush_pool.toif
Normal file
Binary file not shown.
BIN
src/apps/webauthn/res/icon_stripe.toif
Normal file
BIN
src/apps/webauthn/res/icon_stripe.toif
Normal file
Binary file not shown.
@ -24,7 +24,7 @@ import apps.tezos
|
||||
if __debug__:
|
||||
import apps.debug
|
||||
else:
|
||||
import apps.fido_u2f
|
||||
import apps.webauthn
|
||||
|
||||
# boot applications
|
||||
apps.homescreen.boot()
|
||||
@ -41,7 +41,7 @@ apps.tezos.boot()
|
||||
if __debug__:
|
||||
apps.debug.boot()
|
||||
else:
|
||||
apps.fido_u2f.boot(usb.iface_u2f)
|
||||
apps.webauthn.boot(usb.iface_webauthn)
|
||||
|
||||
# initialize the wire codec and start the USB
|
||||
wire.setup(usb.iface_wire)
|
||||
|
@ -5,8 +5,8 @@ layouts = []
|
||||
default = None
|
||||
default_layout = None
|
||||
|
||||
# HACK: workaround way to stop the u2f layout from the outside
|
||||
fido_u2f_stop_signal = loop.signal()
|
||||
# HACK: workaround way to stop the WebAuthn layout from the outside
|
||||
webauthn_stop_signal = loop.signal()
|
||||
|
||||
|
||||
def onstart(w):
|
||||
@ -47,7 +47,7 @@ def restartdefault():
|
||||
def onlayoutstart(l):
|
||||
closedefault()
|
||||
layouts.append(l)
|
||||
fido_u2f_stop_signal.send(None)
|
||||
webauthn_stop_signal.send(None)
|
||||
|
||||
|
||||
def onlayoutclose(l):
|
||||
|
@ -12,7 +12,7 @@ iface_wire = io.WebUSB(
|
||||
)
|
||||
|
||||
# as the iface_vcp inteface needs 3 endpoints, we cannot use it simultaneously
|
||||
# with the iface_u2f inteface.
|
||||
# with the iface_webauthn inteface.
|
||||
if __debug__:
|
||||
# interface used for debug messages with trezor wire protocol
|
||||
iface_debug = io.WebUSB(
|
||||
@ -30,7 +30,7 @@ if __debug__:
|
||||
)
|
||||
else:
|
||||
# interface used for FIDO U2F HID transport
|
||||
iface_u2f = io.HID(
|
||||
iface_webauthn = io.HID(
|
||||
iface_num=1,
|
||||
ep_in=0x82,
|
||||
ep_out=0x02,
|
||||
@ -69,4 +69,4 @@ if __debug__:
|
||||
bus.add(iface_debug)
|
||||
bus.add(iface_vcp)
|
||||
else:
|
||||
bus.add(iface_u2f)
|
||||
bus.add(iface_webauthn)
|
||||
|
Loading…
Reference in New Issue
Block a user