From e02ab996a0fe1a0921a19f70f9b6a9cd9165b4c8 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Sat, 9 Mar 2019 14:55:08 +0100 Subject: [PATCH] src/apps: rename fido_u2f app to webauthn app add more WebAuthn facets --- shell.nix | 2 +- src/apps/fido_u2f/knownapps.py | 25 ------------- src/apps/fido_u2f/res/u2f_bitbucket.toif | Bin 1127 -> 0 bytes src/apps/fido_u2f/res/u2f_bitfinex.toif | Bin 1614 -> 0 bytes src/apps/fido_u2f/res/u2f_bitwarden.toif | Bin 537 -> 0 bytes src/apps/fido_u2f/res/u2f_dropbox.toif | Bin 2117 -> 0 bytes src/apps/fido_u2f/res/u2f_duo.toif | Bin 1118 -> 0 bytes src/apps/fido_u2f/res/u2f_fastmail.toif | Bin 807 -> 0 bytes src/apps/fido_u2f/res/u2f_gandi.toif | Bin 1132 -> 0 bytes src/apps/fido_u2f/res/u2f_generic.toif | Bin 594 -> 0 bytes src/apps/fido_u2f/res/u2f_github.toif | Bin 1191 -> 0 bytes src/apps/fido_u2f/res/u2f_gitlab.toif | Bin 967 -> 0 bytes src/apps/fido_u2f/res/u2f_google.toif | Bin 1082 -> 0 bytes src/apps/fido_u2f/res/u2f_keeper.toif | Bin 1382 -> 0 bytes src/apps/fido_u2f/res/u2f_slush_pool.toif | Bin 753 -> 0 bytes src/apps/fido_u2f/res/u2f_stripe.toif | Bin 972 -> 0 bytes .../fido_u2f/res/u2f_yubico_u2f_demo.toif | Bin 1158 -> 0 bytes src/apps/{fido_u2f => webauthn}/__init__.py | 12 +++---- src/apps/webauthn/knownapps.py | 34 ++++++++++++++++++ src/apps/webauthn/res/icon_bitbucket.toif | Bin 0 -> 931 bytes src/apps/webauthn/res/icon_bitfinex.toif | Bin 0 -> 1322 bytes src/apps/webauthn/res/icon_dashlane.toif | Bin 0 -> 2482 bytes src/apps/webauthn/res/icon_dropbox.toif | Bin 0 -> 940 bytes src/apps/webauthn/res/icon_duo.toif | Bin 0 -> 574 bytes src/apps/webauthn/res/icon_fastmail.toif | Bin 0 -> 1108 bytes src/apps/webauthn/res/icon_fedora.toif | Bin 0 -> 1510 bytes src/apps/webauthn/res/icon_gandi.toif | Bin 0 -> 1367 bytes src/apps/webauthn/res/icon_github.toif | Bin 0 -> 1947 bytes src/apps/webauthn/res/icon_gitlab.toif | Bin 0 -> 1117 bytes src/apps/webauthn/res/icon_google.toif | Bin 0 -> 1260 bytes src/apps/webauthn/res/icon_keeper.toif | Bin 0 -> 1852 bytes src/apps/webauthn/res/icon_lastpass.toif | Bin 0 -> 763 bytes src/apps/webauthn/res/icon_slush_pool.toif | Bin 0 -> 1931 bytes src/apps/webauthn/res/icon_stripe.toif | Bin 0 -> 766 bytes src/main.py | 4 +-- src/trezor/workflow.py | 6 ++-- src/usb.py | 6 ++-- 37 files changed, 49 insertions(+), 40 deletions(-) delete mode 100644 src/apps/fido_u2f/knownapps.py delete mode 100644 src/apps/fido_u2f/res/u2f_bitbucket.toif delete mode 100644 src/apps/fido_u2f/res/u2f_bitfinex.toif delete mode 100644 src/apps/fido_u2f/res/u2f_bitwarden.toif delete mode 100644 src/apps/fido_u2f/res/u2f_dropbox.toif delete mode 100644 src/apps/fido_u2f/res/u2f_duo.toif delete mode 100644 src/apps/fido_u2f/res/u2f_fastmail.toif delete mode 100644 src/apps/fido_u2f/res/u2f_gandi.toif delete mode 100644 src/apps/fido_u2f/res/u2f_generic.toif delete mode 100644 src/apps/fido_u2f/res/u2f_github.toif delete mode 100644 src/apps/fido_u2f/res/u2f_gitlab.toif delete mode 100644 src/apps/fido_u2f/res/u2f_google.toif delete mode 100644 src/apps/fido_u2f/res/u2f_keeper.toif delete mode 100644 src/apps/fido_u2f/res/u2f_slush_pool.toif delete mode 100644 src/apps/fido_u2f/res/u2f_stripe.toif delete mode 100644 src/apps/fido_u2f/res/u2f_yubico_u2f_demo.toif rename src/apps/{fido_u2f => webauthn}/__init__.py (98%) create mode 100644 src/apps/webauthn/knownapps.py create mode 100644 src/apps/webauthn/res/icon_bitbucket.toif create mode 100644 src/apps/webauthn/res/icon_bitfinex.toif create mode 100644 src/apps/webauthn/res/icon_dashlane.toif create mode 100644 src/apps/webauthn/res/icon_dropbox.toif create mode 100644 src/apps/webauthn/res/icon_duo.toif create mode 100644 src/apps/webauthn/res/icon_fastmail.toif create mode 100644 src/apps/webauthn/res/icon_fedora.toif create mode 100644 src/apps/webauthn/res/icon_gandi.toif create mode 100644 src/apps/webauthn/res/icon_github.toif create mode 100644 src/apps/webauthn/res/icon_gitlab.toif create mode 100644 src/apps/webauthn/res/icon_google.toif create mode 100644 src/apps/webauthn/res/icon_keeper.toif create mode 100644 src/apps/webauthn/res/icon_lastpass.toif create mode 100644 src/apps/webauthn/res/icon_slush_pool.toif create mode 100644 src/apps/webauthn/res/icon_stripe.toif diff --git a/shell.nix b/shell.nix index 48e833828..fc41147d3 100644 --- a/shell.nix +++ b/shell.nix @@ -1,7 +1,7 @@ with import {}; 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"; diff --git a/src/apps/fido_u2f/knownapps.py b/src/apps/fido_u2f/knownapps.py deleted file mode 100644 index 65e2c2981..000000000 --- a/src/apps/fido_u2f/knownapps.py +++ /dev/null @@ -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", -} diff --git a/src/apps/fido_u2f/res/u2f_bitbucket.toif b/src/apps/fido_u2f/res/u2f_bitbucket.toif deleted file mode 100644 index 85bac589b35ffc96d925b29b277bff3817006cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1127 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 diff --git a/src/apps/fido_u2f/res/u2f_bitwarden.toif b/src/apps/fido_u2f/res/u2f_bitwarden.toif deleted file mode 100644 index c91ccdcacd2535993b00a96b273504510b7d188e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 537 zcmV+!0_OcxPf2D#06+i@0ssK*(jjQ$P#D1RPfR>~i z6(v-Rs!>iHN6i=!$Eo8uQI3g0Dh91E>6GkSD&|`8hU~Yie0>86|2_Fm zu3aTRVS}e%zXeMEgr{$Pp!s*dg)e;J3t#xc7ryX?FZ}KK{v?fWseI3049L^A7F5%?oUr&H@MqxBwuRA%d4_gT7W+i?T{-k&VdDvoS bQrLZ@XF-Y2zR{8{Izwl_T}3*G-faH>LP->= diff --git a/src/apps/fido_u2f/res/u2f_dropbox.toif b/src/apps/fido_u2f/res/u2f_dropbox.toif deleted file mode 100644 index 2fe2e2a4e6eb990cab1f8b3b77ab8175dad9d89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2117 zcmV-L2)g%FPf2D#06+ja2mk=>l0l3cR~g6OY!86jTy{^e9gmca1Xa_5R9C8y$0HFh zQluS%1dh~*nUNrqOJzqKW>FDu-T`I~pq&ULCa8_yT*xd^kXP-&i%LB2Lh*qjiyXQ^ zbUZf<2V{whg_`m3-pp=x*Rj{*P1;`af6{tozwiD2-}n6ic&ewGqpRF67Or`pyZB__ zg?k9yB!yotQp5e{N74=SZ0WJ#KM*~f1oYe#R*k$xD>XA}5#Mu@bp-s=! zV#SQ_(Asw7CNknaw-B3K`)(uhBUg2JC*@-iSFqX+h;&Vxoh$C*Wx@5f#*CivS+#Gr z6C|vC2Q1};-;q6sV8p6v{Q+OaDt#&FYIah%G&QH!uOUaX##Ttr5q`S8#1j;cyE8v; zFMha5T;vqD4(gBavFV#F+><?S5Ax-a5~wu>8_> z$?;PE%|-aW;=>_HsP-fs*7*7YeCE9?43q8TOEUQWOOolqBtPHBzUhkHB4dw|fj1;0 zg4G(Y!$tUeT9=4C_!C>e%Bu~}mS*^$j*!uh^BEh9J&AQb zB*Urv0h>aUB!5omCg~og@q>gQntKk+(5kzM9BpfSl<)BDzjnYnKVZ+|vox|?Vw29X zW5q}LElh-MY4z{mL=`Sw6I{_RS(KfU816}zHuwgV#B5!XAJzEWx+TQI2ajK2|Y#O$*iI>mGfWF9~3+*g(7Gx`DF zH(R(X?P$;ZW;Xr&l}*n|jDSt;fG_hhUlV1%9Ljt)g_HQK^F2)w713xyI{Bmg)Pd0T z&W)$S&x)Ff;Miy~`XrwnnJ>|AS$CO-2|k@W`wfQGk938-GKEha1j!z$CE%Hf%zgQ? zW@|=J@66)Uo~WwvI^Ppg4~Kj$+V4E*m+x*o(3N^~HlI4^?|Ej#y>Un{TvCxO8O?e# ztDMc(p`w&S7&9811D%8yX|(fbfOJ^8RpTigp3H9r)B)N?g?lOdr{}-E>DfZPSu8>2>QuGjR;mtx5{^GqORoN<2H2=Awo)Tf!{7acU`a%?C0h~c1wpcU+-jDr=2V3 zzE=%v*^Qk1o-|ChljY~=?!QugdlNyL`+WUpKG_t?VJm3i=ga4RQe$^`b|=^T$31Nq zZF~&=^)LbN)X1g;$3|y<|LJM!O$8bqmwsOkt1;s%Vjg}Qccm_}z2(1w<9fgJ#fE1J zu%C-hyN5B&Q3ZxZQxP}fwEMaHrxlu~Ro?_Qn4-cNnV6cD%;qa8TcLD^Ca_lwQnxVH z;l=~%Ksn^YNBAw=6$ome!Wl4I-&nifAhrhkll+^LpP)sM_>ue5%+UBu{~F+9q&J-v(6O-tL=U}U@6Y{FtGYg5r(yN1B`DR z<72Ta>}smUT?9F`df$w6QjIs_jWk;|C6mnSP1Xy`@ezJHX{YEEb%i>}_?ZLNJx_!i z!s;$qOg|I7>VC4b{%fMl8y&XC>`d^f1Gj=Jb(+R~e)>HOu_}AO0t@S#0t~8j{s#^y zJ|6{@LF>RDBPeLf_KdqD6PgJjj#|`@V@yte(VY4t&$$b&)2p zNs}43gHclb_;h@S^0#QRnFH9zDyH4d=d&AFWjVxRFb?{|r261Ad@*r}Em>pssztZx zR@_{CcB@5i_$K?kCk>M7KftN9a=#%t$f-E|;mi5>zUt#P4w4@7gq2NjdJV*)LtNxm z7UY}lfCxL9%!6(4m@3@U=_W98=>~8m2cLG|j&>wdD!dDxjINemvx!ewuIBUUM8Vt#;K_?yd&P{1)b2C-qx`KHn|`zztu2Ek@JVS< zjkl$q)(+Yee5dFWJ1YMX48SL>!pn`Q=k=r`{LqzLqN3%O!KWkc+!aq7kY17Tjle~l v`#pH7$I$-)6X8dH diff --git a/src/apps/fido_u2f/res/u2f_duo.toif b/src/apps/fido_u2f/res/u2f_duo.toif deleted file mode 100644 index 61a84142719e3199fd08a573dcc28c3cfa639a9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1118 zcmV-k1fly>Pf2D#06+jz1ONcVl0Rr7SscgTa-vh55SxgdlX!^;mqLrp@tTlXVT$2Q zF-?|xu+1|zf+;L6OO9M%)k?6jIgvB$s%cW3uvJb-$l+)Tn*+N@)}Vx2nC7zEoj0S# zIRE??9lzhoH}CoR{l32+029ehWGtkMf|yxjONhn+96&T%V%8vbQ5KTO06UnIY}@c1 zn-iG%zGFT2PlQ@>@SSaY#^^1wflQbiAP#dLmywfffUViEp<@E}U=1edcoT*pbUQ`om(L~-*mgV_-F-Jpx|o8;Fg~4Gn=!q!3$Kjh z(Wwt}po`|H=7M_fXE3UQna^FZ2k<++c3#W26LmUqp$A=@0&%1|d800LfzL*PU6K6> zF6+b>yz-3#s}J^nUnStAeFl%L{q>=|o#a{CT+2scvKN z^yA-W1wPgKt!q9N-w^MFulaMysisUeR#wO3ixRt2@c)qW4?nm6Q@%YbsPWxb z&^tb#KNoTx!AE=ipW4;S4KZUJpWkk06Oj@8vx0W@${A2iHa7|X>rKQwoG+XFhy>Uu zT37HxUvISBZYOt!@zeYKx%TU9Le59)h?bv)EAbz-o%9XkCw=h^?YD>jDEI*-Ke@xF zv^{+P(xLi+_SRDQpY%QcpVGBmd@4>sd;YZ_wBGV5mHyY2`=`wp^F@2rm)iWu z_vz5nZ>g)BXivF+jB$K^byK_>97sUfKZ;dfs=j`!>>kIcCiITYe;dB;-iVmB`QrZ8 zUn^fLXD=G!l~onKG(ll=TB+hgu<~>#Vy++b_yzH6*Im9?LGeMXrhCSxYMVkXQ8m8% z%JM?ak8hN$rRBb@#V^_Ya7BI#pB{ex_-}eYxifHg`Im2dU-RKgHc|XiT0ScXXQygx z(PV?jAg5w0qcUr}7QZ0LZOPY|@=WffTVQ90-k7Hm4Fo}~$W|Y7&@1vSBrY$4AG{}i z1sx&N0usnGe$W$nxrhW@)FU5ku`T^~k2vb{fybcp1UQcYNThf7KqlJ>=Jex}4WQ5~ zqfYcZn*%B$F7%<}0P#Cem2DfB=U;*C7--6UCDb=hdKo&vP*H!)aSu7@1tTR?FrN%K zstLvt^&wcEL-JlQw%m7}O`YA&$41RvF5B_UD#+u&u$|Y`8^%A28rU3h1f~@E2{|!0 z{mcp%Ulf+OX8aif8 kmQ-;;Ub@~xFV$rHYzsM&^QRW$r<%~~eotN!x0C+g|Gb+vz5oCK diff --git a/src/apps/fido_u2f/res/u2f_fastmail.toif b/src/apps/fido_u2f/res/u2f_fastmail.toif deleted file mode 100644 index 36083385189418cb7a52d0e9c1e553e484939277..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmV+?1K9jjPf2D#06+j60{{T+l3z$uQ5?r72wkk;K3MqR!$x~hFvuqp7PuAIgb4~k z4g}L8hFD1Wut^Zhl2S;hH$|xM3c&&g^&p!;f4o9q50XB_7MLQs%+<=X^7xA1F3;JpxMYUzVMxB^%UZs&__FH0khQp29y{I3xHH*Y z>Y5ooKr2sH2ZxN)BO@e+al`NIsyRM@|2tWCIE~T$dl`SVe%&k|VC<5*x4w81z3vZj zwx;rT%=5Dqwb>?zk7uv;sIGxCg}YYxICoIp_b|ojqv_ITw8ocvT6Hk)^uzq!W=`Gx z@UeKj_{kby7IRB=MMko#srqbmkq$YBI)xR16Szcs*QPZ-fWw*p#&fmV*u1(-V=^c3 zn7)F4`J)}_dT7fUAHdU~Ivvi)jqc~_j1B8-G1P?FD;YM2?xE>iA+dp8H5AZ6gkLd{HY~B>+wVHEiP3ylU*(n9QpRMx&;v3nB z2k&!k?$d70p{d*mg>T;;xBC97lD~+5=0IC&(QeKmA0+gCnLk>sXR&=un_0fB$Vj?Z zJ&x9I96Altg40k~cVE7x_>Wa}!`f#`wDWC-L25N)3`= lSw{J*LHI99xs37IH|vYyY^6u?&{1upqN1XrqN1X*{R7jBw8;Pf diff --git a/src/apps/fido_u2f/res/u2f_gandi.toif b/src/apps/fido_u2f/res/u2f_gandi.toif deleted file mode 100644 index f0a1c521af47a75bc81f4b3ab689f6afd75240d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1132 zcmV-y1e5zzPf2D#06+j>1ONclk~?VXP#AzSbZ~IU;E=&Vp@V@A4RomB(ttw)4h?ir za45k+LI;r!MO;KWNa%2p4k8%}aVXfKpo0(>!485QF2tc=h7K7zWaw~)4!Jg3las_g z@(}JPIQ;)P=ga>5VlTl?UK(g$Qh5r}PaVV6)=?%bL^Rp7hXW)QoWG(PCNNAs zE~8w@91U^;%?HCI&OW1f8VuKA`SYs+_k+(Uab@-sodEm)WE#Ir9WSHpH>m$3UzIWa zw<4*S_Yd&Rhw`;JGsmV`+ihRJW_qc83489R4ja*p+^cz_xye^{sfE^zvqUHNO5eGk z2bq{=mwm3NM$|lQ3+s*0cSTjJ`a~|tgd2N&S4kO98($DQa{dCq=O)JO^1YE!^LYCA z{yGZ3Pv5OJY5|*3qHtE6B_EBubVHNPS?=Wb{_cgPz9HQ(vS=;$Dn!PI(@Sy2m6FPO z-xp9tz{7WYH!kYmw{>`E?(imZ6RX`_{dhsm+oxPdLuZ@sgwCu})8}6$uH0-O6L#9O z@gcK^*6gRz8nZXXoNh3Ch)cK=%@JuJ9I)qP2v5g%@H81>GeSgaIiGF*LEIA)BDM$D zn+7Fik(mn0JnrnmuuXcS3C3kjDorhr0O+Ee*YLz`le1zz9FMe+C zUJzG^?@+~FAMoF~=g+xUBrvF=ns?O7AAf-7N@y)OJ2vX|H`NV>!a)#SH%Kb;_f7WR z4Vgd!g$!-zyf)3!cSyhx9cR0mFW;lLLEEvBG;p#D2Y6aP5DV7dJ+-@)RBnQ71-juh z^Ht?rV0>uX_I~g)|AZ=Pveh0svYtvRY^I`CRAvt^`0E!AV7oNHM(_zHJk6@rRa#b} zy*_p9mmM3;pCP?WH_UlF-Ro-(wBP)h5LE=c`Q0&Q&XNfwrENf*p*8RR@-_Tw<;lnq zoz3=T54`)i(nrsYH_4EZ6KC2t(05+_?Kj9T$9Ig$Yu~b%R?M4Uh?xCgXlxbH`Q8tB z>Nu$S(b{_YdR_!{gV|G}@E33=!OfpNH{#uk(Ah_fZkXhYd)-rS{_-_kPenCn*~~Pn zq~_1u30hl)V(YHx{$AhP22e%7oBh))oJVhykMUhoAZD7t!Y|H3M_&Bstu%l;kehsU zKE7+-mPP$Hh)0A7?3Y^D2s!}uxA_3izx~&%pG<%u`~~7{J#Fi@+-nw?Fya{zSYH(Z zab@p3RJ+dn8GG^WCli_tB~?-Jg1%cZY(ysN==|M&iaSAk!MX#h>fS}ryAfy8tXg%> zTQy3rN>l_~iEhMqR_Pe>AMp<=jy8w@ diff --git a/src/apps/fido_u2f/res/u2f_generic.toif b/src/apps/fido_u2f/res/u2f_generic.toif deleted file mode 100644 index ccd0130fe7c37c008776e4214ac731d8e0594cce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 594 zcmV-Y0krSfHYVn8qz|;tD4k zs0igm852jTI7ZDV6=O_{QgMV62b~ynV$g|$)eJIG=!t`wK`JUDCL$stD&FPo813@^ z*|Oek$Kd~-Y5$l1eZ2QSLEvyW91e%W;c#9H#8N~>B&ENrQr`2cgQk#U<#v28YX_{{ z#-$^BnqT#+o;GO87p&Wj125~&*cI^PFQ|VGwSA;4kf>;zj1PFd%HN1XYMs? zPUye-@!0!6-5-w1$1#%x;9keK;CcLlu$bLqhjG%1_%eP*jkTBTpJvztI1fqb|M+zh zjsR+z`1!5>>vQ|1UB3n3$aDt%5mPFFSpUkeh@KYR|H8`s@rR>$u>A42Tk@Z=bI7|- z?mX(fD1A@zyK}X(aTyD5`75K2yUTXizW@f!r2f?o_7}}Afpq()4$jfbJ># zo;k*Q{Wr;#)AY#=`=icETigADBTp($aoF4cpdPWlQu6(R9k4^5 g-T$_{X9w+d;Ykon+9ej(^b diff --git a/src/apps/fido_u2f/res/u2f_github.toif b/src/apps/fido_u2f/res/u2f_github.toif deleted file mode 100644 index d9a6e8e31967adb50f6e917722edbfa2eaab4948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmV;Y1X%l2Pf2D#06+kn1ONcNQZZ=iKp4KEgTos#bZ~H}&_TgL!Qlxm6*?%qL7{_! zLlFlN2aygUT}tTi2o4e)O6X9qL%|M(I0$wrv_l~s1Um@n&>=&I3=SC_?lmv3cuDSZ zNlf1-9Omx-zwhq*KLETU{9d|Ylj9?)EU%TUl9ks|SDf&JS|VNt--=vp_6jLbBF$Ft z%FNYFgC3w{bFrYb<8|#G`a-2DU7@yGlQrDOaU;9kZn^zB*Gh2G6U<^2GJ+UhBM zv$^}?G=uOvZ9nQ#dKD6cE>s$d2P*HR8++Y;>P5E=ocEO z{$m)OMzH!)7ptE~^=BGgU+VhPZ?;_MzvBJpilg)>Ev)!KPnF94^!Yn}Fxnj-={%i2 z-hWd5;&ovztb{o~&{_OV|Fio}|9!sVF1mxyAJ^V|$xA>$bjQ1X=m5{v>2GQl(^>-U z0Yv0t-qdq35)2Dr zbs-EtpgV;|Pqp7eUJI*u9Z*ncSTiE5XcLgipEu2;JMp^x-CP^Ez~aKH7C)p<07C6j zSm8Z%mmXXvKd|qqrzF>utkmU-wM6BEE8_JtPc(IwF}Z(i?2gjtu6fp9ke7e+G1UE= zz3TrLQ+@sS|Kcl6?q84kMR&mNdF9!D)UhVQQ>9>Z$&tIA07zcueh zpPZJ^v9}}{x3sR#`brj6;M(R>W13%(mrhK~8D78gOzvs6XfHIMb44;&_yJK4ZPv;M zvE$v$UiwW-2c6B(Or7g%=1E_hEkeVdnVFdIH*3Q2b@4;}G`eH>xVZ~|=SJNrUDisL z!BvS92s{1eFN2FKLMWBNo}MpzZFJwtnG2EijW?l?y0|KR%_y54+&p#kUaWjhxzb@c zX-2#bd_lXkGL28@U4@4I2J+IYwlKG|h!c0cxfsMi>KeYg&|cyC$4BmOZzLQCe!yIj z`0(5{98Kt=*%k)(J$0mij)OD&)UHi!oe+L7Ayaro<4qzgPo%EAR;x-@$u2Htul%6-D|POj F?GK<1Yv%v} diff --git a/src/apps/fido_u2f/res/u2f_gitlab.toif b/src/apps/fido_u2f/res/u2f_gitlab.toif deleted file mode 100644 index 6c79010cc9e701b260746f80388aa464a7fb713f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 967 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 jAN(RbeM&^UpX}d|rBd zpZZYDAJuMu{<@(vU+8`K`T*5-n)%>Q`4h}9B;SK?Okd;6J^6~i_&YSF1tsA=M)Msg zf-%Le_@mMzFri52=qMLLi)qn0D7svhDFc%WxI1NvLcd%Hm=p_4z9U#rVp`j7SvS-#rBDvMKQPktfrut zmX@zH1)uAGLseE@l4{ph1V^;A+f#N;&pZ(}QOREOvGPa4{bml7i2vjs#oF2Vj_hpe z5+nGIUf+yWjtL%&t%L28ZpAHrA-RV?S@X%;Hl-jPvSEh@Rfv#_&J#IqrH zwIXs4jLBR!_?|p{z<2P@UVakC@)`Lp#IV+uv$EfshpD6e`( zW?ncQPV|BC;;yNtRF0X}GLmb5GNx!>AH--VX=zQ-lx~q!t=;N%P0qR5<+@zSCSdS4qS_hA&^m4w*6?rF{AF<;#~ZU%q_()A|AKUGUBT diff --git a/src/apps/fido_u2f/res/u2f_yubico_u2f_demo.toif b/src/apps/fido_u2f/res/u2f_yubico_u2f_demo.toif deleted file mode 100644 index d9fac9a20a3c10d8650f76b3f173449d8124c8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1158 zcmV;11bO>ZPf2D#06+kG1ONcFQoC~ENEB_xYfvacG8z}Sm{6f25RXKmLlnSR5Gfpm zT?K_3XM6(%die`AV$p zy%lqDdD_^i;!u?9c9N?*RRKf6u#)DNnxaXdS+Z;opFh8k8lY%?S$g+yRs-8@u7Y*i zy~8CqBlKsko2QtWah}%};M^$B3pA%Wl^`3OdLLXQ@S5h;pG7D?|267|3PPHjN5IL& zCr@vIVsBls0J-b#e&K*V?oiq%gY>(fFWQ*tZ%p}qO1`-`-WNC&tD7qpdG|~9>Qv?3 ztDG^v{r*kppc;!~r$f2$v|*z{-WwH`*SKeSqq)kvnBRKu^gF!+`{DB*&4~Mgkhu`w z**@$xi-8kvLS3Fi-%#CKBK_Wu<+g8F3>wi0^vLsQeSVA9R_!dh#se~7AZ4z?wulL@ z37-!SbrUo3-hdnrL_<4~yYYO?yMdzyYgzgVww z9-|WB{Ji%R{h3n`8|ZJQg2M4$|DDWx{H}0_y2Q?4ygu(i!`k2fe5Y@FyLcYTMa1Ml zBR&r_SpDM!<^{%kiatm@4wFsofA3WJNyCB66|x{T)9J$rt8cq#CfZ42eRBR~bp_l8 zZqs;=*GHr1Ti>X2c@NU(?jcfslTZ6$&TGl{SWCykSNaa9sp<-;agYqKDB-l25T!;x7&%TFGLw| z2>=eFf9E<0gSHUs>x*>TKhDc`i4BCwHh@Oiyhmqx@B5ollVmA1ldzNo9)yFm-Z6gg z8%gFtILPKb7gHIHuS-eMk#?O;)TA$|A7jhmJd%$m$^5ysp_|vv>~&lHEs$kVN1xiHDBI zd`;*3`N{dzTo*J3uSHC7Dd@he@XIxghZ8Z*s4x|TJhPwYyjM%tyJ+?&?2u*G#^k%c z;k&01tn28#fAkc@SBoCG?M^|)C=Jr@iuK{K=GY!3!EY*w`k{h=&-80rKe;x$^EB%F z@ZLoEcx|p!ne`Vm66OZU)%RhpL@fJ*9^Ii)VWv^8zw~x!HZO>C;yf=4{aIGQsi*LG zR5&=v>fqLuid%Ku4rqWgLR&c1tlECQm;)CG{rT=8b>Gzz1Q(6(-`rsm<)81yz19F< Y6mVc|ovL4BTvtF{x6`_T%d~v|0q~b-TmS$7 diff --git a/src/apps/fido_u2f/__init__.py b/src/apps/webauthn/__init__.py similarity index 98% rename from src/apps/fido_u2f/__init__.py rename to src/apps/webauthn/__init__.py index 1825a3d25..dc321bd01 100644 --- a/src/apps/fido_u2f/__init__.py +++ b/src/apps/webauthn/__init__.py @@ -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 diff --git a/src/apps/webauthn/knownapps.py b/src/apps/webauthn/knownapps.py new file mode 100644 index 000000000..f32a26edf --- /dev/null +++ b/src/apps/webauthn/knownapps.py @@ -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()} diff --git a/src/apps/webauthn/res/icon_bitbucket.toif b/src/apps/webauthn/res/icon_bitbucket.toif new file mode 100644 index 0000000000000000000000000000000000000000..c4cce921b41dd03bf4032974e7c6cc33d0031443 GIT binary patch literal 931 zcmV;U16=%6Pf2D#06+kj0{{T+(mhNRK@Iu94L4g5cM=wyD?l31kX*!su$@>P z8qGyItkeokObB#mC1@ci2I)8}&<0}A!xAbIV{)iOD8LFZ`IJnbPq7B6_ivzmGJQHo<|H=2 zOw19L+tU8NOaGu2o=5moFaVfY(blzXZTrZ&voFLhihWeIm*C3Y3yWnC zzO8Oyc;#Fj(|!s+JV7T|`)`Z_;*XhR6y-m2d~X7mue_;zL)%e}?ZEijsXDfoU_B^- za<}pg8BLnezEMQ*miD0J`y_Dv1EtO7tK3F3Upc5?jJEMSVV11NNz6#%)psEGR_v&}F z1LGTo2);?XsrT;d>KQ^-yW^_$s$C4TM~%pVJM; zcO~$&U=cofU-CSvfoDV8M|Sl7&=yR>ZSUn+2J;6JpF`U>rjO{ukqIvP{Y9gIYT$U7 zuO%FR*!vG$33O=ozNKkY15?lw$T!mo;qPA{pasfn-`mY%e4dAyKz~3#rcb*Q`22%y z<+`um!fk|ala@e#S-&iNcLHw<))nIWI>+;=Mfp{&@wqZHYx7biD zKcWTR1j2s@1A#sm#h8BV9%>WN9PHD+*nW4s7HB6SWD={j`iK@d3CPnhpR^_$|6qb8 zZx5B;FduS!qXr+}!!B3}^({73lONrJa)M)!4fUIhVvRnkhx9od5A}f#9?TE#p>`f3 zCb3$xk7xn;66KRtZvU+W!oL>fgLQxgM6^IZ4No9?vNUZJ54dZ_8ZGa_-rgj=a5(?j F{07Yc(6j&m literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_bitfinex.toif b/src/apps/webauthn/res/icon_bitfinex.toif new file mode 100644 index 0000000000000000000000000000000000000000..d86c16dc0025e74e4e3bd811d4a787c184930a01 GIT binary patch literal 1322 zcmV+_1=adgPf2D#06+j91polG($8z^N)!k1L5d7Ai!9A9ky4C1yUZ#Ky*_Wc%rYA# zx7d;_v&=>`h)9-MCLrPz>0cqGukH2y6BV&m`bWIP)K*)o`PDNkAu}J(IbQ&NxELV7 zI@PDf)DxXyv47}7eoBpD6AC|M3RIsia0C8Kypt;OweqYLwW@ZhU+LY|xzaAZ-$f15 znKV0vO%|UXi*xx}E9zb2aqoFCb7qb|P6LKDy1*Yx6%Fd61M2%RbIOC=6Xyx#I;-HJ za(}Sf&w5F2s0)JRPW&Cy1y6ns-|=Se>f-ds?h&LFV|Cpu&*Vlv`Kg%;bk7$L=bXD$o|D_YF8>1s0OZD6_k8ux#-$T|l#Yr!R>D<$E8l?LEtK!^6n|^!w&D;yh zeLD6^FH&RwRkmfTWXm_YyL493ifQWkC;wGg*MD#81nIxO>Rc5(x?MSn4K(h01+?=)lPcIgD!H(cv|_D?Bo-qXb) z5Z3R)x>nq+6J&|`>DyAv30%64K@?a|8gee zTVGwg{Zl5582P&$c@k&zr-fh2RjSa$XZ4 z)^{~{C~F$z&%W#1FScNG35s%*hmZVd)jeHzY1&n}!Jp9?AbXo^8JJ$J@U?(k_*S zRN*h!mbYmJ94@AO+x{EX_Kya)J7X1Yz+!3)Yanz{eW_yK#L?{@*8<6kDbI|Ni%6^^ zSCZj$M!9w-B&KdWQsekG)feZM7}xe@f3uyuXf`(6OBco0T_j~=+GBCpUOKM?B{>>| z^~kiqDssgtxrih@MmOT-nfw%A=vDiMpya3hmo9{bVV%X;)Sz|lB7)M^V zrgCjO+P$>oVDe#l=LTlZnGlrjabDF$$h|Yzw0r65*10%@weXQE&#Y2voln#STL2M@ zF6dR~HTl$y(diKoK#YQQ@y-(C+b(J^u?d?XLD3nx6DJGKf5r%#R39WShQ)Hn65Y^U zTj$C{c?Rns#mY~ysTHmBeTi@;R!Lp(7x^h*z)uvDpO$A*R$Uk)GiQmmYO9uNm5fKd gDtEBSwY+)%jQr_;z#7%hPw5O@pfl9iOIS+k|F_D)^Z)<= literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_dashlane.toif b/src/apps/webauthn/res/icon_dashlane.toif new file mode 100644 index 0000000000000000000000000000000000000000..cdace4d4a1f56a52b34699b408089c8e63fb396f GIT binary patch literal 2482 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 literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_dropbox.toif b/src/apps/webauthn/res/icon_dropbox.toif new file mode 100644 index 0000000000000000000000000000000000000000..a284d1b58ed28d34057d7519afcf323b0c4e4b8d GIT binary patch literal 940 zcmV;d15^A|Pf2D#06+ks0{{T+(jj!>OcVv+d*3?H)b0tk{1!aXV2j_>f^G1@77ZRW zwZu2IV9R=HiBA5IrYWHb%!GDpdTV-m`n@-qxxi0;QW!J(`8Lmr*fL}lEXP@myv<4} zZ*eWbuiw9ZOF$ovws*Ko{SLQU)?h=Xd;9hyOLkyf;HPXT`pw^+l%}Syj*K?A)9kLp0MEqtQPBkJSuMBh6wa4KY_xX)4F8)y7J79T$LQ3CpK zpc0ddT))FDRP!Xgj2^NILOq_eGTvrI%L8o=#EtES53rz{I{T?#z(kqMXhg?=l&Q#PH^f|u((xlz!eG%^2REk4LbWqUkh!!gW^H@PV7$*K%hZ92ooOX@3P zYx^FyuYI8}fv!&aw8kwQ?n?TD)viu5`QiZcM@d#Cbj6T_aQ4{ z=gz-NU)7<1?CGaXQ3+XcO7HY!vkLEeoBB)A=0IGP-3MLkDt7IBJh{=?otz+)CgztfXJ0n@+mkbF z*tz%skJ3_m_naHJ`ivVuon2XKZ=do%82GG==u4oyJKzouJ~sxhWumm*W(CAo#Nz7o zEkuo5z{FQ(D|dz4d+_k}F*%mahutm*XyaeyQCbqFyFS-MPf2D#06+jT0ssK*lD&@NFc5%^K*%L7-6gE<3YVcwvx@J~7A{jR5(4GI zV{nKFULz>0eU7ZqsmjO4$`jAoNYxc?8y8{^gL64yU#L$;e#C& zLx0PwNXPtUN6z9>F~R&S&$UK>8qYDCUvg{xub&}*(~DnY+>Xm;-@&+vUil5D^?dc8rcnR{$H=|ZtKhdA#roP4==6AOIrLEs|n!DOD z>A?IGJUF!Q?{L^WeOiBl`JL_Xfwu7LM_5(h}oK0lPBo@8Mk9lUpK30i0qqQ+7Z-GXRyB9gXM|u*hk3p zpnkj*{l>oXTvmhp#vV!NuJ{5~?~l;O%hpeS#y-Fwi9QY!KhlaDsP<$3NBstp>AMIu z`XhUj^vl4ZaAAJAt(9;qd&?T*gdQ9GGE2D0Epv!|eS&t#%!L^oCu$L}h4n$2~i87AzQc z@2lzV>b6t;XgXq?d4$W)EEpW}b83|ZvE&!0p<1v{WfuNTXT|EfTWdHZS>FztB85Vs MP$(1%h2p>Q7X_3qAOHXW literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_fastmail.toif b/src/apps/webauthn/res/icon_fastmail.toif new file mode 100644 index 0000000000000000000000000000000000000000..6cf90f00371d67100211be130c6e31a45b4fc37f GIT binary patch literal 1108 zcmV-a1gra0Pf2D#06+jp1ONc-l21q@R~*M*w}H-<9_FwqbI4%=79!~-P+W6chprGY zhZRaCAT-^ZL5md+NeFDy;6Y?vBqy^-*4^Z?xM1k+L7cGN>I6zFtlD_kZgP+|7O`{C zG6k9U`rbSflWhLYL@#B&j|7tU=kxo0e_sGhnKEU{lqpkXvC--KF*Yn;{)(|9bDi*4 zzd%Yc67#1K4DpoTsA$wE;!mY&(BY3r}&Y%!kbHk7guL`Z_XN$NM~dp5qvu8=nbW;<9;LZ^I^ z8M{TR-IBV2oztn3E#PGaG`gd3cJXS*eBz!$QcH6yNA%FQg91aJ40z?SstsLyg!1d> z@9-mY`SlLr#ncVz9L~>#vRu2Tk5BR|IOt~YZ7soVBuA#7(d01x_@a`nuT3u>zc?1~ z(rq?6f2Xb=RPWcw9N@`W?%?5WBX9Kcagvt<6EsVJ_Z?NGsZQcP%?rt_s5G995k9UU z8(*ZZ0^rU`T%#K2r`Q#G!Zq83ZkSK>aF;uv$GC%drgpN0Gv5*Q9RPtTym{wx0VU8V zvcl8w2i!eleC)46b4`;ikCp$IICrl6LWB7%!4v3J|59_RgjafR%XiHfACvkkBp^8Q z>%`FuUjPVr>+(4Y7t}*SJzt~(>3Fb71#S7nX@MypxA#onzxz=+7mPnF*U&>6n=;dC z4m#l)vOZxpKUbx_Eu;L}Szn0p$1~NVf;&}g2@az^^p?0KIQZl*DOEDgCs_}8YcJX@ zt23xrIq)TPQl~Yx6InGjQE|uv!1wPT4|c;R6@=xo?_>_5QrX&oYig<7IlK-}&_>lo zjh~1`54z(M#WS=5f!PjL{=8Y$`5~TnqV5v*-vvSk>{obVe0O|QeEuRV&rg+X=f4y1 zftu4gC+r0jYIJAF!zY*AVvt|0x9}8R$K14*^hp$KRx|Oxf_ph0eY*L0 zGxXD)S8hL-Ed-lXD$> z?w;>j=<#^e^T=fve`|5KfHu%5?%7)*JK+xQx}d|eCjOHY{Lr(P`sZgj0TX##^coj>@mTWN=@SvsG as4G3>xr!w??3Q+PQ>ILrGG*%jt^WXhj55Fg literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_fedora.toif b/src/apps/webauthn/res/icon_fedora.toif new file mode 100644 index 0000000000000000000000000000000000000000..4982615f2d6a57c16b46b5483ba3e47672783b05 GIT binary patch literal 1510 zcmVGA>|tk5HW10$P&T2b_M|0Pl9EGeFM6^f3hqz1;%6c=WQA&1|vb(s? z#BtsmXVhnt?>h*-_vZI~|NkEV#uB-dZHo897%byfaCd)Wyx%s(rGN-7tvJbA=fkk< zR0NB0JMk=h*jneL3r0h036o8^`i2Ugq6FXtvFk81E}5DlW37Mb3|x9Lwl)Koo)|9j zey8#!^z%&c{z+2FrQj>(Z5vuU$p2q)DK!T;I&5TcWSWqA?3A{f}?WH!DQc7g&Q4zK^fG!{Xh{7F5NJ z>+t=p=Xio8^jdXcSPpRJ8GJ`8`D$lG?cc=ovsNd73YRj$i!j6D`-^Wz(VNNT9hL7} zQeA)?Ge~?|&tu zDPS$JY>(Bq)7pntVZ-b;O6VML_Z29qd_K&^kIN+ga2;pP{Jz^aOHLp})Du2@PUj@3 zFu89@KP36-hr@5v4hV_<9ttN-kUiYl0?FTMnX7;1z$ul$gm!YCK{oZfov)JoxICP1 zwtvq75tc8NZ|XmGpbSJV#p*sIKSI)dK_Ni!6)t6)Vx_b3Y4?40`qVbX`!AD^5)^$6 z9n#f#h#bLxny+dlf(xdUw42>A;uEL-}qzZvwqu z{O$2}T-I9tNb*nSwpx$(|c!lK0TjZ(k?$Cw`m+JE)I(iT#%-&@S=6sfhWgx12bgJ7uVg4?E zL3}<8K#%YC&FYl5Tt44g@AGN(gTkH5=VSLJm5&l6-(w&C@?!X1_51wX`08I&{;VZa z{_%+Ys}x_JgbyHhu-@7S)B>5Y6+4(SbzP-v9A|&4z6auC% z8`7Khfktm1gjQMkIQeM+D8Ab_JDvk*fmXkE)w{>KJ?{rV$G4zUN`W<$Fn$}~@6Ug}n)H&}UU z_fDtiMFAGNQ&Dq2$j1r`J^qBmd7zRiD@Ka#0CuVzwu#=M&uiP@5k`_ij2EQm6O5 z&oArmVi$sV{}<-$W^${A0u1yFoq4kOu)&K6`YZaj`O=8pt{vW!astEVydQ|bw5%nk zV)!z${PodpyGW1^POfIF_bVtce&%6}OM~GB4Hdxcu%MOD_Zz{uyw!@!8xN#s;vW9u z`0Nb!9D{Q@(l-)NBS7+>?SwKNV}oq!LUxWLp-1(q?n&Pjl^ptZz@VHqkDbQyPy M_uHm$%0*W2|2aAq)c^nh literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_gandi.toif b/src/apps/webauthn/res/icon_gandi.toif new file mode 100644 index 0000000000000000000000000000000000000000..070bb1e78f8f7a1ee8737dec89ebd541ef8a9fab GIT binary patch literal 1367 zcmV-d1*rN|Pf2D#06+js1polmk}+uNTpY#k;BW_rj2SW{;Goc>%hO=pg9uzz#w(IArLM!68G3e0lY05{Hjv)12>O@Fv zYgxmA{2@${=69$^@|{;hF?P@!V$J^-paUso>_P7fn%^n#Nxfn0Ma5|7@AN(0Ik8sK z`}P&F?WY5D*xtKgj0@7R@FLHxwaG0J@Y8*(d8XIl&qdsxi5e$W|MZ2arQds7w>|nS zf2>!vER*n0zwlt`n@)#Tt4zX5Ma%lxK(=K$t@o>!L;&WZcT&;HU!F(u{^>{Zv#zD3 z_lGg5ID4`@F$}4Qlus;*TYn)X){Fz_4KBFv+hdf;kua^^@Yn04e|OECcP~;A9js5H z3ocl_sUUP1=8jY6g7W;gx2Df1sjgQu?<(f5K1q|K^~Xd=O0Bx0V#4&87ew#ullI=$ z9zZHHcJV;z>6j9{*U z{Mq|M_44aYC_HR+t1q^#bRiYVXU4*`f)pOudsBOJKT;N^TFLpX*#5dclhCr;FQ_jg z7l*$>7uCycb-m9gzwSR$wr99bVTfkNNYnibm}3&1N4>vY4YNA|a0HQyp1#|1Eh`nd zVB`WRZ#>0ejtH@>`clPq&(FFv1V=(cm!|)Av@z>;9>tn4<*y4b)k`Tgx!rbsg&NPi ze?9vRID0?q8v9W`e|yog{57P27jWjv-GjfQVy1cycm=1!L-f#;?#!MtV~?}jnkcrl z?7wSkrJp~@k%!!OfH}6+d3EpDb|)rj?hI*ylY3!H7qANyUG zQcU7hnY(4coyl`|ZN1TZ%Z!n-Z<7P0EKJ=ysP~64K8Y@XkHDO%?wb6pD`-Rr_zTV_ z-DcOa^mA>5q)7ybfcdHuw;}VcH=NE3Q%E`T8L%y}-Fus)C+Xf>^@hDaoi~uGFP+o> z{9(TxQcR-rs+FASNJTn)8Xt(jq|wX>_wkc)wun>&MVTicF_Ub5;XqW zOc~#_GPeKx*C7Ivv?Jv#dw=MBa&6L~DPIn&B#s2f$nX`fQP_cS{xFoC6LIDWoCI<-dotWnc6HY~ zVr}D)SMbbu*WJTNMIr!B2Bi3;8vkc;rSllcgOdU&E-26cMO<&xmqZAh9-Iz$UiJRr z$tSn`HPQq=fi4OUleGIA^v2}2f|$PJz)x@@#0BfiNm|9UlHSl8T2}rT#>95!-E`ew ZZCe}A1vz38>^*Zuhog7s08-$8$$yRn$7lcm literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_github.toif b/src/apps/webauthn/res/icon_github.toif new file mode 100644 index 0000000000000000000000000000000000000000..8f820626006daec91a6ce7965866b0ecdc080e65 GIT binary patch literal 1947 zcmV;M2W0qEPf2D#06+kb2LJ%ol3!?B*B!?N6ZC}O?0S&q*lXb)kfFC>9uifca{F){ z8#)V`A#HJpoQG>{(;2OXxN=LQ`=TJdIF%VHa6;_-Pl_;UK@8VfA6RhSpA5HOv7V^3O!~VHe(VLq;U}4Mn2KxKu zQ$F2z8YWvef2iAmt#qGUK~mQYXeiPx4m~qyb@w_IXzA>W(WnRNIUkmVzEeFD09>uy z$jJ1WN9E{e`WO>3mW7EiG5v*e6J4vqWOLJpB4axHM(BEcW_kVA`ttg6EIzT={k!c@ zYI&E#DcE$voa9}APissS9i9+t#{M)6JnlXiMO_AO9|GBGP>+lD|Rz+e{B%g9p$bijEgH(@Iy8SCVqy@I9A9nbw$QMY>XyFGXAWsfb{@twa(EAq>!>FXMw z5*p(hXjt&x#-z&k=Dta!64w{D7Pd0GbtW*IySe1n?nqhLt5fscnwFHWLB0VdHGaxb zOMdNHGgT(fCaTQ zpos_Y1p2iJ;M_w}7H94(@^VKLi?_PVG`Jx}aPJXyLR0Y=GQnEiYu&Q-JP0`Xop|<* z&2&NUS=m!1u^HMrc2IvBD|Xp}2-56p_*Fcf2-vcsezIDjr+j zS!-Xjq#QUbYnHY4<(+tJ{!}P6dD!uSc~oW#`lk+9LSn8`LSnV`BQ% z=wnRCM81-a;fE9^1G+iAiQ48zwsAC8`y8-1I9y9bU?K_DKp$Y*1}fQmhv;p-ZTlH~ zP{$FP4rPHWU=0Ue%pW}`z%X&01vuZVl@TUstUoPQ2Kfe)2kYKo=;*R{6DnYlkqOww zaV_Qk;Ht@`aqtQXlkg#v^G)Uo@ReyVRPu-(r9t^x!^cjXWqf{gYy+qkmpFaoZ%U@FNxvQN0<{Gj;}#8l@De?sBA zVj~uX`qmTI4mo44^6&6(k2rg`Q2-1dlnl5R4-HxTpNAvSY&0A8+73O1|4)S<>?C)i znXs21bk3l$rsu(020YJ(=j3c8_Jcj<+fb&~;*%ZbkNQ7|?ib!$o03N)knh@*rp z^WBrk2nj3A4_5Q>H?wbZ&tBKVKiO8%L&gHs4!-Qq~Pc4l7i2Kih=VfKj{TkYTZX2+7^9jNaN2*^&GebYp z=Rh>(IZ-*o=!*Yaxx?oI&*9&1`8~{9@$c~&{tG;pSLFWp!YfsE&keN$pF!uMKD58? z|EjD8l^=XH%qv<4d8~=LQ>RnOU*QKWTO2XCrm0+j) zeanFU&dV3z&{*&G$Rz(kut%jno$n2H@`FR|w&@O|fi|>i(Lg|BmKRU{(0R}O2mXxb hWzV~OBKV3-P2l}y&#|GG?7y+4EQdO}z;L5!{|&Ty0Hy!{ literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_gitlab.toif b/src/apps/webauthn/res/icon_gitlab.toif new file mode 100644 index 0000000000000000000000000000000000000000..4c2c412107f18a688829f5a1c4dd4ec02ddadf7b GIT binary patch literal 1117 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 W{XW9G$0Qhvyz9u?(rV9jk^cp}27_Dx literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_keeper.toif b/src/apps/webauthn/res/icon_keeper.toif new file mode 100644 index 0000000000000000000000000000000000000000..8c3e80303c4bd7277ee58b774354aef8ce5473d5 GIT binary patch literal 1852 zcmV-C2gCSOPf2D#06+jR2LJ%wl0Rr8#~#P0xc8VM#TF^H96y|g7E)v(jk=#iT&y95 z7t(As);$+is?(9iYKGI1!g8m>ja&?8pC6dL6hVHKih&4RoXr)7O2L2;E)H=;kV^Ar zW>Z>k?&{Cf2J(Yu2uPk#yby$xJIf5syI zY4z=^FV7EO|8(^G!Pax9`r-LE2Tz`V^Y{yLjmYPPJ1-x9{pwrA{^4Nj@z>%0=5DgX z-EcqLFXogB+ng6U(DJ1W%#?RNnpZ1v*Y7!|1{zIr+)<>A^+!u zpTDul>+|q;^)9TWfuGJV;=cpmTTl9A&-Zp#%HR0Q`Ts3?o52$NjR}AI)447$(WYqf zlYgCjck)%E|Kgvuoj~NNM~HN}Lopz-fS>zRK9LpC5q)-xZpkf}P0U6^IpBTPgDceL zEqW~Lw2I0sL&D%{TiV@SBiLy>a@%Q=};SfAjbT`Vm@T-IcJBmz^wSvimyqi zM_aVP_EcLcqDGpcqr98We{U;iZTMR@d>G0YB0>Zrv)^KplO@`wLz$sKIcviY(E`4@ zxg!FJ4H;9PY$;}mMG%Ob`4vNmEPEh~OR9-hC!Fz6Y}toL!_%u|;{fQUmI_w?tX z(oXp;I`KmDxeb3Wn{V3VvTia>N^<$tl&*dq2w$J#y~K0q2n^w*ffZrHuc8codb6+o zCO22j*$D15gbZatsmjx|q0r`tEX%KD^7~ZxDiBHfBUCV6HpT6%0vO8ttmAMjb)U!Y z_oNk{WbwPE>**}e=Q-UymnPoi~x8&0-ell^|EY(7t zGa@aR;X{jRkH%*@+~t_I+4MvWZ1@e9#UBV?sdq&>n@Kip8l(!rH}^+i=)zOyD||Zr zEvZv0KF{E*9clMSobaH{^{f~gd}K1{h&)5aUtjr9H$4nwpU>uF$8Toy70FCIxvwJi zGloD`M5x-~vKn#C8EkZfsIR?Gw)vvLtoUNW7qk2xn9i||NE{f5GRKodJ=KK~Dj5$j z_==^zhM|n1$$K>9m{P0#}fx)kSZ9V7L;h9rdOSzNiW+hCLKQD$<%ewee9`rOAz&^xG4(Bwu7r*P=d2 zobpLU#N-O~=|CmkXFcffrYJGbyv~Dip3Hg_+wdWVhxxh(dy-7DbSM!X@(@wZU`UjC zs(Itq&G3m0zqN>OX6iwM1(L{=n11W>JS{WrU{*U~u;SB&{BhG&Q#+ys$FeDoWeYl@ zM~5h)aEg1 qaK&SR%u^yAhW`NZTuohI<2A-3sHgl#Lxh(fcJlA-O*$K literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_lastpass.toif b/src/apps/webauthn/res/icon_lastpass.toif new file mode 100644 index 0000000000000000000000000000000000000000..c3cde22396d061617b721fc6a6f6c08b46079f5f GIT binary patch literal 763 zcmV5#$Ujc@4iN;B9k!VL-ziDa-&Rw#G{ z!C(qXDOg-Qj)D;p5h*=53YMebgFA4jV4(*J7K~t#gMu8`L9j!H3>_RDZt&hqTJGQA zQtpO(pA30d!+DrR4)^aDcquNd+L#jmqJJ-s!LS8{TI9%Ku z9B!-;KOX6_1~?=)_=<((I8I{s9!QQFQA2W4k(6jLY#@1Ms$3fX?2lE4{_C^5*Yo38 zHIlJ|Lw|2^xf`p_rpu+hUXp12Bi(i6%?2Me8hn#vA!}ZxEjGmlU*`de7CS24&zr0L zb^e$95x{T|u^>^5Okez@Bs`-P+F9KF3A27Z)MH=|3Lp zwD)~dVb~~G4ZgvT)Pf~B^(QexG^4&+C)v3EurX3QBE3P@9P4#naI9lJYyR$sgUNYs z5!sGa?e+Ip?lj!JnN7F$Bbgumk($O~L)H+glZ?Yg*l3Fti$sUgxGAcaBr2A?TyK6EjjuoIJjvDTSrk`fjuce)&sQ=@u<-`2g4%)$z zbbU5YTz?+I#Z7Ieb~Kyz7L)F5>MQ%o^Th1i5c z74oiFq#v6Qt)4%C_Z~}tJ|Qn0q&y|51oj@GwIQZFZ|Aua+J6p3wo4$_f&)p(n$L3u tQ5@&Zycs98AUTe+X4;fAnnIGS$t=j+N|KmkFc=I5gTY`h7!1Z=;XBvrfO7x< literal 0 HcmV?d00001 diff --git a/src/apps/webauthn/res/icon_slush_pool.toif b/src/apps/webauthn/res/icon_slush_pool.toif new file mode 100644 index 0000000000000000000000000000000000000000..c3e5fc0c6c49811fa4fdfa20b169daee6d3000e5 GIT binary patch literal 1931 zcmV;62Xy#UPf2D#06+kL2LJ%=l3!>X#~sIq==0XZ~oxb?iF|M%_oh@)x=Sf?qM8!$ZHYrGbTN%@e*c`EF zg8Zf}dg$5VE)q%X>u+Xf|IFUr>aLap1@D*D&1vT5^ZosPU%?cf=>JZMrFwn8+~#-I zmrd731M#QUnH|Bc^Rb>D>e*NaeV~l?+QlqUGV6%>x6B2mE#b3J;2%io*FzWv)evIvEPbhZN1o)X1BIlyFEt@%S;$afT@lF(Db3SrJ4gc-C=A0X?i*Ks}>Z#s1zJu74dQ@q@HDs^b{52Z8GJk@`w z<~==M{`vj4zB*BvtV}&KS^E4UVJ?0*SuK>Tm&m#>j@od(nH$!tU^_ zXLvBm0qeakn3T@5L#p3Z_|=88pZ@*JX6d!s%IwbeMpIzbn^=|(2kBu6*i{`}nfPYz z!QH0mWFFH88g;;~9(un=*-vNguuEzo^O`&+E4+66Y-r!{{eQg1=g#b#Ixzh<)x^xI z^Qkrv)vJ}>d*WrB#WLOyPz=kct?wp(f8R~ih9ne&cQ>Ti7*L-v` zV%>*dWsayNCv$359)!waDxuO*Z0Z?%uJ$v35NY6y?UE!Tt#6s<9~uke)9xEMFUFNk zijObNL-mGxC$Bu#=8yW*HCaV5th>8V4e$dK`o%x%`|t9z$vw(;FMVn$bDQ>`RHX-8 z06iHmALnX2hhl>6ogn;I-sJf^pBAP<`1bVk!0+(*wu97ZaTFXt-Z&RJlKP+K@9ytG z66X2RvHSiBm4~|0tlrS+3#M=W%mL&vCx4duNIXehXtoEEzC&YN`i^(S*)Gc`-BT^wkNTzB1c= z3eGG=@RtOwbFY$9D^PVIM8rjP%aQZfRxVjXf!i-xFO`Rwj(dG!4}702A;~3%^Fde^ zFJ}a(wL*FI9^O()cOKMQdw{<9Z8A<%5zQwnP0%}+d+(`GE4V27d!fR+t59BSm0o^l zXFJ+W?_Yxt3D)7Sj5YB_>L2nwm`0VP&*7)XU%%E0nLLYM^ey8op)^rHo@=tarl|8Aj`;>$xP_Q6#1^o`~l96t}z;nl!}EdD$5K5;`nPeQru%56;Md5t-Zm?aGt#n#{9%n(sg@I!odszpHFTD3$@2lr{+zGL7xqqO) z$5!8R_ZtZlXOV;?)_2q4Q=S>G;v%k?lOc`xI&eT8s*) zNP}P5_vt}CPxnnguS-Cl$-o<+{tC@tQO!N8Tv+kbt<5mqEb;9Zo1)#<2Gb8o0Cb;v zH{9wql0Nc?XgN+^C z@}NC^LWd6Qw-&vm)oQ=bp_st)?F{9yzSi`KfI8BNGq*FJgy^=iT`f7aQ~vnt=lSXX z^2a3O5!E~0H^S(^-zaF(8MUewfmA1wI!|gL{ny_t@ceBba{bS9vtOh80_}7%o%sql z<9<@8a%w64(+e*I(q~YrM{lWm;Agk?cpYxchU%+oq5X}SiH7M5(v5_*M)icB?>!6r zTm-wQR>*vMuZSlF&Dw0|t}cCbblUs1s@FR)%()5#TUFnhs05kYlo2<-+JUi#VmsUG z(+B)Kr5ZNfoxI!oi0X~xjjg9s16vQJ22wpt16%ENd*`1!y2Tq}8milXWvruY_sh9k zxpS_rbj4xMt=Q=Sqw8zXnFAq9H6m!hpz^P=hDV$nlS!kPUpOl`Y&}SK_=%+mK5;;m z+z4qgDF-B20{Lb*Jr$f@T%(|ZKE?I5w_I?$O1c6S4r9^37E3v&;3U RjL>-J@%s3Fxlgp-`Y-x@?0oI`3gwnp1jGz1om&+>-H)x?>zT(FGJ>+nRyBE^78WX^78WX`hYkqISq#Ify>79 zX_UPv^EJKEETpWyp4V;mV&g0LveB*WP43?2$MXKY>wcs_b(d4slp)eFB-X+{R~%d z0$l4~bM4LS$anJ1o@Vp(=b1+%d|9F2r|fi})r6;ky`zlW$+CJ- wE^;E8O%=Id9lHKLI@``a)_>18X{4)Y4C(jqsrBUp@$&NW^78WX@_Ivm0Hd&&EdT%j literal 0 HcmV?d00001 diff --git a/src/main.py b/src/main.py index c54ae0838..b419aa23a 100644 --- a/src/main.py +++ b/src/main.py @@ -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) diff --git a/src/trezor/workflow.py b/src/trezor/workflow.py index 7e11d4c32..92ec261d4 100644 --- a/src/trezor/workflow.py +++ b/src/trezor/workflow.py @@ -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): diff --git a/src/usb.py b/src/usb.py index 53f0bfee4..beda879b9 100644 --- a/src/usb.py +++ b/src/usb.py @@ -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)