From afc8580b0d62d78d61d45931b749625a4f91cc87 Mon Sep 17 00:00:00 2001 From: Brice Gagnage <40995873+BriceGagnageRenault@users.noreply.github.com> Date: Mon, 3 Dec 2018 13:54:40 +0100 Subject: [PATCH 01/17] Update README.md test --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 7f3880a..f8e9c6a 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ If you have a comment or suggestion, please open an [issue](https://github.com/d - [GitHub](#github) - [OpenBSD](#openbsd) - [Windows](#windows) + - [Windows Subsystem for Linux (WSL)](#wsl) - [Troubleshooting](#troubleshooting) - [Notes](#notes) - [Similar work](#similar-work) @@ -1406,6 +1407,9 @@ Create a shortcut that points to `gpg-connect-agent /bye` and place it in your s Now you can use PuTTY for public key SSH authentication. When the server asks for public key verification, PuTTY will forward the request to GPG, which will prompt you for your PIN and authorize the login using your YubiKey. +## WSL +plouf + # Troubleshooting - If you don't understand some option - read `man gpg`. From 432518b23c539d1f911c582892c22d8b63090e45 Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Mon, 3 Dec 2018 14:29:51 +0100 Subject: [PATCH 02/17] added img --- media/schema_gpg.png | Bin 0 -> 66518 bytes media/schema_gpg.pptx | Bin 0 -> 95622 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 media/schema_gpg.png create mode 100755 media/schema_gpg.pptx diff --git a/media/schema_gpg.png b/media/schema_gpg.png new file mode 100755 index 0000000000000000000000000000000000000000..96b486f464f297fb92edce7347f42e44dea4d61a GIT binary patch literal 66518 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 Zf4vsNW2gF)yf;B!^K|udS?83{1OT1Y1=aun literal 0 HcmV?d00001 diff --git a/media/schema_gpg.pptx b/media/schema_gpg.pptx new file mode 100755 index 0000000000000000000000000000000000000000..4c45f037fcf40561d1ee6a715ea125f95ca3a61b GIT binary patch literal 95622 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 z zJa1F$qNiH3bQxGm+Nbk|mK8YcHk~xPVI@P*`CC(h7C5^va_j55(RL}ZOesb0+%E^? zw!GcP6Y~00uJVLWkBEv{W^e4i|8i=cK|#w2q6_?OWOAG{wSe;`313>MOGOP_b>C#i-Fz3>lL(c_E#U{W@VZRD3{hEW_7VirC zlOHeh-4b;<`_R7m3>Oj@On>KXG^o2PHf`%yLG!yM!s+u0)#mT~v-!!-4j0e;=HJ>~ z?Yu7qGyZ=hXBWF{ajL%LDJy|h{O6;(%lksut5yn~IjE7b{Z@%p?3$_9B_k{9o|(?!_<5tY<7~-O74XCD|rQ-Sd`?PL88wruQnQJ+evNoY&I!y!h## zkhbltbY*cj)M(9U}OMknl)zI`&Sm@P;k}EX}IJkFe zYW(I(uDI>T@7&=r<}TLBxzlo*YmK(Wn+<1eUfbKZKeu^q zY4d7D@{J9J$v3<|9FYCzkj-@9Zv;!mrZowME57ad`KI{Ct?Tb!Itn#SXXw?qFN zD(-)@Bt1WE+3ZWQUoN;kW9~{i@#~h+y~A(**u2f_KBDm{=S0e;wzHoWEV-=a>8g7? z^7OA;R`;se{>~ICIlZ~(Vn)lM%WuD4T&CNwIOxYB1^HBowFaFFFVAM@u`hh|_{V%u zYjkb+=KUNZF|yGM78y5O+f>V;_@<>v7`9H!Wh+koI(Lf z$Nk!c<=%U{uRs5PcL(Q`wR@{K3qHQCR2ItFAzKcr|j=!_5c{9m-$Adeccl_?#?cwueh4hv%pG^~_ey#Eqzx=OC zU-FRiE6wz;fl9(lnLq3Eox5?sFx<;QX|3r>KSQfT6UpEdvFMbDrhiV^md`Jg zi8jk$cso0Bid*H;idxzC+*77CE(}}ko3$(Drj++@SG%mVw7!1{iaDH<*lS92XD-@s zh9~Vp=fc}>H}BeY=GQH$dzR0hiyLIJzh>z?@Amq|kqOHf?|2FAxmF=^t+(PKx7=a# zyd9JI>tE?z6OmYYz?E&m;qD`i7K`~3Bn#8x?S$7JipX8SBhPW{DyM;**W5;v9@lK$ z>Tg}lC7iFCE!8YaRsRTHu36}GeEm^{fFiRk>t38-EHUZ)VE-gZ#Pd?pg}Do_zkj?p z{rtPVB9VU6*6iB|TMMxN>N5M=ORZmQHrOw?SU6~H#@1Uhm46=p*ctzaweRk>Uft+z z8#ZikNRpGeo@>y+?33qyHCt}2|BmY4eD^B8&HnMi-QLM8>bSV;jBCuPLOw|ny={s| zyT2w*b?UmYSnOPVWs+;6=Sz9(@D{l(b2>gMdSz!Wzc}mXL7BUC)9?QNZXnnDVH?Bz zf=9_!f4=G4cdFZ`OV2i!aa(1*W}S|a%)7+O%9*^MXTSKGeyZ|EP0)kCEZN63qR!~) zJUIEGHFbwsT5auAzwNHeZ*wwR`>B1Ka-y>GdFJ-tOWw+zJ6KRFna&;cmQO9$TmMeg zr7*8JkqY&0*J=BBi{{PHTIu95(Iy<29*e2JY)Gr#@a*x%0jk-&DWtXF1PTu-VssIw@27#f;DXjR9M; z-KuLheVS7&1h>j*ON3^mTpg@s-Qxp4$KacKU@*jg1;S8(m`;?Q5BJ{^UyG z*WXrLkq(Vfw9C1=XID@|{~^JBDQl*7toxMU`X>2;{DV2ExjVe(b=O>Pt2^}n-{1L9 zD%IyVWR{*h_WR@}#mOhFTqjQ4cI(Vpo`7A>Nj!%ia!tNCA)pI+WmuE&tas11-NDl_pj`^Fu{K zMdj2q*_%qXT?^W8rLOKV^!*y~j$zg1o96pY``Y zxH#v>n&XcqiTy0-o%(dIh^yQ3yXl{o=`OH6l~!S%m}_yc+I!NHEw^ihE+5-9M=3hJ zHn+8Gx%2MZQ!gFUa9eEX8aTx$CPR^X=8*}#?jnzQmMUa!zpza8ySuZU&;EeIH*UB+*7xK2wc=>I{+?k1=r}g%@SymdRZL>eVSgw?3|CiPK57k@! zE6lm8wR~Sp_8XleI?vm`H#%D}xO6XX|NZ}F_2mV3*S$LTe*1U3$Hsdv&wYQjqeV@? zNWnqKjg3X>K=AE#UY9cKU%vBFmk*j6^3?g0;?$6(t8$aJOW#h&InXfsWP|mM8#g2j zw)jdMNnkT>o-pA;!SeFDw&HIS__N;^&-?CGb|<%ay+d@V_xF8=jpsanv-SF~_5XkU z-8+-R9Lvf$h5w zfBT}NrNMTXGd0m5(joJ3&aF#2Vha*11ReB)E#KZToPYkp%;j=DCq7Tww4(6bqg!oh zhRfG@O)=VWZQ^s$ij3#HS{Wr_4MJD!PN!sK*xeR?I(N;IHQH;qEyVY}arO?q`sa-7 z`6tTrDAjNH>di=P+pg}Enp zodJy?q!5olxd zW5uW0M`tp=-<{#VXJ*mlizd2e5n^SGj9$#;d)@@;?fj#4Zr)Eb>;5@v^868&TigOg zGE~_l*Uo)-Mrpd)XAsJvC7n1a^5zT;k5niD>Xhc3|^+& z`SVs<3)C`sv@G=a9BTA<;&aQx9~&-Kco@$w{&uEvidoMq#={pou3i;grF3}Lw7qwy z_4b;+t2%o3PSNSLb9Ox`3Ntt3+wr?*|F!-Kh6%G*ZJqY^ZLHm|@cN_sYp<^UaVz{E z+ZNYK_h-cqYqDFn>dx}m%Hw_O!wCtEFQvPaPTqChxB1FL@u?c~;OHQ;4h+H%CS$;dheEAx7o^Byo zo^6o^^Zg3_LQ+cQG)~D}KjE=%`?Q-m=Q8#<#icYX&K1iDeK7a!?eY$<{CT22%d0O< z4wIYu^wO>px#v-v_8fR3>iE>?Y{z09p6&OFMCJe7$uwe8%$UL#tErObE|yzTB7RBb z>cb~CYql=i>U(F8;0*3n$)U?`+1C0g9`W&heJU0b{n~H;Ep;VK4oc}O{<-iu_E^eQJ~6!aYuonEZP)iV8ZVb$ ztfRErXZn(VHUg!0e@$i;TD<-|S5Wq;6?JVkKR+(LAF9PW`^M6^{rwpmU;Vh_G;`{_ z^6cnaWsTRn5*7xvJ&&tz+4^usrSVcZ{)kvxo%`;F^WSZn@jhwFas$!OtzPreS#EDC z{btydE79k^BIZid-hAb=;;W33ZKQ%lL{~W6Hmi94p-wOB(9DBYzSF|bEc>1DR+Fpu zdy-q%IfGjZrZy`?)pNPVg(L+f>AGp=Rh~1poKruixYy~qq>E&s=PW*^k`{{x&C5>| zaW42+=)2_dq+^BCk5~p>o4SR`DMwSUoFRyNeQ#Xn$~zaL%<94?Y4!#xmT^pK?0jMP z1d{wDAJhK%PSsjh+ilDx;(tXUV3Vmb9B$Fe8Cvge=Ee*e>R-M()# zWi0D@4lb~}aq5py&k9)mb9$)ol-+Ou6XKR;UzxMj=a;FzB7ik5>`|k1FZ8ll#(u9CKWrb%f zKjnFg=Y39A-+0X+@~*%#NxAE6%P#BQI@+XTe5IK))bvQ@`JDXzG&|Mv#y(R8w=CAm z-cx?&w&mxWcCLYmdlk(kyO&MeSN$Pl^5Wvm<%u?~ao+dk^tTqp1x#TMWar|$z2!+{ zo0;MHPtz8Zta)jB(3(#+`stCU(sO=4vs{yHxJtj@W2uNIv!YP@h1hRXc4;fVVpudu zCOpKwFJWfKG7d*~Df7MgPE0>9wY6txyi#2{y;pty+~`@+9ioXP*?cLL2ao+?bCVW) zb;qVZsPXE>j#aB9`mSlbnx(_7A?DL2oL6;D_fFC6+?bzRR$G+)`SJMG-}l#-#mCtj zF*0=6<#XMR+V*YvpReNkPORVaDzxU!dONQTMTgsNBxT+bOD-y0ebGD1c-8vP`cJ;8 zXQ$76;=Q6IsA_7j((&1^yf`J>&!mEDtO(1k*`-&-EZB7vL6zQ zJ$qx%%zQil@NXtp=TPacB!|dr7Vl@i%e$zv?8#2G_3TUuX1tsCO8V}0c-iwYfpt^U zqNvnsCKcBgOjQk*42`^WBdq6;^53mnbt}_6jG|qqJ)GrmTgM=3PIYM*f~jXeqC;TC3fWn!RnxLmCp7{Uq6I?|Ea_OZib5Bx<|*# z*JWRh`w_Y9+5(^4Z(sNID<4<*Fh{=Bg9_u8HlgzP&;~f+y?Msz*0A z3X5EwaQAQQDWm5vl5+8K1dN+yX0R zT`PQdhp+z2KmHHz>)(d|d{=wlB{?}(GWe8Ew`rZi`OSPHUWe6Q7EWhxS#X}ii9^<6 zhRW^_P74Y-kA|J}aFS?U7o7;{a zGMa5QWtMT=+zHcno(SGvT(-?TP%B_slH$}b0wmY0Hc(_nXFhrY{iA+@5Ktp!i?l_xmnCtFy=BYL{P; z{y#(YM+}GSy4xROIiKrFF>5`zwT=5p6!%2!pZ_f1U&!!$8-C5u_2ACp**@jlPIw>A zFi9&dZM~S`VPM&tebMdXmgTW$ZP)K;KdryNYwAg@<9)J=*L5!yyU#yu+Gl5JhH2p( zk5+89&#(CL(0I?k?RD+{Kgi!ZRI|%_A=6H?LyYcE=EZ&}@BF@L|MdTl`1oU~?%7S3del~1q#sqV|YrS9C3?H>O zZ~ZOH|LL5vT(xL{+?6%*QRx;^ox3k2ImV^msr#LKr}DYBW#ua)GrqOPa=eJ^ugO@1N(oe>-|Sy!k6{oVHxena|7XKZ*YPUH?}mrsGm<+yS@B_m2*(E>%lX zKi9>Xmi8g9@mkxqxr;(nZ*cIv)|sg%;Tv{=MMpC@;N#|wZ%@2?>{!{Y7&ujY73Oww z>~|{pA+&M%<#+uz6FB@NW;?3vVx98Vl;d*k;;j`XzapAe2pG7Xacp}mSZbSKHh=Tp zQa)j(=7%!^O_NG%dpGG6o(l|Pz7~G$&c92yE8pp!e|}}9_RSj>KB3QKcebl95cMSI%vLrgt||qOw1B zDlc0mUK4P-S*7UFYrEcl^DupN*XiH9e`%dpezQ#@tubfOQ%#edjxKA}6ebshuAJFp zwC())fGs&|cnn*WGLF`m9lj|he7BA5u;9#-5jxM#lzpFhzWk(-b6n^Q9d(O}ozxfP zeSISLjHbI=Lt|Gi_2}5=6EAn5hU21RyyiWZu`cYIU-LB9=JB!gf-gr3!>*g1*!)Mq^ymD7zX2=_PgmT%`t-n_$bx5Q zD(`*#R{p8&`d_nt+fTM#KAop~#ZN6Sw)@u4TFcKh@!d3b7ls8F{Ffa)Tenb0MB#v_ zn^)Tl{^?b}ygEg<9xq=$Md8Z2V75z9ojDOcUnh6#N*GOjIQ7nhsX;q_>TSN+Gghw^a%$tpD9?G4d!|o(zCgh^=(_L}hPtSA{lX)b zWhk#Yq;a;y`-_O!#V;X>V$qty5$hh7{;J}LRlBfW<>=DXDCgIGE?3VoYbd_kF@eWo zN$$&!fjh32Khb&L>9Dk8YsT7@n;BO>c3xrh_|7%SSwBVQriYXsy_L~=FlFi@od^@- zuAt9v(*H}8?|GxQZr?MlJ{j9%r%rK2PCMiEuWr-b`|m;d{y~D|gT3kb_2;&~uWtz7 z|Lf|XgS+eJC+J4Xv~Rs9$YIjG^Mv!#f3_vJ{^<3+$(sAhqy3s9m-U6M6I4P)7ELg; zycT6ScZ$=?3s+~@X?zf@y*AO*&8xJte){pkbM7B}P9Esz3=}c>=f^BP*;H?*&ysy> z_)UJ_KJzWAYmv}`^*S292Wza7vp?%t1&1_Cx%$QSXTFiSeJ)_t(VLdxaT^cvUSIp+ z<@y}qf-MUjEq!x&+{10{KVQD?wko@^R7~6^(oAGxPXybRFt)Z$dmMyUoSJkr$uW?( zFyoem{X}uexThAcE597P9CY5D%d|1i*lGU0YL?vwtF}9+PmNu5J)lQmZH)KT)t{Lr z_6sh(ZjfX)DWdsW>A@&v7Wv$gEgbq1*OL3>><)cyX`lDj9WM6m-kj2=zN{}UUU8}FRzKuXTJFQviX=m%aRkT z12)drKWw{d@-#o&EJ-ELOJQ!m9w>Txf8TapbM=O8<&$|GpPigsA8WM#<1J%3e~Esz zocXqg|Gl$|T(}}!E#=sxRHX$QXS_AOdw1ft*s#D*=N`SnYY)YW_i$%S4xH|;ajK{O z=Y1RbuYLWWdw-W@%ux#NTOMolApKpPn0ah9Yj>LbA-TwD$vub6il>}=+$MUc-_X+P zbjGvb9VDNS<-E3+ z1=Mez*tyoy`gZ!v^WP~ehm%(d}{tL&Ac7&-1=m#52hF?o)3MZ88b)l!AVJm zX?kfvaWl`0+k85ayyqit{*$%&mBQAypC45WRqg#T?*OxH-iDe(E^?gbD!UfFIB2Wn ztl+Y)L1^CY1WqA_kX_YNw=A;yI@9AzV@2`mA9F66uj_qTr?#LWg$ zsC*kwWe#AUs_XB@;Wf8xhzmQ{SzP6exUkTo0^;tG^tFhQ`<2}(2_9W-OinwoaCP^;iHtV&w51OYoDyQCv zkC6OqYI(M1{vG~+Dwds$xf+{$ZvNvtx$pLjIcbK6E&U^}I{0-kUiHX#?r@x$WOX|& zK>jG(k1Nan&3bEGY{Dw1omzV&rbg%Jq+faN2b37s+cv7d)OC2X=g1Y^+;{7EHI~(= ztln5+&*E@gA!pN^smjtXHl?Lk&wp#&FLurr5b8z?m5-zF~@Gbl5(9`xIk}j$Mwl(3@ri~YaZXZnQQlBVgCo|{U2x7JU$)2=t|QX zcBYK}Y#GI-?9*O*6esyU`u0wu*=XXkWNnX9*`^1<{81B+e%Y@+O*L+pPI8Y;{Q_ml zOx?GRFOyiid=g`?%>Q2Nd6_YgGr!}^XA>ovCdRiFKfcVlyt_E8FZ4&*v2XuGcHcPu zg!O7c>%)Ye>}4ir?V_KTON2;%4Y*Q2hg;_v_okeNSRIagfloxcdUV!rTzmMO_zRuo za%($IuiHLlXNkF3w`AnBi8Gm=Go7=Vvgygr&Vzze%rfRKF45f4n(a7siYx2EO zuB3=yUawV-2Xm~J-@L8j9@rN)v*-Al_3I{P_QsxJ*zxM+^@8WN-wQ6EJ^%1YXK>H) z#}?8I;%O_zoln2-yyhy;ptr=0?Ew4fn#9T{6OH%$&3*sGH~&ZMx%qVwQ!;vwSuVUB zmA$lXinY+fS$Z%3*z0+Gzdw1FE${O$%F7yEUU^0_eEc3Dn0Reb`g*4vQ?>ZrAzm&4 zf$1+ESRD|MpIfB-TPIb+Gg6~v$}z1uWqaSNEwJm398 z;6xYGi3_`?NdDX)P_?EwP1y8TDqeV^90XZn`h>Rq(L ztMkRI4=hE7KYW(W+*td1Z@2PEE2ICvs$D%?Je3`4esLU9IAf%&cPL}#2A(jx@U@1i zeOg>hlIilc`qMH}kFJn1h>Kq=al*%S18?)k3DWshV%zWi6OJkW%R9%Sa?-_&5{8hN zIPurd+SMHy8kz;KSRemaa?pJLPu+Vz+OB^-w|&3p?Jb8s^Kr?yl+WX_P<&A1T`*y$ zx=_Rf;V_9DIeD46W&7X!+o4$WQoh|z*uz}r<1_QZh9erSr%ZB{6{fyo>Yh_@uDXEl zsq+(Vox3Uv?WbD|NZ0T^4Rv1qOOK%5i(9sb>AkNPAs*gkF1ii?UHBF^0W%=-W1-|w4Dzeg zwq@>>rmGvDW~lz{zZnwr^W(=^l5-ylZ&;O7C+^MCTOz~M;i&F(M2d%f&6;%&q)vZ( z#<#8X%GVi=6F2WNTOucZL*dP#DuV~##P_#|->b8B_n-IZ$H(NJ7U;9&rLVCXz7QrocSV`WIP_kw?CWwWbMrdw-tTQ*zHW zyYzmcX^){2SC@K5%fjhjC*?4HOn#AO)S;rQ+8pQA`8HzObDv|%ZjS{ozqG5it`-ov zx?+)B*qXIHk+S|Aa(DJTJTcMv&z)$`T4T{47y=O6LnUH@HPdkQi* z37Ahk?l=Fb?E4D!_0@OtKfXA8fAIw?v&zNmW>2~jDcM>&QK;%*=dIfYm#@B5%;>Nw znB1^%DSuEl<430sv-oSyAuA?6P~5slAn2E5!;=K<#^c;)&3*r~>}m)~naOjdWncA# zrjtb{l}y(+E+{x~hOO?u|GpF6?`qTzCr!PXGx_MfrlJi^X2n}h9$A;O@xZQW0ye3( z3i>TPQ$<;$vS+nUy_{=uB=S!O>p$390Qbulp3^7hb(BgaSzl$-?|&+uqNc8G#Gx9c z9c6tyN`2`xwz=AhqDL8L>13RnGw*Zt{{M#Gq}o+}Hwq~AJ7n6(?NNI7=Ei692am7B z3wXctkzMk=Y|-40n=h%c-PmCzwN0foBk3H_JkhH7(_DgtOw-G~(gsXIR<&%lWEAHm+pJ%@B z;a8)wS&}c!pL1PI{H)1z#AJ*A>|U|knc^|+G2Xjonk8E(sO?R1iQCghkJFbvP7v?)*^xSH$+zsDInRFk9(#TN zS9;Cw#?3{wom%@(E%04+o%MsYL7uGoAB8@z_8Fg!Uy~1HJ$XdOVM9yv_bJ|M?dJxH zBvq}N^5~0XV1VA~rlNq&g+Da37Ymk|xwksZJIozlqOHH6^kDA@V|(#Up_x@qg<(Xq-!`+ zi@??w)7c`oOq;izJMeENRo?5JzNq-(*K*x0 z+Z?6+1FvZ07T8UAZhB06*3Bu4WEONWxw=J4q+QNsn($opT-S;fW{X-gLasbAZZMp3 zl;M5UoNNbCmi&!tU0*XTKho#Jnz{enb7K+K`hU;kpYh-O?iwZi=y7AlkDq$dOq}P= z?P6}6$l#XR@ZPMl<5xYC*)G4I>LuR;Lm1o+ILBtREf!2QOu881H{Z59tj{slSVuc7 zEL`#ma}(2SRz82Til3+B&#m2l@7S@2$}-kvJqHthEV=*X^y@|335ygXZfa*=0n zf76j_(G7l0^S`g{306L6x%HD!VY|n%pcf}3K6Tb~YG|&=3-CO;ZIxT%+Qk}P*REYZ z`DxDGxwXqSTc*x4T;a9KCOw2-GTeCsUy()SP0zY-^X5OjY5z^;TG(~VnjZq8p|+U^ z_wCP(En!Ts{QB8$LuFle`M$Sv=hS`KsJcK`(D6mp*OM9-w|P6w{yS5NL2=%KD%~Ba zoBZcJXOCzKy6-LZwoylXTEw&twJ*yjUwn|G#CuZcwzi9gvul=q$KP$X^oyELcJb`M5 zA6~S2kn25d{pVKw+WzprzrTN)dwKU3HHV=8y{(h4Z7lIJx*dD2v|zEP=TcRM6#}O> z2-J!%I*?wZ5x1)!e5%)sk10oHZeD(K{<~li$>vpQAz?ji&ezPYMV@&+CGsHe_1N>L z-|w8fdfm>($H)DRWO#PJJaoKP%>R=^!9~`Fr&qU4dvE*4ApXxGagKA3w!Sh8-u0%_ zR9(+{*LzOkUGKGhrp&tb_oPe<%aoGmLFEdmJm)MYtzeI;x_H-DfXS=#rYi?ydbQSq zuBR>v4X>@aY*(u8+xNvPsr-P1vdQ%oHLv&boS3n6jp7o$qe31tzP$V1^!V`nnwDjM zHU6Le|0RfTZAygs^p{TA9P19Qp0h_{VF~Y+2TS?o=IoiaW{$`15Z{@8^2}2cKW%!S z&)$1&r^jqp@s!EeGk9~255JI^qNd>*cI8LTiFW&6ruTk4vw!~jd;UXXK?mMA!7W=J z?CEz7{#bit<8hCwSNFGiOp+wXjH%B%m_ZCQC!vro?cWPydkN{*$~uTSoKIsLk;I75}* z_VoJt{`URfZRP5oBr5)Ra3SR``@=m~u4yDyy;bJZc%{3<#K@&9<9gg=;h5}V1zG>| z_Z8oJN#xpX`o2VZ!i?6H>-Dy~?V5P`u=?8@A$&T@KV^Ti&rA;J2;aM1sb%7ojHhYS zecuJ$6k_h_TryKfqiNEa#CIa{zrP$_5&xU}-`D+BivGJ}BAWExOiV9|db}hwy?KYs z(@IS}hl8HqCZ<;8bA(CsTfI_&7!kDa8w!Dx3|55SE zui5|S7~kfe)A#r9g48o%E0>;E+Gr@0_ei&HP+G(FHqipRl?4s6`F@mzOay`lO2BI)CPa~@n+$jf#( zu{^$P#X0`-_t^CgF-*8tvoE2zc=G4j(S;7mToy-o7b`jGzctBZmr{Nvl=Mr$YKmNt z>`b#*sZTFAx0u|%zxaQxzohEE{JAGw{>;6wRV2A~)ulC!0vVTc^e` z`z71Ona&uUpWDZ&VZXbFQH68k5%&#Io8QaI|NYWz^W(<+5BdL|a#vpbyiW1@?3NXG zvS-^Gg>o`_R+fY%hj8Z2Pur+)nQN){l#d#7lcU?uF-3{DDBSwzbm5{#Du>vf`>H8Y zOSOxFi=Tb5+yA**{sF)JkI-+=C#YOnlG3&7x1oX4C)XF1Lh~B6xIYJq>qwn`_suLcG@T zqZ*&A^|@QOv|Q)?519L<{`M{nW{2C`=GYeZoh^>Ov2Cdqx7pq~Rrew{=^Wo0R(0B2 z;a=ml!17mJU&EFgt?p=97AZR++LdZqk=fBWC6Z#m@NvP*+&&etv17HwtdkFq&% zRKcXH`+(3)O_nP`*Ay2Y_$%X3<*AmYu=cx3_S!GAHtVVSi=`fFgOdI@%-4(uwbTH^a>s$W3?4bOJxpv<-T?HPCUlru6(PEE261L zGV^ylfBNWOF^uomXvFey>#AfA_1bJ~``y2^N2%HTT;0yk5k^(0#P&?ONSg zM|&J+ZnTpuewX7WoxXK#snM(1I@>~Q3VH9cwb^mJP<^|@gmcH9pTcYt{>|%A+dF+* zP+Z5Q{)lqnpG+6F~-3t zqHJBB;|o5OBiKVLQPeiO~j z79+5qQT%9-insVz1>x$iMp}0-*KHM2>Q^e2e3Gr#HT^_s@Z2NYdDvJt=`3HRb!;+c z_3!F4Woa3rN7gQ1Bhl~1)6VSly6~Qn6o2JMS^I)-F6g|Ig{n zQl>dmyuNN1f4QPU>GY0$93E{NJeQ;+kA&DylfP%(6%nOU5D=HX>f_S%w=sAAc(3=j zl2Hnn**3%JlSGHYLJbb~rf4QNWjV<`4KsLWt+(HCc7N?z^_>ry??2e~Joc=2+!r4| znROC8wk>SVe$r`+z6fW{4BArsX^&cq!_=uJZ>MaFosgPc1{kE@+)zDD1xD_q_0e%f9ACM@6S^-nPvx zZrc6n)jyNs#ZwtPG}nH=H2c0q)r^a;8s6UIJI6N1+w4N)wbqO)FFx9_F+Sg|ci`Z@ z>ic$+-~VKGT=aWpL~>U02fdQ@o*wqLo$hPaC>N?e;z*K{eDo~l(?oZ(hPQVbS^7`( zOf))XsmOhF@`aKNbMHpq7aL-8bAnC^Ji5N*cj6?AiT>9Q7-ZYT|9GVq|M%A3J>U8F zA21D6F9mZZfuIBKf&0-jYVDHyguMtGSQn+hc8dq?)^m^g(*z%&Urq_#3sxFU+ zk5@juNq*;K`?cLh3=+vFHq9x^3rv}_>y1~~{*R^0F0)3@j=r&j^9fs5zT;PCUo%Y7%w~UWNLVAx6nJ=^ ziJ#1W?uE%ldiCk+Or^i+O#OFY|L7H%ZCoSNUGg5oqH`U|Jh& zvb(X}?l*`0p6`yE9z@Dcm9g4$D&di(nWWJv^y!I$m-p5&HMbXB|lbG_e*IK;))%>^GRYmh?5znNX zSq`rc6j&^h>*36ht9=rMf=j;~ppE70J&JHbHa)1TXU56@Y@e>CZ|e)8W7 zifWTT_J{2K@ACQ)H-lG{#j%trslDa%7OVG7crLoUZ?2Q(*_~%UZ}j(%x6kJL@@abT z-+wH&H@K#JvdsG+kb2NbsZ z=ZCU4JUsB*hodg)v08UwQBBoLz5%u9;t3+4bqc>z{(L;_(a|lNhg*ww^Q5;$E|c z$FiuRnSFny{p!`PBbcmj-!|z!YGnEPz{`pMY8~!rAK~0{A=o?kw`XQA-$L(?su4Sw zU+lhg>F~CR^-{moyZSZNOPbVUrfe=!T%hD1Yb4sqa_tuL^4gl;>~Z2>zFp0f*>OH2 z<#D%P-1?&GhSc;;9J8d>lsf(EoXb8}R3PTbo72Ay9T)CBmf3olaZZVE%lyY5cjO)B za$KhPq9NRBnu6A%?_An`$E#us| zLf{A~Irne?>}_yjvj_RatBdY5rj`Hhx$>pXYe(z&?s zakEBJ<>Hf@=JbB$-4Zs(?zhI}n>@Kjs}?00O}JcdBNcGf^zELfr&iBDcKY2uP@iR% z@bs8NziwGo&MRNC_}#uAf^p)p3?A|)GE9;-?K<=?XMR!O$1SJVKaf1Xr_sOeS#V0| zxs+7V>k$hMR^7h(&Ng}V`iawT=PPbo81jO>MM3eMc!%YWf9022;;VX%R^48{wAMea zRJLo~zy9?{C7L&HyS}V{iAsY&%HmU=?kR^d*W_D2p2WTWvQcEl%n46yjsB+Rrs!x1 ziiEC`UVF7rOlhOIZ;I9sRb@~8t}}(mN^l9W zM5QaoU6?)lL9Muq;)QMNCVz~pt3CbFDz^L5(_6dp)aw{VvXUQqSv`+ zzKP$dzhAzDe}4Lf6{@Y_Kb5mKI^BL-{d;BJ)PMW>tUic0`ExR~q~isj)VhtO$f(z(l?2XET5Kqe$4^k{}bQV?%oT+Y#TJD+96)t#Svr{c1& zjD2C#)vdf;i#l|#{xjY+f&J6sJ$m~XHcVOfyz*R1Y3tdwxwEbXu^vB_(K>s6v2pib z$@rhQ!e?wXzNz6ClAN0@sC=%@;K=HylM;TWyf@Eiw^=T1Kd;KkcxqX!RFdb{4@Pfy zgmXt(eVl%~Ql@3@oYItu^J*A&#AF4Z+TiWa6Ls%P|6)VuGXY7p()-^!cU&&5U0~=o zIZeZA+moV|F7g3y;md!j1BrP3#p;ZToxjdhVhh zrgI&RKHy7{ckA}R}UL5E;zJRZ0g~+`c<0tb-%fHKKbNrS@T9h zdUf`upA%o#Bu@Kw<<<40;tbQ2wuCMEJYU@OOqxjO*&M+im+gNue6RZ?{AA|4hNVRT z#Rc2Yq*1U-Xv&Zn->C>7Z9h~dSJxxX^A3_mgbx*U0rk0WE5uh_=ECzCf^$>Le) z{a5(Gis_pa1jO%#WPMq0`$}CwxKd+-oy%U9tBeiL&CM^~O4zb6S6b2b=f922pNg+p z?qOft>@ihRB1E(_GVmGe=AU!+&XwH~6jJIKJC&!+*(g+Cj~e$ZXLr7jlXky*VtKyK z?s&iK^BbMYJ;xRwU;4*??f%->8pedolbO297lx@u-`>6F>GyjlpW9dKZ`(R!hheIn zU2;I*&H3*i@15FNlzJhs)@{koOFcVZo^U?RYj3uT_DV0ojDC*kt;HCfmw%zY5C8x*! zE(tp(J;$Q3>EeoaZ}!cPs^4E4$jXijlebXNrh zhO3_I`ujP8T zcaMq0ACJ?YyywaOJZ$2+K`+dLsuP}Rq z`mY5lwRh%kt9kyfz4Ea1{UgksG(?U26Zs$C+O9{BO=wzY4UeV;Sc$YTrlX1mn^ zN-v(y5#}`4t!PxLlGf%CNo-AHT; z|K@vs-Tx~!|L2k87grtK$+|*jvCQGdXGc~hpP7~W?cAKFFE%_AuYYK{=f$?wny+}p zK3l%8yB`1P9)E3fzRfOgWfxnYG^;~b!{7zW`GSh)hRa@L{dQoH zxOm#)RpUChB)es2wfbjms!&v0*wGMwzVHL*y8i3l9?mYQ^9vMiEWNH2Iql_(Gmjcq zoSc$qAQK!S>NxxpfmR~H-;F@1cItIRMtVtR(?j$beRpRWu5BQiavPW8CI z%+o6?y;rQB^6CFw#s@3EmanhB#K7=(8K=YT2s88YpHG(CAJ+f-Y4wj!&;QTzVKtIH za#YQjM_n?NucCXlsm=FWg8P3MpMO3}dfmb4l3DfVnj}BZWu5=;P3@m^yY0?im&@9y z(jIxakXNW^uT9%3fv=LgE=QH7Hgvu+W?HlKS|k_4%MiYe`{ns^_R0NteQ-BlC4W+k z=HEj3<8!KY84X|ew8*_zWvJ*6v+R^__;mNYn)u=`Qu9s-D>haw`J~R$^X?>TcU%1qU8Oq7qy>*>M<}$2Wawm?1>tm4K zb|zKkh%nKvE=TW_`F<6~9a}07IXMU>`ReBeyH0WL`^+Th<9#6U#lh20|Nr*Ov)yFe zoS;;hwxYZ1W5S7VKa1bIf48V{m4NE}tQn_67Udqy(A)dRD6Z`J-8%($d1dU1S{@(o zH|iIT;6W#J^3%c8j~3gd8SRNSi~D5sLz|EoeRxIp!|9&9bZ1CxU%ugvN0s6W7+tC*&`a*qe2 zV^B__{i37J69hQ49yF<67S|Add5^*Lhw2uaUvC6OPW?XdT>RUT??P;oY@?=W?Dy)- z^e`5m)1vAeEU&R?(w!$)LS190<@lH1ymia%xut7hkf>^E*o^$ig(Z>dghqD(gi&y%2LxShg>80!Yrv_zAeR%0d)~bH% zN!}f{AM6&tSh0QAcZDrxAKxd-%Kf^Q^kJf~|9OQe6QgS%ED_ywfmO3Whw;gG)5wzB zoQ^!^({3kq+U~H?(mm+#f!itPsjKDtDI1oWtuSQEf7|##Gj+oIMu+#Bo0?Y17)kJO zS`~b|lj+p3Nhau;>f?hGJWUzaX6#K3xOV4PQ}oWq^QIS^6rEm}@mM1}`}Gvpx(|Ep zw*I?#jo*SfpyPs?&aAfL=i7gF_y1Fm`#kIVho|~=e9fxH0yS;dW?uQd_(1aW^Fi#V zb+6}q=(exc4v($Wyk?TJEz$7y(aOUGCT)9^SQxLyWDD+mDe2xf|H1xWH=lockQ{BI z`1s7u;)te*-k&Ppm%eyWQm8t0mWg}9-nSQja0kUNbz#kjjFL(6oomIgPyO8wi)phR zwy?BnEw;X@P|3S@^@ql)-%foD`(B@v&V3Y9w|>oK!=EAZEmiVbI%C+q6(Z+wTdtC~ zGdfnX_MG2zgC+m!{Ik5?>l;g^1}1JvtFP~07CRx+H*U(5s|^<`l$usbHEoJ1yXhHM zcl`9uf4kC)9&PfrsC&e+_~L^G`$xgE|I63^bzp9Ae|G$P8n;~4kHmYw=lyRt-}|xG z=F5rZCsBE`d?MAfg*Vw8U#+==wY}%jxoEwo&*OjkTr=x4Dz83sZtmeDUyRNd%W%D6 zYCW{ATIbpCl&5Tuw+7ez%I^Pk!ufgStF-M$K%aW%X{zgzdLbdfy6{Fg9&HFU-%bm zGODyJc`(7KRivlI^yd64w~q82_{~@U;o#BhPfl)P%D-%q@W0~at{);1Ia|Ej^VAeh zd%xPG5PT?mhHhGl+VXX6Yu2w{yhZW!>2vSi?s~oc`8n&jQW;Xvp5s;vAEgZ)5lecj#8Q#a ziN+FZC#1IBUF$2B>l`Q|Qh7APW}!~%iq*N#uY?{fp8r24?%yZtoqr~sj<_4~_{7BI zD~F}-9=)*K?Em-T+WE!}F6pIP%nE*OG~V;v_WiT7`Tt_&_WZZ&2}+sCrvJ6n^n;9@ z)uZV6ziglH`mWn~=fnNKkGyw&JGFX4UjNH`Y9}p{4Wd+E{O{lUy>HT+Rqt!;99 z#$MgITs?bIn#tmeJxc=JBpJ<&+PWPRbT%0BT|b?_cl(>&*S^-4OR6{Nx=e6L5%6T0 z+^f^n!KA3D$il=qW$8thvp&zc)ZgsAFaJBFynn;rKktmEKlpcc*453cc4e>fpF4No z{(J+4gJPDI?+PlVqtkeNa+Y$Gf0~tTe~4H9CzsimIsXk#TmD^QnsYns`2qHQjTS7Q z=T5p*sr~){r@o$(f|e7HXqR4V+>~{4_8xDO+#R&+JAU`8f8}IjuvKC(s_R!3@^2%eSM^E~%{{$*vf>B#8vUsM_SKk~@poAGHLI$~>CWxxJ07<6e_U4{ zbNtU6!6l{~iJD&eti7*i8L+%vAQv%jTlxfXyK?j7#j6cmZq&?MW8S{8t7>l_pU{M^ zJ=Xr^iBh6$0uF08&iu`PNP7L=iPrD_O=N#Jg>ClasDt}#b^kq&k2xitUo*qM_G6vg zjr$8PXHMpBbXjy|(!SbGXa1!dyJs|{&RjF~)r+?qH@_EedZLsK@F>~g^%kz{k%u?y{yfj6lM=&as^Tae=^}I)q zmdBszyj^xFqtC#`>d=c50-h3b?o;D#{`&vsb-EGbm+%RfByPR!seb>L^L^d(>Yty) z^Ox*3=r*==vS@O+m~llTmoahrg=t%Y&OV*K=IN&8b6xhzU3@9>WT#?Z>C}|h46Xuh z5!`pb3C2VUsU|N;zPfiLPRdBe$_We$I z3;(~z+joARxA;stt5b#O!T`C_clYb!UTkOiHuKda%iTI%QC{=wqIvsVv)(=W8c`<~ zFZJS|O|JO%~H);ze?r&FaL`Ub$#naqVCLKw1*c+$pE3`?+J=1gV zyrN5;>O~hX>!%*Rmb+z^GblmzR4l)@Pyg_#2mkMf|6eHVF#pBlIg534jxSsO^Vs&h zr@8rc;^p<b8Qd+~~2ad!V+uK#fF_5Yc9FEv^ZaCMqVu8vmJ|I-^A zQ*hAlkcMl=oQNv{6CWLHPp`Opd;g)i<@TqX-hKWbv$ghGkY3SqarSjblllG~d|dZ` zAOC}*!@W;?4m^$iqbhCiI3tKOIR4~|` z|MJ_f9+#v7X9%<_ZdLjAK9s9T<;fc3?}Z0{if_m}EY^1XxTKtnil@?&SKXDH`S4Kv=a1v|XMf-SDkoR@rtW~kRJU6~D^}3ZQqH~mmbQVxoxMC!|+iAB88{HNJOmPX@P-gRlKYm~TfzH(R~3SSbT1|DHCU0a{_pbYzaM!Ht14`;pYgkIZ(Qi^Gt*W( z-JDxI<@5%I*E|P}UT@sDcH4bNophC7-xsakk;BMw)!%THT65R@2jTxxAF7@Uo;mfy zU3Nunn}b$UxWtdzZ&gwC%zBb~^36kMj^xh8Q>tzyY%ui^(byE%erd{@$lYz+`nx*L zs=rG}N}6;v`FX5z5T;%@%cU%I0{-sxZO{PFYA0HrN_ZBMI}UY zbMfXGo4WawIfSEDmwnn>z3k`g>vs+aw=Wa$Qf#p|H)lS)Z?5y6A3xKL1GZne#OAoS zl}o8>k%QIwpXS@#7bNZbvGw=Phm-F=eb?T1>0A|uxPTUS=!2u5zTN-yZT9=w;XiI} zdOmG8lkUaR{(N@3ua--f*sl*?xbU0i`p0v=?pELUWKH(kwMxe#rkF_Yp5pspZp+(8 z)xoDD8_ww(afur?{HtEg;d1S!R*j1gi=q{m=j0p57d>a)8|NnA@o0%#h-B$9Pp3?y z9^D(8Qnk-lU0c67?=f4GM%v|P!Vf_MMHrzjwCz z-j7jvf4{B0acA+jLrZro@V->Q!ohX@*t0HPytx~Mkq@0qt( zoZ5>SS@?7v5(KuXy#6+U%W3YSEe|C9?Pr$>e)>_Jx9kM3rK+fM`OQ~4;_Oe9mfw^5 zCE47)aIXK(mGh;-_x<^Jv~GU{*WVZZ8?Hrd394KDZkkNbuOkZYb6-3@@JmMRf7GU| zbUA*FZ{>!6k5B7UKOH^CTgx-~?W1?@T%J+ho!O=vrtQ3$Y{4BUBIF{ND06v*d4SV} zm**y56Z$r1Py6z@^@^{}b5#6<+}zwHHG1Dk z)A0QhfA6n1U-stb1U42HOZ7K1R5C62Y`?Iqn!PbSxO@7(2PW6n%R4{Rh!IcZ2@D9B zvU$nZ!X91CTdI}U4qsI55M}PwEqQ8n@9#JNqQmL=?wpP*k`63dnsztfgy{L(Ctp^Z zDIL`bYI|Yf@^Z$eH%*O3<}8jr4|R5yxExe5uYJiUcelRfpvH2$iw_!|iz6P->|P{v z=ESM9n+bd^5TbAdHVv&*YLe(k$!l_`7nYlRm#?3ep- zHBvj2wLFSxskkk}sY^PyYJa|tv}6ijsQmYfEdP#;78<|PKW9BrzH*7r#j|yz>sQ85 zwuPq~+_Qb2J`DdU`psHkQ4vGboA3JG|5r|F=U6{AW816@*$JtZpEnmPtjT}BRIs;k zS-*1eBoD1HU%ujtsna)pezMmj%Gqb#tR)v$OjJ3!>GQv?uJ__g|IM{#$QRhSnQQq69e#xWVM6gt~ z;+XNa4}b38Y1PpxnkeJo5)ka$mBba@Afy_m%{Be9%*~^+_Ol+X|Nkx2=GP6wSqq-YNi zi}ZbM=Cxn2-{=S%)WMbO&Z?ZAJ zdX{f~*V4YoYxQgy_$!&%_f3E}W1t`eTx z?<#hfemxkPQY89**TdH}KZN6tTRA7HdRgaW-Y}5)Jn4DP^F7Ab1&?c{&RfXT*~K3~S?uD50hoQFCLWRER`P~@@6_E+ zzVqSb`@-Y>^A<#NE%|VqM}68Er=HKdoA&Y7%6oi%x%1rdlJI7!UwsEFO!mEr?$AwS z?A~(c)Sby(JEB?stYKGM^5Oi{)X1Y5fonfZow4Ho#8CH+ecB%ntvyIdijIOo}KiaZo$#<%6AH1tw=~<&lnNfii*8w+}9MfB0&9{fy|m zz5Nc{Eu0-wmWoA~t@W(9ng2HN_%_av6`C=g5=*BXORBa!^ey0!PzEbkQ_7UM4bxuV z`;xiu%g)=5hn{Wa{r4gD`R4NLX%|!vS?!9PZXgg-_0rC3VnNQg&v*9M%iVVW{c)LM zt?T@PzQg)Gn~&cv(N#Y3Mex_t+~-?(tg`y^i#2=aqfdJ~s+{!SUz%y{B#7!2Jf-Y1INg?JG2vneLlz{m%B(>UF#39q0F5IOV{UNh(uKS{{B`%e?1Ld6}V& zNrx$GUx&sz#nUpuQMcY^8Z2OTjNtBMSFwq{ZbiD*oKP9_onIzaEACNvzS8JUUFCyIx>1!s+4owWED~2K zu=~N{E>bb;>j8(!GiO>pdnOhTRPleGhN5qf{FOzbi4vRg-b(51ek1wjMxD`Wvz&yI zoF)^#{$%5SJu{wZf0YmUe~9mZ?(bLjF3G%i{rcVItk1lT`)+0TePw^}EE!o%eGW}- zsk0qn#x5+=l-=j0Ty1#zJ#NEvW50Ok(?C@7KOAF$Neytcw+N^60gngO?xe>A|w|cmg*2XRXJx(;vFW} z?d~tDR91OrSFqpz@r?1_muck%FFcNU9R4_a`r3z<`!`Nkky&*8wC3qK4%Y%NC3tuD z1$7n4$+qr!)0O_|$wss7cfYc*FXJkD&f(K2(igybPv&ye{m#`4W)G)vI3yVKY3USa zCTOr8(zV`vd+F8P@8vhFc(wW4j(_z6EE2&1dXwrS?#M@^teOR^CN4ccfNQzePiBbwJ={l z14BbcndA1Yrfc3X)opye+@Rs9hP^|i)UxN#e!jY%_b@iUTKoRq$G0sK|D4TIjXHEA zLUwIWf2CHDnZL`Qf8FO2UQaXqvWr{i%vpsw%DGoIXes%<`eIc)rLr&V)OrUspolDc-a4K? z@qNF-)f!eEoh~k8ZFcszeFgLT-v`(&KD_w5WZ{tqZ&x=tY%Ke$68ONPsKB22Qo+NW zuPeV@_D@aYK^JuheV7e4BJ!Y(E!kpG(RyQROjp6R}{)v~iktKKYc)!zs^Kdwbuwb0){^p!B*r z>-&Gc^-oZovnjR1{>R(TH#byvta(v!fA=8;*QTzdIocB)yPP*06!(;5%;~wh=dbPj zl+U{a`TR?Nd^n!B>~g8h+}8~uET^o0-QrqfEb4UMezLMnz>V}9y5cOHulsht`^$Jm zT-5X7`Io1+G9H`Zs?=L5roJcTdi|^gQ{H?3N}mn_Sb*UeY5bqg+>zRjU~b3>Z!`5ixk%HG{Pd*O$~>g(&4Ud>s!B_{G~z31!r zISgwym+Y40xBa8>zWP7=&VRpNztlM+kfF7i^Z!=M8w(6CEU+%^nP~ES=XtBf^w<(J zudf-~muq~IE4-xOH!I@h0Z)-hYixbjZ+DntHoK{md%oS3nK$pSkfKt6 z+oV%-iv8pteqU$Nd@!nKp$bnHOQB2Plo^LA_MF`kXtbb2_3J{}KQAt_#(iz`FZ{5O zU7}O?oK^Cq`&ADsdw8xJR`UC}r5Qc4P~?!3U_bZl#-#?n2`9C_*{}RDyZ#4*{jSgI zFBZ0htvwiVcVb)L?e{a&mW4kkU~$r|Wcm_W-kq`k{I2)PA0LF)%!}R5^6#s9y8?$6 z@BYth%3pL(PpkUhUGijAbHn6rVQ+~xZyx*SeT#*^H#)Cb7`OVehjhl$jPJY7=$;W^ zSL|KlHtSlTXP2pf2Z!>>S;A%o_b%%t{N5(pTsY$3j&#ABh5l(YJWkLT~4uD<`hu77?}Ozr%`W$W*ry_&yco^tT# z8xa>@T0MEg^Z)CAi|Hq?9zGNI*|cs?{j{5T(%D{9rew(eNKs6;5nRELzeZ#nDGOcj4k0d$we-dI}Ytns;|j<-f``QG2INycig^cGi-s zS)qMyYu5bRe`IOm&u#ZNUU*k@dhPbYuc7N7_ubBOe#D_=S7qA~VZO8L<~NbnmqI7z z?7bbm=g;=-o3oa+G3d6?^Y{XcxlN7*{)5^nyh{jAt6Gi*mjv7JeWM|`roV7 zJKk2?wWEk%0L|hNlW2?V9ob*Cy{9dunxC8N56%p6+DTxD zd|dM&*?jTTqYFB>xQbb3y9-Y`vLXF^Sl#!ZlJftKl>a!mnDz2qA#I&wViDRkMi-3K z;}uoBLhk%uej>Kkpfmm6*R}h4is!kc@T%IqS-hV2#qDNJMS*j=ms-Tj1w)b)B0n;< z9N~N%AFP$NmF=+d;*_~PhuQg+S{2qFmHWHid_(I}6T55GB_&PEV=MG-m(MwJ;OTW#Q4Pl>Fe!t}PS7_RXvX=_8p0nETd4K%R&G~;V%kR}m?<(pxJU79FsVpbT zeJ2BZzn!11&dwiq1n2$Eew}fZO|$q!H|wE<289*MOzl^sl6Q;9HWsugga}-_&>MQ^ z`{SnYz5kkRz8p#1!XakOG-=BZHxiRBCZ2!C8TVz+ULQZ7q?ERk#s?I0I)!Ix_=v~WeR{|A@q`=S z*(G~^=E^^nzF*O??%cuxmO~T0&T?i;|9N=&+>N>0b&p(?ZnxcFbhq-gN8mqqD$*R(&vQluV;a3w!HlfK+J(k|6I3%XG z??;kZ{%x1dSCdL=COw=en6>rEj_(ZGtN-a2hq^P=`^}j>`?0h94}tG@{@NO-2K|0; z+JHwQBeU(~6$TUT|uedfzA0*!~fTFVTk9JqWw@@(|66Kb@TCV=$C)bo( zl+PPq`Y2oTeBYe#{r_^`)W6Y~xGCfL)pF(oJJb6#lXgo_swrI?vp7B0(|+ZD85YO4jKi0iq7&Fw!v ziSKi{_pY&Yis*qQ$tS9E)1If_G+FUuv$lWg>1~0Z?lnC>$j;ihLQ&NvuzAxN!)3v1 zx3Mbma2_&Uam(-Cmv!||9?$=oe(I9?4~cMv*kc*8aUUP$&Z)lT8Nt=HNuh@;WyU1& z*g2*%E;Sge@Nkp}TD|_+-1qw?`qw;*)_G#97Ol8`$ET8Sb2iOXkz117*Eo@7(*duJ zM-su`4EFM@Ih>WT?$+t!|6cCi^KR5Q?!yNBxpC@VSDe*8@wJPfG zUJ{htJVWXAhdJ@qz31-O%>VzZ|D}wEVXK2g`^0Ci9F($abdr_Viq>#X#ND&sRH z{0o>m`y6(Qxmj&`XCu|9N4o6d={QEa7y^)Bd;;t?F-U z7MtXr@_S&)ZFI=fcfkP>!y9wN_a*2%=DfW3gMnZEO+W#X^1v&HgKrQiOI54ws94}GwI9@)OB=v(9xp2sJhoH)4BITkmB6;Dv+3}~kBV>1{q5&=EX>f#@YszX5}rFAUHZK` zM(X*A&rK_5X7bs6w5Z(OtIO+D>76Ohm}|J1Y37uguiFmi+^U$s?I*o(8ec-p%bnkx z0>omw;`#z-S@daoc(j*&{A$ftc-1sNDQ#7QLo%c9$qjD`E=Fcoo_l(GhD5$XO3Oyo zV_!O&*>=ucd^=L1PifMQPGbSyHBZ;c`xV}ezIRIbH~$2-zSH`*k3QYMulrzH)5~+r z`_9XCFog6>wG?4X_5Q^4Xye&GKQ7KO-}5u7uHZaliiDC&quXVUg!A7V|NU5+zA>%n z$nNJ>?Hh|N1Q#4q+csnI36ZFue;k%N&HKK`yW-19xx4xA)Bj(T+qR*5jdkY%&kdnE zH-efb{1=$BS!3w!_4jlLZ_7QzrIEdP_Yv;&DW!F;?}dZcEWN&M#-TuY>8Hom+j^{BX8CxDM|Vy(8`{siUe_SyPp(;PBa&&YaNuvF!> z@8Zy=VAVFhs4XWJhu-YsP6ubaPp&);I7^JkQn9OHBh@MsGec^z@?Xo#1SpE0UFwMSpF^A94!s5t{8z=mE|4sdMRVTObNu=AfRG$96fYs&^ z7FB09Uth&}U~1fkps3Sd&d6k|hkyR(Uneg+|HMq|V=vB>2QVEnSTto?M#_{!xzFFP ztK*N~^HgrphBk&Ng-i6(-p+WiRR8YLZ@Q~FmMEOp)%vz6!PUjHPdMR3=V3-8?H4Dm z#{6#U|M)Zd-LcH$-@cmud(fI*d}&>;#6ykKOzJXT>=s^3qK~{hCvMk#qqEDbFYC?I zSoxna@>T!CBR4Q+Je7A6{5>J#v)#%J}TrGmW)}x!Map1_v zJ||PYO3Xj zib=_vHP`=HoxS7vJ@u8X)4cto&ra31n|g7f;HFLO+TKe7?C$GL;E+!GB;($;R3$er zS?~6d`2SCJlCA$boQMlZuczuL2%ES{x{RSe%&Z| z%^6lZJ#p!jbOtRgzWsW5 zeG{18?pgeC*H`HsPb8;rs(kL}<{oZnVR7Qe3l2}I@SiQ(Y;yl2y~3XbbFi#4nNxgi zr_GNCho9`N%r8satK9ou%W{tP%e1ydEV@beY7g&SvfjfY^R$HX zv0Y57owiJA@o-zzlpepQEj_+QDbsdAiDlq~29JVc6Tgaaly>l$9JA_~?DEz3PR(uS zJ+JS^KRB>3^O&??xJ|YA{(sraCtXQCwWir^@=PX4k2L}wuWdMwSye4vY`SfF{@t%C z*Z2IrdguQM$2A2SP9_(o6g>R-IOgZ1;>>MHF)vM714R;Jx{U2UttyGTpsc}hXu=*F zw@Y`9ZG6X4|NT^X;pw&C1=yrSubtT3b0{Jwvm>OThk4gtJvQ#CpZy|svVZ;gt88Y` zh1;c}|7x5RrY(WH0}Ajr*1xX$8n9Si{c^8HD@n6`ox`SJgwO!1Up@Ix^ht9>n}FDpF68}Jj<0&w>!_-BoUl) zWNGRe!4H2#x z`&-nzzbES^nJmy)u=m31TU856eKbtCx_fJEqB7T9XS8_#EjzX|~axR*J+DIcQ_=s zs&FuGij(%V*YXbNb~~BlcI(cu=lPX0!v7v_&v-6io^(pcYA@dof$*&#rd)DK^il2< z;4c2MDevfoVu>~CuQc>Uw7M6aQoZ7x{_fwl{j++e?fIjdDI?6LSSWMp?HS|!8yF5a z=&JT8y<+xd=~FttQKGHQedmWo+!mGJSFVZLyKK=Hze_o0Vk?ho>+btMXKAazmDin*WvtEE zJ*I4$a!jH1+39lIBbnvCMgLxAb38Se`8MELZpagXQxAN)4hH70eY}sIXMOGE=!zE) zowo#?G(I1Fo_k)s9<#II+jD|j0z5<~iCg-mvRE;OC!Cm==#iVF%`f9qarS=v;qv!C z7xD{k6w>5XR87y3f8<~PU#9IibJboxs~(QWC!W7goS^h!!IEh+_9#p-<+?Scu&b~9 zGynD49{;*u(l1t=JK%8Q%O9CkxgW|Rs-my27Yi`C?!LTm^My#0pz<%m^)(^W-@N|) zyK1hN<&GIwly%k_{S@YSq_NP{z+-XT^A}%4xHo@3p|Id;&V@CVVe#uVY}gixNc-P7 zBKdsY@prb%FJ$pfT%x&nv9pPEX+E=C{oDAN4F8O$u{p{d=i%iy-frMuzVI~X>}#8= zzjyw5@NRy>rb#z%Cfk_^cfOSld-Q?v^R(7APZl2MGc+?hbjNABj<$ox7B(;U=`*(P zdtWxCa8B(lw>2j(Xtf+#RKl^V-N*dX%KEy7?{#0)ZWUWDcAh0}|2{=;e}=e|X4e{( zDYGtF9#U{RGAmBsT}a`u$l9Pw2PgmdbN2g(W!q~SlDSnKSL|tXh-?cwdHMX^15?B2 zxUUi2d(Oltz(PDBwqp`o&h$ku6k3_oIS;YTt!X@V!A@@Wv_D_t_so<3mtpU=Y)aUq z^JOQh#8&R{jaa~>(`Vr;!1Qc4cZs#FPoz-DgSi_Owz_zSsw)3(T-S0evUw|0_)a}; zo@H5#S!-8beU%|Au*~pnUjMn8=^Cp9ubZqrC>F(DvfFme=Xrmtzs)(c&-h&0;bUvJ zu(4;DNb&IUUdl2Jtm-`fzLMR3dv(Fmy1u0c=c~^?>*&^IT_V0qBGdBom*Ne!%^F1u z60-89#jS7u@<~CyB(e6l7x&SFfBi4bj9w7tJ<;#-+1*n_4;~e1J6z0~|L?+FmcRr1 zWQ8>tcg8xLN?a3n`s@20t>{5bG)J5B zu+-k1zAa{s%Z^ok|7!m6AAg;oy0*Ha@S-`%XE!`4pSQog``n$5U`b2Gz@Wt%r%!FV zmE_Cmm(bPZAih9h`lMeE?DBTLRS4hvlUc@Mj-YC(&$Y$3Uk6R$({%39dcaLsc{i3ZEDDf>m4 zm-{30Zr{{jJFhR2cMxFd>FvGz@@vL(*0aA1(&v>)orf)6JQ-d8+dzVq+7 z-78kN7?)k&`KT*)O`NTx`fMcu#zcV!OO9}@XDE4Uvrc2~nZM&JLbxUcfI z?US%3VU{3+1zg+KNSI2gH``TqX#%nfu6t(mOG#;2Cw=P3DwV|}jVC7?<#;eXO zy|Fca=I=Wieg9V=hsf7i{o4B68b$dh64xB${1d3;`|^zbg}8_VH|997E3mpwZ2p?L zFQ_SiDaB#=^VIEsk1TM=KJ@RJ{P`E$O)VN%S{xlBMb7y7Hf~i3JaOT~0(0qwD(88l ztklAM3ob65zNz@UT-4#kOEOO-Y(9D7gMsHJm)Eh5-@>`3`7$_hTrx@g`b4Y8P^NB= z%6jvg#jjq<%*~(tm4{Jq?m3&!b1i=viY<0_Zn1iBVRF0Su?zEFFPNH;pmA`^bIrB( zcf3>_7gZ!}dvNu7-R$f8Uir_M_pvgG#S<@mi>pq+NKQN!Sb=D5EE?1!k2SQJo zbBA$H(P?aOnsSBh`sZeLuYd3NSF*GB`3SybXmnlZ;eFh4Iq#=U_w9NwJ~U1FX%fY? zq`+gLL6m|^OHrFnwsJ{B*hX_E-|I%ptZkMXYhH8=C`}c z49zxnO?)UAwN}hiNdKAG7yH*!qckhJGte|`Pa zXqzt&lx61H9lE$v^V24Ws0ibovo!j4{$JQ0@POHF$wIp&5;AKq&wGFArNkDFf^+M4 z9I{yC5_n^hgV!}P=YKD{E?d4nqwCPG^IB;Ni(vDMq_v6yr6D58r)7e<9$lRL^TG0c zhfCl8V2KQCn&uK}_aK2se_xIC`F~qwBcg*u?6@y@GCK)-*qlE1v_*;SwZXb0oQ{jP z&i?&9{m=LPHQN0$7Hn1yo+l4E`DMynJ1nQMu;zk?OyI0Zn@$uibxdb`pfp8I?va%2XSl(u)A=HV_Tm^T;bE5bEE8Kr)_v!*TmDA&_U^NmocZqc>5zNM_pjeIJayLw zufIC;z0QTRyDYLZ`FIQhRy#kGUiLWq`o^liY;5jq6AxW_omz71^Od&QHh)eqF6;9X zcAaG+r}FyCiA_y;Geg4?*;el9>F8KIqilP3K$qY8cCoI72Nm`9d{FYcT`tyq zc<~mu_8D^`w&r|T&+}vIuj{Yleb|D$F3QLxZQUrcRB?NgqRH}kg<5WDDX#q43-7)Q zoW=CeYknqsgM&nY-^Uxu?wQxxBTVfM{$pm>SnIlqK~c9$pw;p83^(7&-}x4YG!}hB}7H96BlZu3qPX@B140`+Hv-iYRh;Fm+B-wf6V;arwSobLs0aMpY}G z6Ta+gndWoFOnY%5dX_hfR!7Z`^b3bh@$Py2cm8wb`9IXO`~*CE*MtX6yQh9JUfgqq zX%PF7!k&$7e#?7HRePg)EjTtFn{dQX+I-FPE5ZJ$1vN}7nQw7#_K~-3la_k)VxoFy z>8ZsJAN%;rs$ODr)bV8Uj%b^5Eos$$C(c6(3nKF;UHemAbWD)r;49O~b9TPh@w0qe zqNWypIcMvP84`;F*H=pwhWdYf6~A)otLyt`@ZPA`IA1)k;*mnX%@>2Y-)xFEyU&b8{6o;ZWH*{PB7i~Er*)G7A zDYDz_=%1_e=Xr0=EXb2^dB$ONrR-m-i+}-=WOVocfzh02CusO&uK|pBMrU#og ztL^;6x_c#We{z?lhS8!WoU8f@SPywtx%Mlazi?>5mIWHdS!-o&Zm#@%tG>d%ye{27 zP9w2x9K)$V|m`}nJ+cd(w14)JmKKC`@v9LT+CwS@Or|XDNl|ic*zSXO;PC; zZfk2l`MKxk&CFR_t<>ji=nVF=ovM3#`{t~(QEu+XCFJCmOk4KIU91Bk3IA8_YV|Vq;%Iqht;s)Rv+WP=l@GB7ap?aoN1;yNkP&{HM;VA`@S>P z_Mal>bZl@7p3$Q+sb@P=-S?fe*WJv?Ix?g=(WTn6JJKoDYaYRTp@nn!iyutMWW@*+4B>>7iE2I30vLC zXA)&$mVfhz=khs+jy$Qlw)S>QSlqQ}G0V#B&Y51D)_A8cJp1M1;w|FOEPgy;tSh>| z_sqF7kLN7-5H@dK@lt22y>deAQG#l-8lw*VOtA^Nh8flV=>7B0AmH!TYR(#Kh9wB|Qftyd!TNUAt+) zqs`ItJ=1y4oGX)%lvVR|s@f}e%wh@CLzA7RHlJK(@0{5)*E(EqmCSVRLycE`(pOiW zy(<6UviV)Fyjr96;Rh_Y`7QgiJ$%kl%jNGKI3Iug%I6ims6=#gY)Xdcf>NGs&kvh5 ziCnd6?XP*p7x(r1^~vIlo@?DAt)4xz4vknBenfNS%B7`Crbq-|I=x#W_|l52l5!b} zTiBWX@9v(yJhn*i^|qYUud}|IyechOz| zOfDB^_Nb0@3wx%ZleoZhQNz{M;h%fb?V2xtpL_Dc4Ho6c$!lV__dQ(b*e@EAG;g2p zjjq`5UVryr^-p9toj>K@&5dEJH>RD9(vK-*5K>o_Wh~yQI?=HG&SaU{vk!81PqOnm z73#O`-ltO^ZYcY2NW2{7=H|>NXW_AbYJ?SQvZ-fNfvEnqg;QKsbF6i~WRhB!*S6_PN6np%6-NyNWiI5H z-K;y6ch2&644e9~j#s5YvJ0oK;<1;B@?O(x^X|fHq2;Dl+_{eo(iX%iuT|&i<1_kq zq>j(Fa!T^?Wt!aj|2h{pe7qQFmV58eGU4r;((bakwYf{k$RuW@w74z)mfuvX&0N3q z-`Zd1j}K12Z}YWk?$+#U3av{v^j|b!U43nR@_eqHuWxT(sFJeGefRaFmajLz{q^Zm z*R5Hly#6+IExohNE=at%@b=8(DXvlu9=Dk6NcB&dHJwMh39~XPEIPch0)?1%1)HPhP zdp$dQ%Fh`Nzqj0$of5_pcOs$CzWjc%K0DvtLwEkUmPjnDo$n@bDMzJZp8LG#J#NaI zPEL$<-mdXUNYnPv5=XOpYVS%i^1jZTCu?x)UYd#2~D9l`24)|X$;(!>>!`F6R)r_9Qg8d&QcyvP|l-j%#jiH#q$5o7m$Lo@)!IxF;UlaY-phbg?X} z)O7D91|F#|)tln~y@r%~w zQU!fBz9&ByhNfD++{w|zV9$}UE$Yj%UnN$thdc$IKe?QkzH`%O$*V~LpR+2DN*?&i zq3H2wMl(B~(2IuUUGIge1=rqKzCroNx&KT}&$~@e)d;CRi+P%8-ns7(=cbD@l-{1&`%PtIcvkPV zSt_3Eo-xllG(ptzWkt)z)Ku0qt@5DN7GL31{EyiLySEV>%IQ&#hxwe{Ka^$%3u#`#Rk4-2jJOImyI za^2R?`XX&boBjs`-Dq-qt{{HxSIwj3`a{b1Yi2FDc!pzhf`a+)?ZPcM5Y zb!}2PYkcXWfWOtOUbWsZ@wGN-Rkr8uRa(2}SszL$6ci1q{dqR6d1c&mH)Y57Imcqn zwaORmnKEU8=|b)dQ|aqAY0ID2mp7a^cfQ-c``3!~&yGKLpT+3#l{MJwV%~NQHr7hB zv?X3rkNMiCO_O|XdAP7^Gh2JAiCl88BX{S~ggGm`;+86Tdxz<*GrD2ksu^~o&GK3l z(_3Xhu-{oi*k|$KiHWvo@>qE2@`%jLh74;kovoTW5$(dPUcXc(_J6W* zd)cvdZK=Sdx+_aA=QwK!dKG;6Q21{Dce`oR@)lYf`)b8HokGGs4{!9jW_3(M^|FE z8=GnVTzo&x`n2Y!Nt--YH`+%&wt8+*))TVf(;cq=p9|XfY(B6CZuU*wwlJh)gF>-$ z$V#raFUfXnf`oz?e7bd^(D1LOr^OMeTktWgYhbp8m z+3fzcN9*jiBas4^l2cQA4LVO0|9HH=q9y+KQue~1R_o4iB=;W@ZHW_B)LnMxP_Uqr zWk^xS`r6Mn`#-<5fAXhTvv5j6jHjK+lho4sZIi=pTl9V0;y&wXkK5r>Y&Kn)$8??U zAHUvp@K8hfzTaa1Fj=ZRvy8A3BP)0READ10K}8rM`3vr|LUTvwGZTjySiXTyXk*OcZYn4A%e`gp`x za{kZL_0JdEm$x~H23XYCD`=lurFWnyKz$n`PjcVIq8O{hEoq$31jCW*P3SlTT#zlqh`jqww91=YG?sO`AD0cFFD6mtLB5 z9{Mor?vGisW;b3}VbI?it=p*LHDl&%Wo_@U@bwLiNp_EY6g*GwvHHKw@@ZM8@B=Sv z&8wynj7}ON8}{ zO)hZChK*({uOBXH7j3&VCFAYo4&_B@PP3NxTvD8O?aMMNlPJMuIxowY?|in3;avQ>cG^&Ev{N9v>Edzt{Gh$MxZhbMqeV zm%smHyZukjFunDPlO?iMU%ys9m2@esCtTLPYL?q2r4Ke{dhv-<`U4yNw_jG~FiDO2 zG%cFH_&@XegrC&V{YPL<;8@HWnC}Je*CJ>U3}*8pEvF29+^-7 zd0XG^)cm?{@{u=hsBl@Ia5A`aYsm(-l`7{rMJBWeT74=!WFYl?%Fcy?W;5r_ceLn! zui1C6tcCsE?)l8^(`L?{oo=wdzifB!^Vs(b!}S(|!I zHfU-^zc*I*3s_>Qrd=S$bxb5p-Q~zb&t5@R*NKW3=j`9$Ybg9-r+)mB?KP9!<$kK~ z`?5ZsU3H^gLh|NMN*l!12y>`kuu}LYT*DgunD^421HyK5!{(Rm?iCTb|Gnb&-tyxA zf4^UR`~Ah2UuX1nF63=pUv~ZNp7pb4&7OMQmm%&;ziofsc5aS&g;QN8e5!etrkn0( z-L=QXvp?yn(c!|Vot&Nq>sCzanCt9uc!SKRdU1D`jn5|U|IR-pwQD&uOVdYwuGJh2nzru2lhkUgvCU_ylZz|8Xrc>d|FvH{|o@Vv3*q zjBPgOw$DA2)%iDXom=$ukyhrs$wa7PZV(G`*c496xjZ?8OYV zAM+9t|B1b;e!knH?2knAPsh-U;>Rnz_NA!C#a2ZZ8y6pDNqDXob(W<{;<1H3Z{aTd5u@X)ESpPJ@v}!_2SYVVGq@UV}?>sebo3p6e~Yla7x%u_%`Ibdfb{=eqTkkFKLqB>)@Oh@J zyt24(#)_TROM^o1J7gN2I+SGOywI3WHs+9&`$Xvj$uT{ipHB%)ncKH(ZdSCSL~qft z%&4zy9-Ui-8l9@`3PmO_le`@rt+3#Jrt#H$<*5o?HF7(?+nu{tEB>2bZ{v;~^ZjVZu2Cnsx83}zu>R)hI{}OZ!v7C=aj@)rZ)|ODy>f+c&bsxNUzJ(xs1b;a z+E@Bcrt#XG{abj!mz2!=V{sGR$_v{?15`3#COtR>j`Re<}DJopb z-}K)-{%il)kxxh0*!;%vHwp7J>K5ise|_!GR*5TbO!HRdttd-||cr zyIz%t|K`^<7?d`lNHOp_kwMTYyE_mD12f{+bw(V^SyS9 zvfppNEMInjP3XHYqC6Fd(_L(pYvYTClNLC zlzzKY2IptYoVE0XcgvT8bC0w+&pp!YTyHZaL?$Nc(LsKjBcC2BpE>t7xhidzO5ggj z51qTFY+v@wbxJ-n_iM^Yy*?Nk6wKpE<|>qGZ>Ps^c4%TeZ%RXy1D=fBUj$zGwY& z*cg1)9AYh;V<7S7@OS5Hlh~xCUsu#M$Y*@hKlAy@WB-Der=+G|3lqHb=(p6`T0WVm zXD>cZmZ>`}C?+N@$-`zc>uh$`&-K4PUzM&kHPwF<%G!KKV_p5rO*)di?Q7PqFaCLn zD_S~x$zsLXt6#_L+;r+&MaO2=UN@)Rmy^@-=Dplm`RlJ{)nB`hr6+fMeOKpuR{QfZ zfrh)LKh9ZtB}??W=j7*Z+`84(Om6aWP1l*qb5%Q(9xZWPeR=8CR|0JhOUwUOeYk#Q zk5t_vrVl}H`V@;B3{{tzh*UNfvS}U&mYa92VqRV3>~&ELSy^=!`B98FzKSpK627I$ zS!e3JTdZN$EctV@{TQ;cvhG>Dy0l}~EL$I422<1O86XYc47M^{x$-74i*d!un}@G3 z1q5$yU&*>)SsH&Zw}bClxn&^zgf#rD_x;f;s(bIx4h9AW22WQ%mvv4FO#$A_ELUr?-Hl2MwQl$V&9qnA~Xn*RUB{|5{LUT&Ul z42+D73<(Sg3=IEoGdMFaGckb>Gcz*_GcyY-2P-QJ3o92pI~xZN7Y`3N7dJOApO64A zpCBJMw}6;{psD!7FJGHR!$LKZe9_R!T$pcf*cGJ z7#Wxul^B==8JPtc{~uwHXJBAtWdsALcNrL&m|0la*f}`4xc?tv*ebxl#K_Fd#KH`6 zH3I`&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v z{N(Ag=PzEq`uOSdm#^Qx|M>X}PTMRtRj0{YI%z_N|41a?cb!jkA2S2h?{ITx!VXn(ZRSroka?5yoQS!#-ss9we z{LOkOZl2<^^whd@_qsl+{y3{0aklhZ_k)cM2czyOM9789>xW4yzdR`^x_@!S<$!B% zT(4NQEHYM^*gr|^+;!~ z1b(gj&YvxOL1VrBzk65fUnr~p{oVbap<^+s!K=^jsE(M|=vw)o;oG;>{}~)5?cd*t z|Klo;VsdRfqairN2~;(s#f|5NM#5f!KQpJBoDe-7RM89En3wK)G~7rk5i{!f41qCM>Y z#HM%df1&!HVS>_shDX^K_lf3*YV16FQ*ZfXiJf*4t2e)0rTwY>ALrbU&mYyT{peAV z#T_s7b%eCe|!vlHy zzl-@Mq~E#{exzK^?#Jd#nfGR!>$+LeGWlnVpKAWGZ;njWTZK>1jN^bYo07lF2jMJ4@oLK(1J^WwY@%R538su*o{Bx__3Cc4EVygo_njfm=54x&1 z@7urR!e{2yYCVy*Mc3-pj4u<>siYa`i3c(pYt}uu$*OgyUO` zHSTJ%H@SbWU2QEExoE-t(*F!LiT@e)F9)TL+UtKlw*UJ#|DRen$Gom)1b20on0wg9 zdFMWzyZ7i?iKdFb=3(aB?=Gep9m*2hWOij|>+I&%3Bu>SrfDvoYkust(tn0Z52YQP z`?!AOy?)E|*i)RlxKQ=XYt=tTyxw_Q?|5M@!}#OL=UBVuhr8psZ*Q@Ro0*+1t)&<; zv;S0=ptx!kD+A+&I<=|u11{Xg?Z&w+{;rPuUjM5&{GXxT|38DU+wb*1AM^kHYyZbr zjOmR1$DgVH8R7%#UtC=``;q&fPOIgh!f4^zqJWd7-%jh_IsBhNKA`?|@P7u|@V~QO z)+u|I|7YL`Te*wF;l^Gy^&i*&c6}&QxtY_+)<6&&}WFZ@v6} zpJqnD>+-crZ)}_9edn;`jCCp#8n-iBD(7!hm}eXp^^3pZ+n;$Fd(}^~Kiib}`E5-P zLk0Wk=XU${)H$E}y?(F!hMlVS-=*KJ|1cr5{)^D&{|x(I{xhjRi>+!2N07^ZQS;W@mkmuM(aU?*85Q?Tf8vtunc$5hzxWlg$&}7Ld~~&m zy7WSiUyDv&sobGu_eqGseyvs8Lbj>P@7%jwG{)+03wO zB~y;?5Zb+Ma!*6yyd7(~Zk*BX`PlxaP59pq{eLZ2Z(f&t%>R=|{cl11U(VHw+K;6M zKeV&j@po!XmcHJTEg$*j=JH&&*)8;_^i_4k+`_=qzqNmStGKE1(YB}KCePZ^0>_gl zPuzUv|2#fCFg|YcoTyj(o>bHaEWG*m`AISRP5&AC)~}tE|HDJ);bE(mX^#p{x8165 z?s+S})bIYL`F*p@dVWmzH{A3l)!g{OI>RQjlH*ywmL31=U4K2&{)^elSMy4{_q~4S z6j{ri^Y3&25BCSR_qYFN;4fLr^eZDzZ!OQ!C)-sP-Z$QH%)wToY~7)*4{wvdZTax7 zd-eUyPcMEgKAmYZ!C0Z6WwoeE&0UN2W+K^-v%CWOjqmi2n>L z^MAco|JQc)q5X#&_ay%_EYMr~)Ac{Y(W|lc-ws?zY;)al@vB<0NzcBZV+>ADR#?{U zP`3Me`S0|e?H_JVzi#mT$N7aX)-(NQXgl`d{9ne>{8Re>^!5fn+uB*DC<0fbGHQ|!!@{XmUpALnm2S;9?r+E2Io)qUhmZJ5c zw~lYC)ppx+|Cs$JgF9be%>Tu)e%_hFqJtN|Z3r*lSgQ6=dhy2p3@y7oUw_+p+5Xk- zKN|lTTDE)sXPCe7KSPcAkMP-tPHc8d3A)(EI;C9lN!Xe4St`NG-H|i2-yL38WX{}V z{`pw#UdPw*mNLJ#>^l>FuXxp^+P?k&gwCq}t7ng?J@%i0%l@J6rTXV@>hJUZ6FvTS zvvUmV<{3?PxyRMtH!=L&zkA}WW0Uh|+&12%p#GyUq~Z%O|?lrGsVH$VLmuYJId z2!)+OUWXOSHk_Ay2lC3n`=1PM*UE4It+rQbU%%eb(~|DD&PLul?rOR7*qaiZMP{+V ze}>~vr~j>W{LipBY*&7#{3n%H^WW+JYuhT>|6%Ei{|w644*X}30u_;o*Z1&0d@mAn zym0l4ZB|o0E}u3j)?t&;I?n?tB`59Yrqv%>_`&@z*DUvcjLUz7$Gg@!)Ey}dm*@B+ zvN@XZVXOk%gyw&3bN=+yYUTe3vE%s9urS!;Kf?i&{|sC&-m9eU-r(BiDY`WGk^*b6 z;C9{f3}1dt4AZBN(U@(2BYnoIqEy_)}vbA7(re}?L~o)4S%f48h!eCc)5$NYnH#gD~lZNI)g z-_#@T;U|W^Yp;{!wfqeW3L@=t(v$U998{UNI{u^C^oP}krK|28P35!>IZ>JXVnLDr zg>c?=br<5qF7;?qH60tj%{_>S{s&sw3gn_ zzfb(deV*$<{jS+lx9y$ck^8*hwHS9|z+2u1X?a6+hT<#p_U%b}{B71{$ir_zy<4V<5Qo0~s<`Bi+h%Jzu1=@-Us#-}@f#;h;-V)|UpXp{3JOOHvZ zpKeMsg*|^FW9F|s|7kq;+$|fr{{F6-Yx+-k`t_2XUwPXu{kajVW2_`#&b-s%obexZ zc3a2yO^!z|?U7%5bIbnBkGe+>oy`0AVeOQn!#qaE7f5{lqO7*<>wCV#>zxihn{_Xk zWrNO!2^^6Oytn5y_a9%uk{Izvf5Rqo<+s-_sUG2HUO7SkUeS@>1<4x@JZ`A^96#^q z>ii!voiBGdKdALx^StZ(QSndK8|_kZg1JBQ$NfAnaXhc#+Uy@`uX4S#cbd*#yYbv+ z4uOXjETYH!PZd?z?K>=@YbWtC;O1$TOLt>`t~zyIXU>C->f7TAf6Nb_x3ANCGuv;e zINq(LA7xTv{eK^N+drlCC&z(PA1wZyt@6LQZl-H)?-q?aGrr`$XJ44c!t z+o_4?4jEs+Q5e@N<0O4{)g@8GCv6jF@87xpLXq1%VZXn7`F6=O>diQFIWoWKjec_M z5uQ1I3@_hkul+IcKZBCr%72gkGrY)-nKu33uFL=SU;fYF#ag;w$o`4vRr@>fe|fVP z8~qd6EBW?;eJ_9L&-sSgyY!Z>jB)uEb!S(Mqt{890_FFwn>e5P|0r9f{jfH5-Qr2{ zA~9REHKrVv-KCHqUv}rY#c}!b%3ZHA)}IKOb>VO2LG$vTb3%`GuXA53GXH2Vi@58x zYZ4Cves9|>*gU6I=K1ZH-Sx4Puce92=8Hr zNo*I7SAF}>&}48Y@^Izsm+OS8??^m}_^>LujLTrb0|CQxwZ(DSaf?6H|FgaSZ-4lI z2A7j@$AZ;$Vxr%i7q{r@ zoU!;y?lI2S2Ukw=wchVRK{i@w%Je*1xbS?6nGPHC@_&B<0Ssr@E(h zJ>9TY?*$&XuoyM#rZzP z@BfMBAF$`&$}j(VQq)af**$`8Dm!N7Oq4jmoFVJ^yr-e;tLXAAy;galvXj)Oo(t;_ zel5@Ss&j2czRzCIJ^vZ3ZkeaQi&&tpyz%+cgdd0hIdlGJh!OwK;FNXqLXG^AigNF! zL+1|NRq7P=uJqpJ#=!KZ@U%=(^>y1vZ_O^2mM~ot{N4JWVOsL7^Z3w7r|`A7Se|C`_OKfksA``h)C z|JZ$|e~Pg+F4s+Kl^yQqn*Oe4LrS`e>{@jvekZ#{d+#i>$PAf(O*cEU*3{-s z@tVc*skOg^@6=tE7h0P#Q}xoCsS8g`{>$bhE?ZRoZJGI7$B%NRs#{L0GH#oclOkcs zEML9O^1Wp^%}=Bwpa>BMfIy;+ju==6T$jY;)Vn+rc&e{6ciOyif-&uK-K z8_#~5ZTou@hq_U66Pv}`c;`2t{+cZR&(J6rZ>IhGe!joLU9*LzQ&^`9a2zVmuc9p}~W?_GP@weV`&m`#KVhy<&#p;#m(Hu#3cGW0{frQS#X27BER3&1lRlPpnwh=27OA_1ZLXvG z4dJsfdoRB=73ePIDegGubi#;HVZDEW#~s|UDX};fIs^r;mu55$FlW@idTSGsJSUUvW?#`9gJJx_ zl(GolUHdP*U0mlsd&Oc5r`D40o^TsQ>dhdA8o|yTxLGMKJjTf9c zZl1b_`uq&9tjM2XWBg(H(P?sO7vHTjDeJq(eM5EPzssDrRx3@j;Gf*U@AcdJVcNvR zl{!K9BBSqm=hkg<_T7r#ns`E-oxtFSjjy zQN{j)QvQ7={~0#DD#%lKX5H~&)3Msnjqfi!sScm@%6_xmoSc;3Z0pOm-#n9BB)aJM zLN3OW|GrgxS)aLRf6~&f^{!EK*7P4+?l#xGQu$bo@NetencMw~A6YKAav*5qtwR!S zoR15WoBXU8*sT8A`a66$H~nF?+qO$<7Hw+ndnVWy@oS^aG~xcyyOj(j*6pt@KHOun@6LaQ55ga;=G68ryZ3c}ug%u} z-+zWK6wXi2oIM(!EUbFJcnE9xByKwL<>igy_w#N%y=Il)rmug?vQ)b}V%zZz6L*L` zu0Io!Q2Qo@r|=!~e}=FP*K*I*|KODWC}4PY$;#mCzn@>N|FGqc;(rEbx%vMY>W`L$ zNwscUnJ#*F$;skeqj!A~=R(_8n0_pMI=}V7y$$hkG3HaAMl`H`#$xS$_etJyyXO1K zuk>5Ww|)F$_Tkr-i>tX4Cqz`u`e>Z9Xdcs)tl%kg?`{pV+uych*1q!2l}=lfPXi^wYQ6{)>8`Y72|3NaQ!}$rl6aGotIy zAF2O-VexOL+yCm6|1<1s6{~G}@+Cz6me~EzALajk(fD^^+kb}n9se2LFLa%su+vtQ z{afqyKY!f+Gt_d~Z_(ZV{E_|d7lG+F^!x+lfBcL8^{jpdl4(Ykld8{N+_fX(gV&tL z6aCI`mhAs}ZT{DP^M3^p-O@V&E@!GDAmz+qc`2LhwLkKYOq+HqZ=vcE{)|mVS}RZI z7tV8EAS!!ip3c_jyZ=m@YuE0MG0N?k7SJ$vL6Mt>T>t)x2wbK7iv7b>SZu#(@*u{%g4L6{%6>z^Y-!V zf+LGM4)kn`&^%|=z@0FO&7k73Xi7zUWOPf|kLIk4l1!W3CQjq>;=Pf(;BleFdDq7_ zk7w_@V#7D9CO30goM+j=&PdgS73ClJ&z`v5*M5D!@{H?xI(l2#Ci`y7_V(>qEiB~c z)No{ypQpn7<4ZNKean8df5{Syz)<BKlsn^r+WY2y7m7$C+)YZ;otpF*p@q!ao=4&PD%Ni@E7(6ts|dq-BX#? zv&5Y1VUQ80wPe*ho0{WWYu$PLLJh?y@B7a%@zb18j?0Imv~Jg>uMTt-{k8C?LZGV% z1MW;6?#kbDYWbnMnpah+&%aH*|4ZdR!|V8ek=wubZw>o*de47``JVq7-rufotvdSr zt>L57)h8c$+ls6yGU~ndIi2D0zp5+tA1>e1`_C|6SNuN% zKlc9&4F5dVHa>hF<`;4E-ur*C{}~Qi{?(7$xUuP+PeKSRUi`j4-E2_LBXdcO0I{L-xL*+MaQom3_!1_{W_YnW8{ zfrwdNT7OmR=C!}D;ch?m;?ZjxHl5@@Lf7-17@chMjeat^De2t&^@%WMa*5HcQ5!?6m2licX%~QN_QS6*#U-87h?=S82 z|B)WO{ul4z{|pV!|1)&0FIco+c%D$Nr=^$G{@`ynl3oXQ^`tKPVv#FHz?#izq|T&#_D-;b6uuf zz4TRSp3+jYr|fCpFUr|I{Lj$v-AZrg@>jg8k80hzqjJoUk#*Y!i*xU@e*H!s=TTZ8 z`$PFZgTme5f4i3dYs$WNV#T38O%3h5nt%0Cr5k$B-p@btWtYaH{jT;VTpEiSxE_OM zMig8AGpytO&#=(6tn^$(zvJF3>nBymE3BU;(77bll4YL3@@v}{t4iLTdByj*^XKM} z{|pnR-v3)x|Ci%x*6*+TgpRz4+!D(ZD*wETaB6#QqnAnf>`VITW{2C4N| zA0IPG7L`xk{(b)g`G$}W$M$-js*j4={fGZQ!z4SU%X=dK&Q6rwlo?gCZgIB1j^fUvN7mWWU6|9!ds{`3C~Qg(;szc2gGu>br&)7}3WIQrJV zO#RPLfB!#2??p83+r@tljy%1RVg+l&%`_TXf5)g#@_ZJmJ~`GOxp}>iy=ANGu5IPN zB|M(@x!pFN+*)v)IpKNN-H&DcW_usrzRg|Mt3J~qY|4b4Jp3xmFJH#RS^oAa3cPxA z?hpIBS9_K&@|8Eg7<>PZX1zfD`C9XT{~1pHXE^raKSQhjBmST7m;GnB|I_}*-MZAj zv%CK@%+L92{o9`%)Q~t7NLZKr%^mxHeme})5xx#>a_QWEhC|aovj6#hx&Hm1`G4|u z-*1-_-1nh(?vwCK(YwzoZTdU+W&=a=oE7V%wGTehcog!=>C~A|#xZ4b`$P}Txm@o4 z|0Za?kO%`C0|$7$P>DyPKn^1V!xkn620`TYLdp3>sd^Q;IW3d!`W-TmXglw_r+w-3 z#lIaFpEhICn$r=f6d40Zk|F%5^W(!Ov zD>?o<;LOLNRjd}qSrzGXSNchYvx^^>rh=pOg^Ve2aYwfFtO%K)8QEmSvnAQr$$g8@ zg4nuBdj_pOIi7s{uwT71}(edgeVITB6T3!}feUC}DOrG45z z)TC)nl14+bfz)qidHD$DuGgEHeT!U*(#lllxbEJteEY1g38A6QS~&r`_xIm_)_?wN zXsp_+bs7sy&Sj>|&{Q~k<@@w))k4YIWk!*Wr&NU1j@bqs4q-G5TDtk;n@pSP0=2Hd zj2U_>we>s9iho;qv;9o@F8z=DiZPejn!0->Hw69~=Iy>!&ro#yp5ZO?ORDQ1-u;`@ zb?Lz8{FwXY&9__ST@J6-;JEktuHQ3$r+a!I)*BY=-C$bvaNGx9;xn+`poR-G16eUcMzJSzRqQ(;q*+X>5G@ygavPNP?`CEie1t zI*A59pROuX-u%a_C!bGzu;AhSQ$} zcwAq+WtmS}j-u_(vZFrJ5}Br}Rcbg?m)&~bFKJVCL34?Es=LItp2?^F>t|+7+GSTR zZa?*idIgW`$|dZDmlrh8c+s#~?@aRJrCl2t41byYa+-PW`Tbtsxe|Pq*}8Rs)3}6R zdKzs!a6~HINIqw#@@L_klz{4U-x^gUEVMR!TsQ02(QxlWY_m(9{Ll3R=mlj>I%Sl{&`Npb}dtE0c zXqlMv%ZctfDpZZA4$ zx~`~RlN-M{`0wVy7qcpdy>JsuP?8^`KTAR{^h%QLgyKw(BMlWu!48w#|&XT7g@rq=wnmeQr1e3utWc_QzpY~qbOxM`K+gzE<*?rT@%$%}1QFj{PG z!RF7!Hzo0MOx&9J87_Lxl^YDZojyh$JRtLa$(bsJ_MKc4YhIQpT0SZA+1sl1xr$lzMFGSm~p_Emizt(yLC<84KjSE#-wn z6`SXXN6iiIXrEjCG2^)8)b(*+rB?p;&G=cq@IqmE0;U4;j>Es)+UFR{AJz zKc2NvB~-L@;?w`%{#4G|82lSSnR&q9 zS?5`c!dk6A>^Dxvo6l}Kk=9-@N#uh3!Z&9x_Ij>)Iw!($Uv>@e-eU*5*q(`;c)Lbn zW7&o!bMMTae0ayq$%(5!yneA&ZjC*M-LLka*aI?iQM{rkBLl;6b_NC=1_p3I7UyK9 zr1~Znm!uXILqiow$PgZ?N3Qy29X1ePeNelw++cIRs&(h&DJO2WI4xK`NzNhSv3!=d zTaZ`n@2+W1Jc${K3wjSs`ugl~?iTwRzS>WX*Gk>EPXzICzB;wS&z$Mrx%1t+D(Ae{ zrsSJ&&A4!IVNK1A{Ym<@JD%LiEAjNW=;!eI?~fxhR!7M!@jlyOHRsAPzDw=?w>Jca zz2D?GtvJr0dM@Kr9b-#P#&1gw{rPP2D1MV~Y`LhMZ>eO!Z)xQjudQ44i;TqOla}UQ z;P$xu`tMEu+a^5>WzpMuG^2wy`TE>!o0R&~Hq-9TQOQ@;&(qIp9FLX!pR1uR-KD8) zt(|m=Yt!Z(ODC>fn|$e7O14c__MA;?lP-l#$q^6U_Iv8ao1dfW7_p_(7kehi@iQ_o z)H5+KC?E$fO28t5bj_rLkc{5+e#4V{DchSmO16uOa#c+PW%Sv+zG{jmy{<1e551xn z^5H_V+UNSuz9+KwmT#*%Jfmm%G}Aq4qLaRynvi$%^tZ&q!>gt=ibVL|*u*IuT|QlW zb^4YG-Wt4WOI8JFY|S}gd53G_lLkJa?~E(&e6h1S@l;|fheG*+K%LjWqK+i9y-qum zwKz)5{8d-zZOsSuH}<{nJz}lz-af^@N5EOpH9I4Gfq>~Vd7Z?N!YlLVgumW;VFsUN zjK&r*aic{}Rptr3Kltn`L-)M0-Tvn94ozmFHTWQy;9p_rc+pe($q6 zQYWQa`we~?o=@p}wRu_FbU}7w!{26i*|BE&s~0DI+{3`YV9tn^R(%pH^Gi!mf)pZz z2-u$Ud$|r72(W*M{UCejt=ih=4wF*Bg9lx|F!nvU#dcfe$)XpxXJ2e;eq8(aU(Duu z-^CR{N#c9jqQVqT%ubm5-t^A8<5$I4(!Youf8cp|w#2u$MHgc-j>Pm;6ijptw8@qz z>a$*YgU3Yiw7|*fp5m8Uc1~FtE_hb9I_UMPTPwcgI#?SYJ(=a99^JfSpYq@2_I1T= zd$ioR7GhkLd*#jDZ&+I*q=$kLJjagYP%s`1 zh5XVIlhIJfFD)@04Tb#D60^}z$S*B19}R{4(h`f&P{=PWu^i^1po`oDg*1_{wVDh@ zgCW1P#Beya9zWWIIBaEPV5s0>U=U_tV2F0k&nrpID~S)OEJ!Vm1x5Us>9PKY3`E-A z`~Kng&ga!$pd`g6UKjJzQR!d9F4+aQw)#d3{M(x@Euiw)x$(wq)#bMDtLIHF%f9}~ zCrGg8V8prfCQHJy)AwO<)f3mY%q< z_*YwyG{0i1S%{R%xi3>aXCA)5vm))Ix-`Su@YTFh+Ake;b)B~H*j>tAYbK<(WB!8z z$3;&YShl;yg=s0-oc(gsLN~M~Lu2|A;ipo}ht_4xxYl(1%tIU5(*0K=k4J%F;A3p1+x?@KnV&8Sur|3l>ARng@vO%MIm#zYVi#|*J@)I#vD+NS zWcKwrZ7{g!_TaEYk- zWxLvap351y{vMzh<7U)}pWXe4Wew`zmOz^!@z5?VCBgr^Lvl%YYb44)iw3yUxVGAj!wTAOhaT zh)jTnOV9^O0=!X8xS+fxIhcciq0J1ml@(bxCo`6D0`w6AbmPj}7CwI{$iQ%WHUonw zvS|#nxsi-3)(0B|&U)xZEKX6*?qy_PFk*%bk0VT3FAFgO z1H%j!bnV&l5bb4|spUAeOZ*R6dY+Ae;erBsh{h;Fw3lS0=BDa{Nv!U_@wc~s4Fdzi zHU>!EL%2Uy18PEIQch}cNo7uIF*YBRt+GwfVP#;b6GD#?D@}+2;J||w>_{A}?%DYJ zcyBQa1H&wSbmNxl;WrN4qeKti9~*UMMYA$6REeS+7jBH-IB?et-MG~{dZm|G7#Qve zqZ{|p0>5$KJ`TEZNm)N8Ij}J>^vRijqCQoZydNCh;CfVX7kuB ztPBi(7{;v+!fzb7L4|HyzVn{k4i*N6%lr%sN{CFrz`(F50>5#F;Fbxxd4gfD4z z7?Z)}H;E>nPawu*a8XX8$yXDJF&SK{lW6koBw|bk7w{yS{4kjqlfh*@i6%c!A;x5I zu}{!sP;V5GQ{JW$V=|-$AkpYAX+#-~I~St&nh>u3oz94@4;A3e$_7%T#-PT~&&|N_ KFq4sifdK$4srhaI literal 0 HcmV?d00001 From 2b5891294a4efd2c8c85101a5ffd0eecd2f7bbd3 Mon Sep 17 00:00:00 2001 From: Brice Gagnage <40995873+BriceGagnageRenault@users.noreply.github.com> Date: Mon, 3 Dec 2018 15:00:04 +0100 Subject: [PATCH 03/17] Update README.md continuing --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f8e9c6a..28acf93 100644 --- a/README.md +++ b/README.md @@ -1408,7 +1408,23 @@ Create a shortcut that points to `gpg-connect-agent /bye` and place it in your s Now you can use PuTTY for public key SSH authentication. When the server asks for public key verification, PuTTY will forward the request to GPG, which will prompt you for your PIN and authorize the login using your YubiKey. ## WSL -plouf +The goal here is to make the SSH client inside WSL work together with the Windows agent you are using (gpg-agent.exe in our case). Here is what we are going to achieve: +![WSL agent architecture](media/schema_gpg.png) +**Note** this works only for SSH agent forwarding. Real GPG forwarding (encryption/decryption) is actually not supported. See the weasel-agent site for further information. + +### Prerequisites +- Install Ubuntu >16.04 for WSL +- Install Kleopatra + +### Windows configuration +- In %APPDATA%/gnupg/scdaemon.conf, add `reader-port Yubico YubiKey OTP+FIDO+CCID 0` +- In %APPDATA%/gnupg/gpg-agent.conf, add +``` +enable-putty-support +enable-ssh-support +``` +- Open Kleopatra, go to Smartcard, plug your Yubikey, press F5. You should see your key's information. +- Go back to the main screen, go to Import..., select your public key file. # Troubleshooting From f39b92ae454376b3d773b14c5cd82dde151fb04b Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Mon, 3 Dec 2018 17:17:09 +0100 Subject: [PATCH 04/17] test sign --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28acf93..89e62b2 100644 --- a/README.md +++ b/README.md @@ -1425,6 +1425,7 @@ enable-ssh-support ``` - Open Kleopatra, go to Smartcard, plug your Yubikey, press F5. You should see your key's information. - Go back to the main screen, go to Import..., select your public key file. +- Open a command console # Troubleshooting From 92467bc12676e42c7de58faa7d9c97708c6bc805 Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Mon, 3 Dec 2018 17:19:45 +0100 Subject: [PATCH 05/17] test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89e62b2..1fc67b4 100644 --- a/README.md +++ b/README.md @@ -1425,7 +1425,7 @@ enable-ssh-support ``` - Open Kleopatra, go to Smartcard, plug your Yubikey, press F5. You should see your key's information. - Go back to the main screen, go to Import..., select your public key file. -- Open a command console +- Open a command console. # Troubleshooting From 1c15d89a542412964208b995b667820bcf692700 Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Mon, 3 Dec 2018 17:28:34 +0100 Subject: [PATCH 06/17] maow --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1fc67b4..89e62b2 100644 --- a/README.md +++ b/README.md @@ -1425,7 +1425,7 @@ enable-ssh-support ``` - Open Kleopatra, go to Smartcard, plug your Yubikey, press F5. You should see your key's information. - Go back to the main screen, go to Import..., select your public key file. -- Open a command console. +- Open a command console # Troubleshooting From 95624e2c489969dea2c29f64bd739436c0822db1 Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Tue, 4 Dec 2018 11:39:25 +0100 Subject: [PATCH 07/17] first draft --- README.md | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 89e62b2..389878d 100644 --- a/README.md +++ b/README.md @@ -1415,17 +1415,48 @@ The goal here is to make the SSH client inside WSL work together with the Window ### Prerequisites - Install Ubuntu >16.04 for WSL - Install Kleopatra +- [Windows configuration](#windows) ### Windows configuration - In %APPDATA%/gnupg/scdaemon.conf, add `reader-port Yubico YubiKey OTP+FIDO+CCID 0` -- In %APPDATA%/gnupg/gpg-agent.conf, add -``` -enable-putty-support -enable-ssh-support -``` +- In %APPDATA%/gnupg/gpg-agent.conf, add `enable-ssh-support` - Open Kleopatra, go to Smartcard, plug your Yubikey, press F5. You should see your key's information. - Go back to the main screen, go to Import..., select your public key file. - Open a command console +- Type `gpg --card-status`, you should see your Yubikey's details. +- Follow this part: [Trust master key](#trust-master-key) + +### WSL configuration +- Download or clone [weasel-pageant](https://github.com/vuori/weasel-pageant) +- Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent +- Source it `. ~/.bashrc` +- You should be able to see your SSH key with `ssh-add -l` +- Edit your `~/.ssh/config` file +- For each host you want to use agent forwarding, add +``` +ForwardAgent yes +RemoteForward /tmp/S.weasel-pageant +``` +**Note**: the remote ssh socket path can be found by executing `gpgconf --list-dirs agent-ssh-socket` on the host. + +### Remote host configuration +- Add `export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)` to your .bashrc or equivalent +- Edit your /etc/ssh/sshd_config and add: +``` +AllowAgentForwarding yes +StreamLocalBindUnlink yes +``` + +### Final test +- Unplug your Yubikey, reboot. +- Log back on Windows, open a WSL console and enter `ssh-add -l`, you should see nothing. +- Plug your Yubikey, enter the same command, you should see your ssh key. +- Log in to your remote host, you should have the pinentry popup/window asking for your Yubikey pin. +- On your remote host, type `ssh-add -l`. If should see your ssh key, that means your forwarding works ! + +**Note**: you can chain the agent forwarding through multiple hosts, you just have to follow the same [protocol](#remote-host-configuration) to configure each host. + + # Troubleshooting From ffd7b674c8223a21194521ceecd4464172892650 Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Tue, 4 Dec 2018 13:16:18 +0100 Subject: [PATCH 08/17] updated draft --- README.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 389878d..1776f4e 100644 --- a/README.md +++ b/README.md @@ -1410,7 +1410,7 @@ Now you can use PuTTY for public key SSH authentication. When the server asks fo ## WSL The goal here is to make the SSH client inside WSL work together with the Windows agent you are using (gpg-agent.exe in our case). Here is what we are going to achieve: ![WSL agent architecture](media/schema_gpg.png) -**Note** this works only for SSH agent forwarding. Real GPG forwarding (encryption/decryption) is actually not supported. See the weasel-agent site for further information. +**Note**: this works only for SSH agent forwarding. Real GPG forwarding (encryption/decryption) is actually not supported. See the [weasel-pageant](https://github.com/vuori/weasel-pageant) readme for further information. ### Prerequisites - Install Ubuntu >16.04 for WSL @@ -1418,21 +1418,24 @@ The goal here is to make the SSH client inside WSL work together with the Window - [Windows configuration](#windows) ### Windows configuration -- In %APPDATA%/gnupg/scdaemon.conf, add `reader-port Yubico YubiKey OTP+FIDO+CCID 0` +Windows can already have some virtual smartcard readers installed, like the one provided for Windows Hello. To ensure your Yubikey is the correct one used by scdaemon, you should add it to its configuration. You will need your device's full name. To find out what is your device's full name, open the Device Manager, select "View->Show hidden devices". Go to the Software Devices list, you should see something like `Yubico YubiKey OTP+FIDO+CCID 0`. The name slightly differs according to the model. Thanks to [Scott Hanselman](https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx) for sharing this information. + +- Create or edit %APPDATA%/gnupg/scdaemon.conf, add `reader-port `. - In %APPDATA%/gnupg/gpg-agent.conf, add `enable-ssh-support` -- Open Kleopatra, go to Smartcard, plug your Yubikey, press F5. You should see your key's information. -- Go back to the main screen, go to Import..., select your public key file. +- Open Kleopatra, go to "Tools->Smartcard", plug your Yubikey, press F5. You should see your key's information. +- Go back to the main screen, go to "Import...", select your [public key file](#export-public-key). - Open a command console - Type `gpg --card-status`, you should see your Yubikey's details. - Follow this part: [Trust master key](#trust-master-key) ### WSL configuration -- Download or clone [weasel-pageant](https://github.com/vuori/weasel-pageant) -- Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent -- Source it `. ~/.bashrc` -- You should be able to see your SSH key with `ssh-add -l` -- Edit your `~/.ssh/config` file -- For each host you want to use agent forwarding, add +- Download or clone [weasel-pageant](https://github.com/vuori/weasel-pageant). +- Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent. +**Note**: we use a named socket here so we can use it in the RemoteForward directive of the .ssh/config file. +- Source it `. ~/.bashrc`. +- You should be able to see your SSH key with `ssh-add -l`. +- Edit your `~/.ssh/config` file. +- For each host you want to use agent forwarding, add: ``` ForwardAgent yes RemoteForward /tmp/S.weasel-pageant @@ -1440,12 +1443,13 @@ RemoteForward /tmp/S.weasel-pageant **Note**: the remote ssh socket path can be found by executing `gpgconf --list-dirs agent-ssh-socket` on the host. ### Remote host configuration -- Add `export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)` to your .bashrc or equivalent +- Add `export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)` to your .bashrc or equivalent. - Edit your /etc/ssh/sshd_config and add: ``` AllowAgentForwarding yes StreamLocalBindUnlink yes ``` +- Reload the ssh daemon (e.g. `sudo service sshd reload`). ### Final test - Unplug your Yubikey, reboot. @@ -1506,3 +1510,4 @@ StreamLocalBindUnlink yes * https://alexcabal.com/creating-the-perfect-gpg-keypair/ * https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/ * https://evilmartians.com/chronicles/stick-with-security-yubikey-ssh-gnupg-macos +* https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx From ee307676122c8417ae4e6344dfc93d74d66aa7a1 Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Tue, 4 Dec 2018 15:03:00 +0100 Subject: [PATCH 09/17] final draft --- README.md | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 1776f4e..03ebc13 100644 --- a/README.md +++ b/README.md @@ -1385,25 +1385,29 @@ Install `pcsc-tools` and enable with `doas rcctl enable pcscd`, then reboot in o ## Windows -Export the SSH key from GPG: +Windows can already have some virtual smartcard readers installed, like the one provided for Windows Hello. To ensure your Yubikey is the correct one used by scdaemon, you should add it to its configuration. You will need your device's full name. To find out what is your device's full name, plug your Yubikey, open the Device Manager, select "View->Show hidden devices". Go to the Software Devices list, you should see something like `Yubico YubiKey OTP+FIDO+CCID 0`. The name slightly differs according to the model. Thanks to [Scott Hanselman](https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx) for sharing this information. +- Create or edit %APPDATA%/gnupg/scdaemon.conf, add `reader-port `. +- In %APPDATA%/gnupg/gpg-agent.conf, add: ``` -$ gpg --export-ssh-key $USERID +enable-ssh-support +enable-putty-support ``` -Copy this key to a file for later use. It represents the public SSH key corresponding to the secret key on your YubiKey. You can upload this key to any server you wish to SSH into. - -To authenticate SSH sessions via YubiKey, enable Gpg4Win's PuTTY integration. Create a file named `gpg-agent.conf` and place it in the directory `C:\%APPDATA%\gnupg`. -The file should contain the line `enable-putty-support`. - -Then, open a terminal and run the following commands: - +- Open a command console, restart the agent: ``` > gpg-connect-agent killagent /bye > gpg-connect-agent /bye ``` +- Enter `> gpg --card-status`, now you should see your Yubikey's details. +- Import your [public key](#export-public-key): `> gpg --import ` +- Trust it: [Trust master key](#trust-master-key) +- Retrieve your public key's id: `gpg --list-public-keys` +- Export the SSH key from GPG: `> gpg --export-ssh-key ` -Create a shortcut that points to `gpg-connect-agent /bye` and place it in your startup folder to make sure the agent starts after a system shutdown. +Copy this key to a file for later use. It represents the public SSH key corresponding to the secret key on your YubiKey. You can upload this key to any server you wish to SSH into. + +- Create a shortcut that points to `gpg-connect-agent /bye` and place it in your startup folder `shell:startup` to make sure the agent starts after a system shutdown. Modify the shortcut properties so it starts in a "Minimized" window, to avoid unnecessary noise at startup. Now you can use PuTTY for public key SSH authentication. When the server asks for public key verification, PuTTY will forward the request to GPG, which will prompt you for your PIN and authorize the login using your YubiKey. @@ -1417,17 +1421,6 @@ The goal here is to make the SSH client inside WSL work together with the Window - Install Kleopatra - [Windows configuration](#windows) -### Windows configuration -Windows can already have some virtual smartcard readers installed, like the one provided for Windows Hello. To ensure your Yubikey is the correct one used by scdaemon, you should add it to its configuration. You will need your device's full name. To find out what is your device's full name, open the Device Manager, select "View->Show hidden devices". Go to the Software Devices list, you should see something like `Yubico YubiKey OTP+FIDO+CCID 0`. The name slightly differs according to the model. Thanks to [Scott Hanselman](https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx) for sharing this information. - -- Create or edit %APPDATA%/gnupg/scdaemon.conf, add `reader-port `. -- In %APPDATA%/gnupg/gpg-agent.conf, add `enable-ssh-support` -- Open Kleopatra, go to "Tools->Smartcard", plug your Yubikey, press F5. You should see your key's information. -- Go back to the main screen, go to "Import...", select your [public key file](#export-public-key). -- Open a command console -- Type `gpg --card-status`, you should see your Yubikey's details. -- Follow this part: [Trust master key](#trust-master-key) - ### WSL configuration - Download or clone [weasel-pageant](https://github.com/vuori/weasel-pageant). - Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent. @@ -1443,7 +1436,11 @@ RemoteForward /tmp/S.weasel-pageant **Note**: the remote ssh socket path can be found by executing `gpgconf --list-dirs agent-ssh-socket` on the host. ### Remote host configuration -- Add `export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)` to your .bashrc or equivalent. +- Add to your .bashrc or equivalent: +``` +export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +export GPG_TTY=$(tty) +``` - Edit your /etc/ssh/sshd_config and add: ``` AllowAgentForwarding yes From 86e03e6d09e7406be71f982571f7795ccc76f96b Mon Sep 17 00:00:00 2001 From: Brice Gagnage Date: Tue, 4 Dec 2018 15:11:13 +0100 Subject: [PATCH 10/17] final draft --- README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 03ebc13..1b3c310 100644 --- a/README.md +++ b/README.md @@ -1402,7 +1402,7 @@ enable-putty-support - Enter `> gpg --card-status`, now you should see your Yubikey's details. - Import your [public key](#export-public-key): `> gpg --import ` - Trust it: [Trust master key](#trust-master-key) -- Retrieve your public key's id: `gpg --list-public-keys` +- Retrieve your public key's id: `> gpg --list-public-keys` - Export the SSH key from GPG: `> gpg --export-ssh-key ` Copy this key to a file for later use. It represents the public SSH key corresponding to the secret key on your YubiKey. You can upload this key to any server you wish to SSH into. @@ -1425,15 +1425,15 @@ The goal here is to make the SSH client inside WSL work together with the Window - Download or clone [weasel-pageant](https://github.com/vuori/weasel-pageant). - Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent. **Note**: we use a named socket here so we can use it in the RemoteForward directive of the .ssh/config file. -- Source it `. ~/.bashrc`. -- You should be able to see your SSH key with `ssh-add -l`. +- Source it `$ . ~/.bashrc`. +- You should be able to see your SSH key with `$ ssh-add -l`. - Edit your `~/.ssh/config` file. - For each host you want to use agent forwarding, add: ``` ForwardAgent yes RemoteForward /tmp/S.weasel-pageant ``` -**Note**: the remote ssh socket path can be found by executing `gpgconf --list-dirs agent-ssh-socket` on the host. +**Note**: the remote ssh socket path can be found by executing `$ gpgconf --list-dirs agent-ssh-socket` on the host. ### Remote host configuration - Add to your .bashrc or equivalent: @@ -1446,19 +1446,17 @@ export GPG_TTY=$(tty) AllowAgentForwarding yes StreamLocalBindUnlink yes ``` -- Reload the ssh daemon (e.g. `sudo service sshd reload`). +- Reload the ssh daemon (e.g. `$ sudo service sshd reload`). ### Final test -- Unplug your Yubikey, reboot. -- Log back on Windows, open a WSL console and enter `ssh-add -l`, you should see nothing. +- Unplug your Yubikey, disconnect or reboot. +- Log back on Windows, open a WSL console and enter `$ ssh-add -l`, you should see nothing. - Plug your Yubikey, enter the same command, you should see your ssh key. - Log in to your remote host, you should have the pinentry popup/window asking for your Yubikey pin. -- On your remote host, type `ssh-add -l`. If should see your ssh key, that means your forwarding works ! +- On your remote host, type `$ ssh-add -l`. If you see your ssh key, that means your forwarding works ! **Note**: you can chain the agent forwarding through multiple hosts, you just have to follow the same [protocol](#remote-host-configuration) to configure each host. - - # Troubleshooting - If you don't understand some option - read `man gpg`. From 7746c3381aca799e387466e7d103d33ee84a9d77 Mon Sep 17 00:00:00 2001 From: "Matt T. Proud" Date: Fri, 7 Dec 2018 09:37:10 +0100 Subject: [PATCH 11/17] Emphasize keytocard danger and fix inconsistency. This commit applies a few editorial cleanups to the document: 1. `keytocard` operations now contained emphasized warnings to convey that these operations are destructive. I unknowingly made this mistake a few years ago and only learned of it recently. For that reason, we should go out of our way on user's behalf with due diligence warnings. 2. `$KEYID` was not uniformly used throughout the document in various command line input literals. This is now fixed. 3. `YubiKey` was often represented as `Yubikey` and other inconsistent forms throughout the document. This is now fixed, except in cases of URL, command output, etc. --- README.md | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 82b4793..9e5d145 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ This is a guide to using [YubiKey](https://www.yubico.com/products/yubikey-hardware/) as a [SmartCard](https://security.stackexchange.com/questions/38924/how-does-storing-gpg-ssh-private-keys-on-smart-cards-compare-to-plain-usb-drives) for storing GPG encryption, signing and authentication keys, which can also be used for SSH. +**Hint** Many of the principles in this document are applicable to other smart card devices. + Keys stored on YubiKey are non-exportable (as opposed to file-based keys that are stored on disk) and are convenient for everyday use. Instead of having to remember and enter passphrases to unlock SSH/GPG keys, YubiKey needs only a physical touch after being unlocked with a PIN code. All signing and encryption operations happen on the card, rather than in OS memory. **New!** [Purse](https://github.com/drduh/Purse) is a password manager which uses GPG and YubiKey. @@ -253,7 +255,7 @@ uid Dr Duh As of GPG [version 2.1](https://www.gnupg.org/faq/whats-new-in-2.1.html#autorev), a revocation certificate is automatically generated at this time. -Export the key ID as a [variable](https://stackoverflow.com/questions/1158091/defining-a-variable-with-or-without-export/1158231#1158231) for use later: +Export the key ID as a [variable](https://stackoverflow.com/questions/1158091/defining-a-variable-with-or-without-export/1158231#1158231) (`KEYID`) for use later: ``` $ export KEYID=0xFF3E7D88647EBCDB @@ -631,7 +633,7 @@ Backup all GPG files to it: $ sudo cp -avi $GNUPGHOME /mnt ``` -Keep the backup mounted if you plan on setting up two or more keys as `keytocard` will [delete](https://lists.gnupg.org/pipermail/gnupg-users/2016-July/056353.html) the local copy on save. +Keep the backup mounted if you plan on setting up two or more keys as `keytocard` **will [delete](https://lists.gnupg.org/pipermail/gnupg-users/2016-July/056353.html) the local copy** on save. Otherwise, unmount and disconnected the encrypted USB drive: @@ -769,7 +771,7 @@ gpg/card> quit # Transfer keys -Transferring keys to YubiKey using `keytocard` is a one-way operation only, so make sure you've made a backup before proceeding. +**Important** Transferring keys to YubiKey using `keytocard` is a destructive, one-way operation only. Make sure you've made a backup before proceeding: `keytocard` converts the local, on-disk key into a stub, which means the on-disk copy is no longer usable to transfer to subsequent security key devices or mint additional keys. Previous GPG versions required the `toggle` command before selecting keys. The currently selected key(s) are indicated with an `*`. When moving keys only one key should be selected at a time. @@ -996,7 +998,7 @@ gpg: imported: 1 To download the public key from a keyserver: ``` -$ gpg --recv 0xFF3E7D88647EBCDB +$ gpg --recv $KEYID gpg: requesting key 0xFF3E7D88647EBCDB from hkps server hkps.pool.sks-keyservers.net [...] gpg: key 0xFF3E7D88647EBCDB: public key "Dr Duh " imported @@ -1015,7 +1017,7 @@ $ sudo apt-get install -y gnupg-curl Edit the Master key to assign it ultimate trust by selecting `trust` then option `5`: ``` -$ gpg --edit-key 0xFF3E7D88647EBCDB +$ gpg --edit-key $KEYID Secret key is available. @@ -1052,7 +1054,7 @@ gpg> save # Insert YubiKey -Re-connect Yubikey and check the status: +Re-connect YubiKey and check the status: ``` $ gpg --card-status @@ -1093,7 +1095,7 @@ ssb> 4096R/0x3F29127E79649A3D created: 2017-10-09 expires: 2018-10-09 # Encryption ``` -$ echo "test message string" | gpg --encrypt --armor --recipient 0xFF3E7D88647EBCDB +$ echo "test message string" | gpg --encrypt --armor --recipient $KEYID -----BEGIN PGP MESSAGE----- hQIMA1kSp5XpDdLPAQ/+JyYfLaUS/+llEzQaKDb5mWhG4HlUgD99dNJUXakm085h @@ -1264,7 +1266,7 @@ ssh-rsa AAAAB4NzaC1yc2EAAAADAQABAAACAz[...]zreOKM+HwpkHzcy9DQcVG2Nw== cardno:000 By default, SSH attempts to use all the identities available via the agent. It's often a good idea to manage exactly which keys SSH will use to connect to a server, for example to separate different roles or [to avoid being fingerprinted by untrusted ssh servers](https://blog.filippo.io/ssh-whoami-filippo-io/). To do this you'll need to use the command line argument `-l [identity_file]` or the `IdentityFile` and `IdentitiesOnly` options in `.ssh/config`. -The argument provided to `IdentityFile` is traditionally the path to the _private_ key file (for example `IdentityFile ~/.ssh/id_rsa`). For the Yubikey - indeed, in general for keys stored in an ssh agent - `IdentityFile` should point to the _public_ key file, `ssh` will select the appropriate private key from those available via the ssh agent. To prevent `ssh` from trying all keys in the agent use the `IdentitiesOnly yes` option along with one or more `-i` or `IdentityFile` options for the target host. +The argument provided to `IdentityFile` is traditionally the path to the _private_ key file (for example `IdentityFile ~/.ssh/id_rsa`). For the YubiKey - indeed, in general for keys stored in an ssh agent - `IdentityFile` should point to the _public_ key file, `ssh` will select the appropriate private key from those available via the ssh agent. To prevent `ssh` from trying all keys in the agent use the `IdentitiesOnly yes` option along with one or more `-i` or `IdentityFile` options for the target host. To reiterate, with `IdentitiesOnly yes`, `ssh` will not automatically enumerate public keys loaded into `ssh-agent` or `gpg-agent`. This means `publickey` authentication will not proceed unless explicitly named by `ssh -i [identity_file]` or in `.ssh/config` on a per-host basis. @@ -1274,7 +1276,7 @@ In the case of YubiKey usage, to extract the public key from the ssh agent: $ ssh-add -L | grep "cardno:000605553211" > ~/.ssh/id_rsa_yubikey.pub ``` -Then you can explicitly associate this Yubikey-stored key for used with a host, `github.com` for example, as follows: +Then you can explicitly associate this YubiKey-stored key for used with a host, `github.com` for example, as follows: ``` $ cat << EOF >> ~/.ssh/config @@ -1311,7 +1313,7 @@ debug1: Authentication succeeded (publickey). ## Touch to authenticate -**Note** This is not possible on Yubikey NEO. +**Note** This is not possible on YubiKey NEO. By default, YubiKey will perform key operations without requiring a touch from the user. To require a touch for every SSH connection, use the [YubiKey Manager](https://developers.yubico.com/yubikey-manager/) and Admin PIN: @@ -1385,7 +1387,7 @@ Install `pcsc-tools` and enable with `doas rcctl enable pcscd`, then reboot in o ## Windows -Windows can already have some virtual smartcard readers installed, like the one provided for Windows Hello. To ensure your Yubikey is the correct one used by scdaemon, you should add it to its configuration. You will need your device's full name. To find out what is your device's full name, plug your Yubikey, open the Device Manager, select "View->Show hidden devices". Go to the Software Devices list, you should see something like `Yubico YubiKey OTP+FIDO+CCID 0`. The name slightly differs according to the model. Thanks to [Scott Hanselman](https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx) for sharing this information. +Windows can already have some virtual smartcard readers installed, like the one provided for Windows Hello. To ensure your YubiKey is the correct one used by scdaemon, you should add it to its configuration. You will need your device's full name. To find out what is your device's full name, plug your YubiKey, open the Device Manager, select "View->Show hidden devices". Go to the Software Devices list, you should see something like `Yubico YubiKey OTP+FIDO+CCID 0`. The name slightly differs according to the model. Thanks to [Scott Hanselman](https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx) for sharing this information. - Create or edit %APPDATA%/gnupg/scdaemon.conf, add `reader-port `. - In %APPDATA%/gnupg/gpg-agent.conf, add: @@ -1399,7 +1401,7 @@ enable-putty-support > gpg-connect-agent killagent /bye > gpg-connect-agent /bye ``` -- Enter `> gpg --card-status`, now you should see your Yubikey's details. +- Enter `> gpg --card-status`, now you should see your YubiKey's details. - Import your [public key](#export-public-key): `> gpg --import ` - Trust it: [Trust master key](#trust-master-key) - Retrieve your public key's id: `> gpg --list-public-keys` @@ -1449,17 +1451,17 @@ StreamLocalBindUnlink yes - Reload the ssh daemon (e.g. `$ sudo service sshd reload`). ### Final test -- Unplug your Yubikey, disconnect or reboot. +- Unplug your YubiKey, disconnect or reboot. - Log back on Windows, open a WSL console and enter `$ ssh-add -l`, you should see nothing. -- Plug your Yubikey, enter the same command, you should see your ssh key. -- Log in to your remote host, you should have the pinentry popup/window asking for your Yubikey pin. +- Plug your YubiKey, enter the same command, you should see your ssh key. +- Log in to your remote host, you should have the pinentry popup/window asking for your YubiKey pin. - On your remote host, type `$ ssh-add -l`. If you see your ssh key, that means your forwarding works ! **Note**: you can chain the agent forwarding through multiple hosts, you just have to follow the same [protocol](#remote-host-configuration) to configure each host. # Remote Machines (agent forwarding) -If you want to use your Yubikey to sign a git commit on a remote machine, or ssh through another layer, then this is possible using "Agent Forwarding". Assuming that you have your Yubikey setup on your host machine. +If you want to use your YubiKey to sign a git commit on a remote machine, or ssh through another layer, then this is possible using "Agent Forwarding". Assuming that you have your YubiKey setup on your host machine. To forward your agent, ssh using the `-a` flag @@ -1474,7 +1476,7 @@ Host remote ForwardAgent yes ``` -You should then be able to use your Yubikey as if it were connected to the remote machine. +You should then be able to use your YubiKey as if it were connected to the remote machine. # Troubleshooting @@ -1504,7 +1506,7 @@ You should then be able to use your Yubikey as if it were connected to the remot # Notes -1. YubiKey has two configurations: one invoked with a short press, and the other with a long press. By default, the short-press mode is configured for HID OTP - a brief touch will emit an OTP string starting with `cccccccc`. If you rarely use the OTP mode, you can swap it to the second configuration via the Yubikey Personalization tool. If you *never* use OTP, you can disable it entirely using the [Yubikey Manager](https://developers.yubico.com/yubikey-manager) application (note, this not the similarly named Yubikey NEO Manager). +1. YubiKey has two configurations: one invoked with a short press, and the other with a long press. By default, the short-press mode is configured for HID OTP - a brief touch will emit an OTP string starting with `cccccccc`. If you rarely use the OTP mode, you can swap it to the second configuration via the YubiKey Personalization tool. If you *never* use OTP, you can disable it entirely using the [YubiKey Manager](https://developers.yubico.com/yubikey-manager) application (note, this not the similarly named YubiKey NEO Manager). 1. Programming YubiKey for GPG keys still lets you use its two configurations - [OTP](https://www.yubico.com/faq/what-is-a-one-time-password-otp/) and [static password](https://www.yubico.com/products/services-software/personalization-tools/static-password/) modes, for example. 1. Setting an expiry essentially forces you to manage your subkeys and announces to the rest of the world that you are doing so. Setting an expiry on a primary key is ineffective for protecting the key from loss - whoever has the primary key can simply extend its expiry period. Revocation certificates are [better suited](https://security.stackexchange.com/questions/14718/does-openpgp-key-expiration-add-to-security/79386#79386) for this purpose. It may be appropriate for your use case to set expiry dates on subkeys. From 94919459a68d496a381f4ab7bbf4d2be15585da3 Mon Sep 17 00:00:00 2001 From: drduh Date: Thu, 27 Dec 2018 20:26:37 -0800 Subject: [PATCH 12/17] Update gpg prefs, style and fix #21. --- README.md | 132 +++++++++++++++++++++++++++++------------------------- 1 file changed, 72 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 9e5d145..65e0b8a 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ If you have a comment or suggestion, please open an [issue](https://github.com/d - [Entropy](#entropy) - [Creating keys](#creating-keys) - [Master key](#master-key) -- [Sub-keys](#sub-keys) +- [Subkeys](#subkeys) - [Signing](#signing) - [Encryption](#encryption) - [Authentication](#authentication) @@ -54,7 +54,7 @@ If you have a comment or suggestion, please open an [issue](https://github.com/d - [Windows Subsystem for Linux (WSL)](#wsl) - [Troubleshooting](#troubleshooting) - [Notes](#notes) -- [Similar work](#similar-work) +- [Links](#links) # Purchase YubiKey @@ -64,7 +64,7 @@ Consider purchasing a pair of YubiKeys, programming both, and storing one in a s # Live image -It is recommended to generate cryptographic keys and configure YubiKey from a secure environment. One way to do that is by downloading and booting to a [Debian Live](https://www.debian.org/CD/live/) or [Tails](https://tails.boum.org/index.en.html) image loaded from a USB drive into memory. +It is recommended to generate cryptographic keys and configure YubiKey from a secure environment to minimize exposure. One way to do that is by downloading and booting to a [Debian Live](https://www.debian.org/CD/live/) or [Tails](https://tails.boum.org/index.en.html) image loaded from a USB drive into memory. Download the latest image and verify its integrity: @@ -85,8 +85,7 @@ e35dd65fe1b078f71fcf04fa749a05bfefe4aa11a9e80f116ceec0566d65636a4ac84a9aff22aa3f Mount a USB drive and copy the image over to it: ``` -$ sudo dd if=debian-live-9.6.0-amd64-xfce.iso of=/dev/sdc bs=4M -$ sync +$ sudo dd if=debian-live-9.6.0-amd64-xfce.iso of=/dev/sdc bs=4M && sync ``` Shut down the computer and disconnect any hard drives and unnecessary peripherals. @@ -155,6 +154,8 @@ $ cat /proc/sys/kernel/random/entropy_avail 3049 ``` +An entropy pool value greater than 3000 is sufficient. + # Creating keys Create a temporary directory which will be deleted on [reboot](https://serverfault.com/questions/377348/when-does-tmp-get-cleared): @@ -170,9 +171,10 @@ Create a hardened configuration for GPG with the following options or by downloa $ curl -Lfo $GNUPGHOME/gpg.conf https://raw.githubusercontent.com/drduh/config/master/gpg.conf $ cat $GNUPGHOME/gpg.conf -personal-cipher-preferences AES256 AES192 AES CAST5 -personal-digest-preferences SHA512 SHA384 SHA256 SHA224 -default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed +personal-cipher-preferences AES256 AES192 AES +personal-digest-preferences SHA512 SHA384 SHA256 +personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed +default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed cert-digest-algo SHA512 s2k-digest-algo SHA512 s2k-cipher-algo AES256 @@ -184,7 +186,10 @@ keyid-format 0xlong list-options show-uid-validity verify-options show-uid-validity with-fingerprint +with-key-origin require-cross-certification +no-symkey-cache +throw-keyids use-agent ``` @@ -193,7 +198,7 @@ Disable networking for the remainder of the setup. # Master key -The first key to generate is the master key. It will be used for certification only - to issue sub-keys that are used for encryption, signing and authentication. This master key should be kept offline at all times and only accessed to revoke or issue new sub-keys. +The first key to generate is the master key. It will be used for certification only - to issue subkeys that are used for encryption, signing and authentication. This master key should be kept offline at all times and only accessed to revoke or issue new subkeys. You'll be prompted to enter and verify a passphrase - keep it handy as you'll need it throughout. To generate a strong passphrase which could be written down in a hidden or secure place; or memorized: @@ -230,7 +235,7 @@ GnuPG needs to construct a user ID to identify your key. Real name: Dr Duh Email address: doc@duh.to -Comment: +Comment: [Optional - leave blank] You selected this USER-ID: "Dr Duh " @@ -261,9 +266,9 @@ Export the key ID as a [variable](https://stackoverflow.com/questions/1158091/de $ export KEYID=0xFF3E7D88647EBCDB ``` -# Sub-keys +# Subkeys -Edit the Master key to add sub-keys: +Edit the Master key to add subkeys: ``` $ gpg --expert --edit-key $KEYID @@ -478,7 +483,9 @@ uid Dr Duh ssb rsa4096/0xBECFA3C1AE191D15 2017-10-09 [S] [expires: 2018-10-09] ssb rsa4096/0x5912A795E90DD2CF 2017-10-09 [E] [expires: 2018-10-09] ssb rsa4096/0x3F29127E79649A3D 2017-10-09 [A] [expires: 2018-10-09] -``` +``` + +**Optional** Add any additional identities or email addresses now using the `adduid` command. To verify with OpenPGP key checks, use the automated [key best practice checker](https://riseup.net/en/security/message-security/openpgp/best-practices#openpgp-key-checks): @@ -493,7 +500,7 @@ The output will display any problems with your key in red text. If everything is # Export keys -The Master and sub-keys will be encrypted with your passphrase when exported. +The Master and subkeys will be encrypted with your passphrase when exported. Save a copy of your keys: @@ -528,7 +535,6 @@ sd 8:0:0:0: Attached scsi generic sg4 type 0 sd 8:0:0:0: [sde] 62980096 512-byte logical blocks: (32.2 GB/30.0 GiB) sd 8:0:0:0: [sde] Write Protect is off sd 8:0:0:0: [sde] Mode Sense: 43 00 00 00 - sde: sde1 sd 8:0:0:0: [sde] Attached SCSI removable disk ``` @@ -544,10 +550,7 @@ Erase and create a new partition table: ``` $ sudo fdisk /dev/sde - Welcome to fdisk (util-linux 2.25.2). -Changes will remain in memory only, until you decide to write them. -Be careful before using the write command. Command (m for help): o Created a new DOS disklabel with disk identifier 0xeac7ee35. @@ -562,10 +565,7 @@ Remove and reinsert the USB drive, then create a new partition, selecting defaul ``` $ sudo fdisk /dev/sde - Welcome to fdisk (util-linux 2.25.2). -Changes will remain in memory only, until you decide to write them. -Be careful before using the write command. Command (m for help): n Partition type @@ -879,7 +879,7 @@ gpg> save # Verify card -Verify the sub-keys have moved to YubiKey as indicated by `ssb>`: +Verify the subkeys have moved to YubiKey as indicated by `ssb>`: ``` $ gpg --list-secret-keys @@ -909,12 +909,12 @@ On Windows: $ gpg --armor --export $KEYID -o \path\to\dir\pubkey.gpg ``` -Optionally, the public key may be uploaded to a [public keyserver](https://debian-administration.org/article/451/Submitting_your_GPG_key_to_a_keyserver): +**Optional** The public key may be uploaded to a [public keyserver](https://debian-administration.org/article/451/Submitting_your_GPG_key_to_a_keyserver): ``` $ gpg --send-key $KEYID -gpg: sending key 0xFF3E7D88647EBCDB to hkps server hkps.pool.sks-keyservers.net -[...] +$ gpg --send-key $KEYID --keyserver pgp.mit.edu +$ gpg --send-key $KEYID --keyserver keys.gnupg.net ``` After some time, the public key will to propagate to [other](https://pgp.key-server.io/pks/lookup?search=doc%40duh.to&fingerprint=on&op=vindex) [servers](https://pgp.mit.edu/pks/lookup?search=doc%40duh.to&op=index). @@ -923,10 +923,10 @@ After some time, the public key will to propagate to [other](https://pgp.key-ser Ensure you have: -* Saved the Encryption, Signing and Authentication sub-keys to YubiKey. +* Saved the Encryption, Signing and Authentication subkeys to YubiKey. * Saved the YubiKey PINs which you changed from defaults. * Saved the password to the Master key. -* Saved a copy of the Master key, sub-keys and revocation certificates on an encrypted volume stored offline. +* Saved a copy of the Master key, subkeys and revocation certificates on an encrypted volume stored offline. * Saved the password to that encrypted volume in a separate location. * Saved a copy of the public key somewhere easily accessible later. @@ -934,7 +934,6 @@ Reboot or [securely delete](http://srm.sourceforge.net/) `$GNUPGHOME` and remove ``` $ sudo srm -r $GNUPGHOME || sudo rm -rf $GNUPGHOME - $ gpg --delete-secret-key $KEYID ``` @@ -1315,11 +1314,11 @@ debug1: Authentication succeeded (publickey). **Note** This is not possible on YubiKey NEO. -By default, YubiKey will perform key operations without requiring a touch from the user. To require a touch for every SSH connection, use the [YubiKey Manager](https://developers.yubico.com/yubikey-manager/) and Admin PIN: +By default, YubiKey will perform key operations without requiring a touch from the user. To require a touch for every SSH authentication, use the [YubiKey Manager](https://developers.yubico.com/yubikey-manager/) and Admin PIN: ykman openpgp touch aut on -To require a touch for the signing and encrypting keys as well: +To require a touch for signing and encryption operations: ykman openpgp touch sig on ykman openpgp touch enc on @@ -1416,7 +1415,8 @@ Now you can use PuTTY for public key SSH authentication. When the server asks fo ## WSL The goal here is to make the SSH client inside WSL work together with the Windows agent you are using (gpg-agent.exe in our case). Here is what we are going to achieve: ![WSL agent architecture](media/schema_gpg.png) -**Note**: this works only for SSH agent forwarding. Real GPG forwarding (encryption/decryption) is actually not supported. See the [weasel-pageant](https://github.com/vuori/weasel-pageant) readme for further information. + +**Note** this works only for SSH agent forwarding. Real GPG forwarding (encryption/decryption) is actually not supported. See the [weasel-pageant](https://github.com/vuori/weasel-pageant) readme for further information. ### Prerequisites - Install Ubuntu >16.04 for WSL @@ -1425,48 +1425,54 @@ The goal here is to make the SSH client inside WSL work together with the Window ### WSL configuration - Download or clone [weasel-pageant](https://github.com/vuori/weasel-pageant). -- Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent. -**Note**: we use a named socket here so we can use it in the RemoteForward directive of the .ssh/config file. -- Source it `$ . ~/.bashrc`. +- Add `eval $(/mnt/c//weasel-pageant -r -a /tmp/S.weasel-pageant)` to your .bashrc or equivalent. Use a named socket here so it can be used in the RemoteForward directive of the .ssh/config file. +- Source it with `source ~/.bashrc`. - You should be able to see your SSH key with `$ ssh-add -l`. -- Edit your `~/.ssh/config` file. -- For each host you want to use agent forwarding, add: +- Edit `~/.ssh/config` - for each host you want to use agent forwarding, add: + ``` ForwardAgent yes RemoteForward /tmp/S.weasel-pageant ``` -**Note**: the remote ssh socket path can be found by executing `$ gpgconf --list-dirs agent-ssh-socket` on the host. + +**Note** The remote ssh socket path can be found by executing `$ gpgconf --list-dirs agent-ssh-socket` on the host. ### Remote host configuration -- Add to your .bashrc or equivalent: + +- Add to .bashrc or equivalent: + ``` export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) export GPG_TTY=$(tty) ``` -- Edit your /etc/ssh/sshd_config and add: + +- Add to /etc/ssh/sshd_config: + ``` AllowAgentForwarding yes StreamLocalBindUnlink yes ``` -- Reload the ssh daemon (e.g. `$ sudo service sshd reload`). + +- Reload the ssh daemon (e.g., `sudo service sshd reload`). ### Final test -- Unplug your YubiKey, disconnect or reboot. -- Log back on Windows, open a WSL console and enter `$ ssh-add -l`, you should see nothing. -- Plug your YubiKey, enter the same command, you should see your ssh key. -- Log in to your remote host, you should have the pinentry popup/window asking for your YubiKey pin. -- On your remote host, type `$ ssh-add -l`. If you see your ssh key, that means your forwarding works ! -**Note**: you can chain the agent forwarding through multiple hosts, you just have to follow the same [protocol](#remote-host-configuration) to configure each host. +- Unplug YubiKey, disconnect or reboot. +- Log back in to Windows, open a WSL console and enter `ssh-add -l` - you should see nothing. +- Plug in YubiKey, enter the same command, you should see your ssh key. +- Log in to your remote host, you should have the pinentry dialog asking for the YubiKey pin. +- On your remote host, type `ssh-add -l` - if you see your ssh key, that means forwarding works! + +**Note** Agent forwarding may be chained through multiple hosts - just follow the same [protocol](#remote-host-configuration) to configure each host. # Remote Machines (agent forwarding) If you want to use your YubiKey to sign a git commit on a remote machine, or ssh through another layer, then this is possible using "Agent Forwarding". Assuming that you have your YubiKey setup on your host machine. -To forward your agent, ssh using the `-a` flag +To enable agent forwarding, ssh using the `-A` flag: ``` -ssh -A user@remote +$ ssh -A user@remote ``` Or add the following to your ssh config file: @@ -1510,20 +1516,26 @@ You should then be able to use your YubiKey as if it were connected to the remot 1. Programming YubiKey for GPG keys still lets you use its two configurations - [OTP](https://www.yubico.com/faq/what-is-a-one-time-password-otp/) and [static password](https://www.yubico.com/products/services-software/personalization-tools/static-password/) modes, for example. 1. Setting an expiry essentially forces you to manage your subkeys and announces to the rest of the world that you are doing so. Setting an expiry on a primary key is ineffective for protecting the key from loss - whoever has the primary key can simply extend its expiry period. Revocation certificates are [better suited](https://security.stackexchange.com/questions/14718/does-openpgp-key-expiration-add-to-security/79386#79386) for this purpose. It may be appropriate for your use case to set expiry dates on subkeys. -# Similar work +# Links -* https://developers.yubico.com/yubikey-personalization/ -* https://developers.yubico.com/PGP/Card_edit.html -* https://blog.josefsson.org/2014/06/23/offline-gnupg-master-key-and-subkeys-on-yubikey-neo-smartcard/ -* https://www.esev.com/blog/post/2015-01-pgp-ssh-key-on-yubikey-neo/ -* https://blog.habets.se/2013/02/GPG-and-SSH-with-Yubikey-NEO -* https://trmm.net/Yubikey -* https://rnorth.org/gpg-and-ssh-with-yubikey-for-mac -* https://jclement.ca/articles/2015/gpg-smartcard/ -* https://github.com/herlo/ssh-gpg-smartcard-config * http://www.bootc.net/archives/2013/06/09/my-perfect-gnupg-ssh-agent-setup/ -* https://help.riseup.net/en/security/message-security/openpgp/best-practices * https://alexcabal.com/creating-the-perfect-gpg-keypair/ -* https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/ +* https://blog.habets.se/2013/02/GPG-and-SSH-with-Yubikey-NEO +* https://blog.josefsson.org/2014/06/23/offline-gnupg-master-key-and-subkeys-on-yubikey-neo-smartcard/ +* https://developers.yubico.com/PGP/Card_edit.html +* https://developers.yubico.com/PIV/Introduction/Admin_access.html +* https://developers.yubico.com/yubico-piv-tool/YubiKey_PIV_introduction.html +* https://developers.yubico.com/yubikey-personalization/ +* https://developers.yubico.com/yubikey-piv-manager/PIN_and_Management_Key.html * https://evilmartians.com/chronicles/stick-with-security-yubikey-ssh-gnupg-macos +* https://gist.github.com/ageis/14adc308087859e199912b4c79c4aaa4 +* https://github.com/herlo/ssh-gpg-smartcard-config +* https://github.com/tomlowenthal/documentation/blob/master/gpg/smartcard-keygen.md +* https://help.riseup.net/en/security/message-security/openpgp/best-practices +* https://jclement.ca/articles/2015/gpg-smartcard/ +* https://rnorth.org/gpg-and-ssh-with-yubikey-for-mac +* https://trmm.net/Yubikey +* https://www.esev.com/blog/post/2015-01-pgp-ssh-key-on-yubikey-neo/ * https://www.hanselman.com/blog/HowToSetupSignedGitCommitsWithAYubiKeyNEOAndGPGAndKeybaseOnWindows.aspx +* https://www.void.gr/kargig/blog/2013/12/02/creating-a-new-gpg-key-with-subkeys/ + From 80d5c0ed6c23aebdc2300140cb485e9936d08ed7 Mon Sep 17 00:00:00 2001 From: Hugh O'Brien Date: Sat, 29 Dec 2018 20:06:33 +0000 Subject: [PATCH 13/17] describe tmpfs clearing rather than init system (debian uses tmpfs) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 65e0b8a..3b0e0ff 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ An entropy pool value greater than 3000 is sufficient. # Creating keys -Create a temporary directory which will be deleted on [reboot](https://serverfault.com/questions/377348/when-does-tmp-get-cleared): +Create a temporary directory which will be deleted on [reboot](https://en.wikipedia.org/wiki/Tmpfs): ``` $ export GNUPGHOME=$(mktemp -d) ; echo $GNUPGHOME From 0f6e9948d7beb6b60c0b5adcbee45ebc9e10537c Mon Sep 17 00:00:00 2001 From: Hugh O'Brien Date: Sat, 29 Dec 2018 20:08:48 +0000 Subject: [PATCH 14/17] mention debian-live user/pass in case of screen lock --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 65e0b8a..9ab986f 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ $ sudo dd if=debian-live-9.6.0-amd64-xfce.iso of=/dev/sdc bs=4M && sync Shut down the computer and disconnect any hard drives and unnecessary peripherals. -Plug in the USB drive and boot to the live image. Configure networking to continue. +Plug in the USB drive and boot to the live image. Configure networking to continue. If the screen locks, unlock with user/live. # Required software From a6431962a65cb1d67adb604059e9a4ff666eab29 Mon Sep 17 00:00:00 2001 From: Hugh O'Brien Date: Sat, 29 Dec 2018 20:12:09 +0000 Subject: [PATCH 15/17] remove broken gpg option (debian 9.6) As per [0], the --with-key-origin option is experimental. 0: https://www.gnupg.org/documentation/manuals/gnupg/GPG-Input-and-Output.html#index-with_002dkey_002dorigin --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 65e0b8a..982bd18 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,6 @@ keyid-format 0xlong list-options show-uid-validity verify-options show-uid-validity with-fingerprint -with-key-origin require-cross-certification no-symkey-cache throw-keyids From 8f724a4df55bde53c2eb434ae5fde57e1662a569 Mon Sep 17 00:00:00 2001 From: Dan Cundiff Date: Sun, 6 Jan 2019 19:35:03 -0600 Subject: [PATCH 16/17] Add addition note about red hokey output --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5cc6994..3ab270a 100644 --- a/README.md +++ b/README.md @@ -495,7 +495,8 @@ $ gpg --export $KEYID | hokey lint The output will display any problems with your key in red text. If everything is green, your key passes each of the tests. If it is red, your key has failed one of the tests. -> hokey may warn (orange text) about cross certification for the authentication key. GPG's [Signing Subkey Cross-Certification](https://gnupg.org/faq/subkey-cross-certify.html) documentation has more detail on cross certification, and gpg v2.2.1 notes "subkey does not sign and so does not need to be cross-certified". +> hokey may warn (orange text) about cross certification for the authentication key. GPG's [Signing Subkey Cross-Certification](https://gnupg.org/faq/subkey-cross-certify.html) documentation has more detail on cross certification, and gpg v2.2.1 notes "subkey does not sign and so does not need to be cross-certified". hokey may also indicate a problem (red text) with `Key expiration times: []` on the primary key (see [Note #3](#notes) about not setting an expiry for the primary key). + # Export keys From 3a872d40fee3ffa95831414a32d32941804b2f5f Mon Sep 17 00:00:00 2001 From: drduh Date: Sun, 6 Jan 2019 17:47:10 -0800 Subject: [PATCH 17/17] Fix keyserver command order to fix #86 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3ab270a..f558413 100644 --- a/README.md +++ b/README.md @@ -913,8 +913,8 @@ $ gpg --armor --export $KEYID -o \path\to\dir\pubkey.gpg ``` $ gpg --send-key $KEYID -$ gpg --send-key $KEYID --keyserver pgp.mit.edu -$ gpg --send-key $KEYID --keyserver keys.gnupg.net +$ gpg --keyserver pgp.mit.edu --send-key $KEYID +$ gpg --keyserver keys.gnupg.net --send-key $KEYID ``` After some time, the public key will to propagate to [other](https://pgp.key-server.io/pks/lookup?search=doc%40duh.to&fingerprint=on&op=vindex) [servers](https://pgp.mit.edu/pks/lookup?search=doc%40duh.to&op=index).