From 835dca67e8de59fc0ed176b64eebe29882bc56b2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Wed, 6 Mar 2024 18:29:56 +0100 Subject: [PATCH] Cert problem solved --- .../resources/keystore/create-keystore.bat | 6 ++--- .../main/resources/keystore/lis-keystore.jks | Bin 3784 -> 125939 bytes .../src/test/java/hu/user/lis/CerttIT.java | 23 +++++++++++------- .../nav/RestTemplateSSLConfiguration.java | 20 +++++++-------- .../lis/service/nav/TaxOfficeConnector.java | 18 +++++++++++--- 5 files changed, 40 insertions(+), 27 deletions(-) diff --git a/sly-crm-app/src/main/resources/keystore/create-keystore.bat b/sly-crm-app/src/main/resources/keystore/create-keystore.bat index 93358a7..06eb43d 100644 --- a/sly-crm-app/src/main/resources/keystore/create-keystore.bat +++ b/sly-crm-app/src/main/resources/keystore/create-keystore.bat @@ -1,4 +1,4 @@ -keytool -importcert -keystore lis-keystore.jks -file eszigno.cer -alias eszigno -storepass password -keytool -importcert -keystore lis-keystore.jks -file onlineszamla.nav.gov.hu.cer -alias nav -storepass password +:keytool -storepasswd -keystore lis-keystore.jks +:keytool -importcert -keystore lis-keystore.jks -file eszigno.cer -alias eszigno -storepass password +keytool -importcert -keystore lis-keystore.jks -file onlineszamla.nav.gov.hu.cer -alias nav -storepass password -noprompt -: diff --git a/sly-crm-app/src/main/resources/keystore/lis-keystore.jks b/sly-crm-app/src/main/resources/keystore/lis-keystore.jks index 3017d324f295be4149eb7e863c6a135f052d438d..e43abcef501001498311159504fe9ea0fb499bf0 100644 GIT binary patch literal 125939 zcmdqJbzD{5+BUit-QBrp6oI*D6ht~Cr9nhu(cK}nXz3P^Mrou&T0%giTUtPr6jTHR z&JQr~iT%9${Pwrc`<=gFj5+2S_nh;(uW{EHCz~gmAP@)v1Oi!~|0QsAv~sYub%Gfg z85uxyEsQPoKp?PV)-faqgsjEE3kZTh2r&R0Ap(FS5M?4FfDsVToLA>xwVCPW0~jc1 zSA%5wg^>^ufCo@a038KU9SMaHL0uJ!17Mvs(6ErzU~UGEP&@$Vtc{9=Dr4*H=wxdH zB?Cy#dN8nXRaNC7;xBP*Bg`6ap9p znavLgM2~0)LXxy8Q0{ojz?ZJi8bSIhk=|Hj#v_ut53MrWp7D94Y&{aCbfQ)fdqVeS zIvQ^`%X(9dTubO3Bhee7uQxVoBFIO0P-hytP<&oUCTzU&$!AzVfA4p= zCq0s51Q-C+D2VFRI7lQ&MDU?NN8lYV(nusi?9oc@PzT-GYXJA`G9egzii8Xxg2AT% z?O6u{5*a|^``34zeMf5CvpbLw5x_y0L4arq0*ny=+jr~Q___B749XHcH<1rG31en9 zSH3A*;!8^!U`>JCk-}J@iUNOn3 z%xQQs78Zqm?Wvyk(he$`nf34ka~u8n6${uocFB#+P0fv94o(J+j?NA+V{>Cu?w=6W zcp)<{@C(9n031OIfP-IOKo}1*OXrY!KC@a@;@NA)OskDcPk{))eupwKKzI&RLM#b$ zQ}Z(vLS$`>pyUAQSvMvjo~x@X#}8S~;0k2~=+6O6Ncr;)(F++NvJw|ymgYXkEH@wk zK%ra!0026q*xY9g-tW!-mKc8nPV#q+#S*a1*L5OVM-kR3fJw$CfUC~2N9_W0 zFn2UJwQ;sFcY!%L8l1D}B?{GeA?s!H6Msle034|vfFovo$KNfA4r97XLOMj8hGhbZ zPHF%f1^sG}Owc|y7>tPw0{ohO#~>*{e1Sn64VZ(us=2AnwKEWMKxxlk5fUaL$&U*V zH3w%$Cx{}<$<@}u5_%mFxPU2?)#wU@3jhQlKSo~s1cV(TW$OSjxZqO{m@&lJ5eBif zv2uqB0DKoX=KOIBME%F}{!30i!!{rQ@Brt?zQ8s=lna1zaq|lD3hMk{|9o&T{pC*v zMg}3m!MGp*4#q%$gTbJe2K@KR!8~saCx}x|wRFN67{>2M#!N&%^7mNPA{Pkn{IX&k zSe0#mwAoZY{aOK3)y?ksg#_y3HJn2QxemJdD+W?Y79hw1-FG6MU`t%jbQurInUo z!%%(D?fK5xWoHR4(d#t!Hs-G|ou$x*dWYE(1_zGnZ&@0LYbtyr#CH$ayr=esCj$+< zhsT6MDmVR++QY>1(S4KLsqJA7_{W`X^bZm}#1>14Hryk{8S0>yU(hV#>-A?AxIYHm zKhR~tulh!^+n{0L%M^it2nK<3{3-yyXaA(+D1bEz8XF2285tFfg=7HeXX$0?0@{Ek zpiY8rZf#%+<1{rl0q6i)02Kw94F?f{0*NSUWrQNAI3m)reZbdZREF%DCpibeM8aU^ z(K?TPgFR26J&3t{s(T^fu7o0TN$kP0(I#{RUlb+bE7gIN*;_r;T znOzCr8RIJRU)5ZSYH7|YY!Rle9u@d7QFiybl7&cAtBI9S;rppvl23j^2}C$vuM>Et zhNJ8p{X8FgH$5_#lnj0p-MJnFbn&+AoVKfn_}|_}jzzKGt$P$#yYU)s@KIn@De2Kw zorrVFqx`YNIi2wf%=pY~H08Op;L0jZ{Uki(cmR$Z4ZsoIz7rmDDy3$6Bpuh1AZk;d ztMlE?N=ezABZPgtwSCFOOgCuIP32SB?= znJYlDuF;ibOy(ZFPrdW^r~eDxNzhTR3vX z58+ARam>T_Py<$-Zdltdv13tgLB@I@)J9j>`#0_>cE^3CGf3rGNA9|}p-a)Y-ZSvJ znCF&$xrfP?Yqw0kiKb?TnpPwhTdh(aFr~58>#6s)q(|xA3hz7UtLeCVGm%lg(={=V zZbiGdyS=O_@2IvQ6F|g^m>lKLN->+h5J?u+Jug5?u*reOw-w1mc}e4!D@Uh(tXCeQc=eHZRQ~^k6eVc^~79) zLzB!sWOf#^2`EicoObcEIR56wJS`aRx3DnRHU7nnTu;go##A?^&>=j8b?I&33ONRl-Hr1y$&Sw z=<^Tcokff`==3`vDwek8ML}UoFUBSH(;(lnXgXV?vdg_On3F#*n{z&*X8$}@P(i&y zc|n~2rfsw_@fJR8uV*Yj&tWR^?)jrqDqN*MC>Y`yxEc(myb7$ENjqXF+q1Gk5pRvn za5V;8OYIJhQ{ioJeLu$$%~F{@&VhT@wD)<10^~mDh!O1TYwgU0KO_oedG47Bc7{qxah{)Ichk53lz0yY-EI2u32S?0+U3 z@@y|Qxu$Z}0CzYL^iG*#nKB`bJgfe3d1^U`W_u7 zje&;LT*H}cYMUvVZEp_o2FPo}&hy({x3|BKg@beJ;`kVRN1HH7~#o@Itw{puGHN4$|f3e{7zA;^c|I zq!#=~?{^IS<%NO|R4w>1cX5S+`)y~KuQYXrKJW1t-rwrg?Xs42tm=`s*{y zEFiK{T`=hXLdr=k)U--3PaXFeuOrK4!(y(}YCf?_(3_(G+v9MlQ zuWcUP`AGaAY*q0&Vc%_*d&xqidQpBp+`>vDB9t3i(BA} zI1h)LCQ*+`@b5>ZhuWGpFG%a$z)CR<8<6TM70B7mYg`==OqV^Jl`v;6G2NE-M3DGNMoi&1;Ob4p5Op2`|rkVKH&G{ z&&I6SSvUlObOR6s_)$>V{Mf)?Fa~f9xcbAWMF5k~oSCJL*Eu;IV0N~S=1#T_?i@d~ zki*LP4_+_IZ!wrtGFF!Z8RTnOr61WS*(y}O-hNPd$%OsO%fCC5=hSaOPPA#`-gYf` z6x+^w;)`1kCX!-Dd4HVUNts$J*Xv}!n6w3VWr_P3mG71V4n>WH_Bd$83^L2%fK6** z421-E$v)NLUzh9&{5<-SG#Pa@Rec$2t)QwuT(=tk?!ZGF?D1k(zZ0&;?flnZTFsguie28rbx)|?i#7t`M8A;4&^GP69;-ffJn#IM$`=>ww6;eRmhV5_ zNlbDGUk^awfJNoj4*QtSc8{drEiA~*WFkUI-B9vo$Mm6g{>VMK*7&h^*#9*D%*9^^d#@Z@H4$?>UY@@LrAjy9|5M07$fVL(AZ+gg9WbDR-H zqtJ&jV_NpB1cF`dI$WF5F(f#R0&U83QN35Ad8oET;~(E6=lCiqo9q-*hGhE|NvFK% zYSGEd!Ni*BMLA;>oBIk)Vv473(~P~8RTGJVR;3?t3iG^V!XWYk#^ZHKQe}!mS2eC@ z#x*_jWn94Ue%CwJyB4TE!*_Kt-Yo8=iGu{LFCCW^(@O?le~k5W>L)cfhS{8Rzn!z8 zmHFk6uf_|RHPK(RZvnuOO#nEe;&<~M11#nX0)ZtN2BaRG{nQ^I1}I#je05bQ0f2WA zu0WSHhS{8RKJ+TUdJ#;Z``HIkJ{JR`3Nv!Db@(1p5QRX`nV$!MLiwQlyxiPeXUu=O z`JbNdpB8```uK0TGSAkeEisN*T$Xo59^UYfy9T`)9#K}%4zo=&qQPsLT{(DL<*`IWmyh?!NLRmGnbe1D1Q;O2D zv34=I1?dGbk~sEMUF#(zj{{!uLHxAYQ*5neWDI)c=T(QE-D#A_DB`sAci49JokroN z)a#x$>QZ=JYyy2fGa>c9Ory2|V&x&{m1)0_aO_m>d6cRjotZfo> zv*cr0?@bh3&mH{R{FxHgp0D!5?LUoG$ME&-5O=Z7sgRZ@$tw$&Cul!F_F|_S1GRun zv+sF6y}P?l|1lan?oFYDib#QTMp>YUUS5 zh5$TD@Vj3|`S0;bls_*Azk&;I?HAG~^Tej!*vDAL$E~;L3=!r0L2b^NS^97mqYOVr zphQ7$e+4H=jT|l$tQKBqoII&>5(4hjdXikupvF*ZK@HJd0UL^vj-bDBer2N;?R-L! z;fL{Jc48lWP}hNYnFifLn0t>dWtG^wL}d&cZ_`VxHEOFh1#L`p{4Nfixs9&@4smPU zK&LFhoxbMleWM%#$aB2Mw6=A=W{-pwGJ9{qh8-V#4x7SA5SbKVu%;Ng%1AyHSV_9= zW>cUw#4z%baMOXwN3Yz`ZqNrM2|eJ7uL1Spy;H~H%(tO+RQAMOb5I|GnMLc=XYbZB zoZaM$q;912w;+@0DG&>hq>w8krBtNY!ou$83uz&-GPRl*K)vf1oa-s_{l*XFg|X9I74g(3H8l!Os);0fwdlwxNSZ2}Pf^s;2cS`zfBU0! zwbz4dNE>EpRk9LzpB!#e8Nd6sY8gFi?qz-q(s)u^TvJlpdlS6<_?($3oSkf(9bpb8 z<_?ZdwuTlkqdx?bIUfBaXCw;%j&zxvC7Q9qltGMD_#=Gm3zhnmmr;g%7EDg~ot?iY z>d*)g)YX1OmQe|DR1K`0Ao2#5Fo?LhlRK0Kpt|62Vl^`uL|s+#j@lh{Rkfdir!co&U9R|5Na{ztB%4C&$385DHRHz)xqvrKOs`o(eYuTICF=KXT$6HoNaX zVc1qzNep=X=54*rP3R;B#PsE-sh0S4X{4J7{a3T~f|1a_0BK|olPU_SzKITJ@x3|{ zj(PrW%8vJN`CW8-YEJ5i&}V{V*YaBQ1+!JEy1jU#5DSYFOqZVKPxQ;C^+go-T-yRs zXR)nXwoqQWT8O6S;Z7WF#go>43vA9U>Y#$oPSgx7?`+SLL{;30o5&gs%|hj9Sp*Y^ z(NHW-Ch)v5c4s|(&Vm18Wlc9$=13azh1GNkm%r%VlNC|BV_3BH;h{>$K~o|dInuQe z>%5sAA6tLel0{K)kn?wY`5E9>3}BvT3(r%9UH^(Lr#FqAh#nIO70o6WH0iP`gbDRb zUf9;O7q)dKZzgvT^gGmy9ISqa8s}dDjKj#m3b=A6022~D0Qq5%BO?C%4-Ex_4F!w@ zhVx?}BK<*a5YOWHXta0A`6b-m9QW5xCnP>9R5$jm*10uH_oTCJPyd>Hx3rG=hqWDE z-cN%}d)-fSgXNki%N^00M%#O9cpJ2XT%oV?e2Gd4x4)Ik99S|jv8&WvvzBao)csIH z@8*`c;!R7I$ieHk12OeSHZAg;Uk&L5a|${W>Nu1k_+>Qj;0CBc46V#Z7Ztj&lf}W< z1c~8pX)Vgxxv{oJJ|tz$uffi6}r79!Vphv#`e=lies;3GORp~xkDR2Pa5yoUfI@Wj|>61 zH4)yS&cFE@MB9B%PUNOA+jFJELn~<#lIIPcMmj5`1xfE(Zec)ur4xdbmY|5MZa zlV$jnSUoeRYk@XAjZS%@t(i@?IyXIQ%0a6ML@D25&_hHm2`}oR_8k{q$9sJJnKk3r zMtg8N%I63AG;KKQz5XfMKq>hvKqg_6oF4xlyto5mA9)Wgw!GPx`mW z$Q7hg!8FzIKNir#?w{RhU`wQ(^W?g7Ox;k8l2t)>@5y+Ana@sg`ivyn&3D7-*u3$x zzKW_z6V>Pv5MvTjL!^Z+;oJxt-h?D zuZzFcW8aa_yCFsWB5;pYE2s?fTV#b`l!SVball>kg25C4p~Dqg-W7?rzV7j6xeXl| z!izkw0jV%GwuC3!`y$B!$Gocp(5@Mamb?iDw8cmF+I7%e3Z6c5<*dEmBq3$7opkD$ z&=$ECcXSM`-O$9xmrMmdQiKS$DGB9)#$J9avi7C7dxEu~hjazu=v8LS(1Y=IZ{@Kx zt!7by^?GL^;;GagIe+ceY1L!y20pUXKwRS4E%suUxcVt@gbZH((Px36k8d!#ngVhd zMCZm`Z39OGsgxH=RUST%xaqP~-^;SApRsMDjg2zNMw&bPz_LM~h(accLjGN)G*zU$ zBpYN)X8zqQdL&u?^sR_kW_(oxN4@o?cO42>_zl*J1=&qGNX9>d`~$Q4d|W!bmTPaD zY$HnEH?P6ElNcLt?`ckT?oGC-zDY{y!d;1Jr31vZ9imqvd;W8SZEA08*D&}M!XVm+ z0D0E6?k0TN`O+S_&OH_rlb~X=nA53MRVv)DyXG(q=589Ec0Co(iGs%{S$wl&q4AAV z%j{V9(5=vt9^?o=h&vU@BFY=6)?0t`hN{D5KBT@$5;=jg^qZ80{4<%i{iV3W-s`JY zkCpr^JdBGQZjQZs<-*aKC)0K}8uwMV$l)s2Vg#ja?rP-Z!4;W@{f;NsE=(Ty z`;YWzPVRDq_kU0W^Is6*Z|YxW^QIae)?prD`p^yUG&ei$aqCeu@_d-63{72%6}=Fpj88 zSDwiqlg-|IIWr{dLkh0z4vJC?4`ItsDR|g91Zw)Kwv@7>`=FAA^c;00-vdc!Szsdr zm=W}HBG};Q7vhcqIKlw{NASHs95(1_nEMqF2n13dj5)ac0Dxc1?|A!V8c1FQt-hDM zuma3ysKO+qRfWMIXI{s5SvYK9PMlUSQv)k@Czyk^GQa4Kg`toKDXHRFqcXB&Wquu#CO44x z>WyRh;Dohpn}~j5v|*>mS7Pc~+LQJ`UE+GSkqYhSw}zty(x^B4Am_^R`-1o{V=uKv z?_=Cm6yhvuWwFj|g){c|5 z%*AvFb;-5NqPk4?O9y2rwouM>1>eZl+Sb_i_ZnM`7jmdVztrTczBUwqBjA1~W?JcI zg@zzIWi@$lda636P(G6^)QU+5u+Z1ap8W7}yw@!5p1n4nHez z2~kxItW0bjjG+_&+1YRmLVR&01tke3h`1<3-rU;U31$psJ9n6n5DDqOUy~FU|GUcD zb0b^;;0E~4Oz>Y7i~>Kay#ANS`8TLVl=kFw?tv2r9yu?^kc<`?CV#$p2NR`V6y%e% zh`}gC4My4$9*#gy!dh@%K0I=Lc=a>l{o8zDBn%`a==PuFKCvoSorF-?h*)uQqHF6u z(Z%FWUTPN(J+Qd8T`_|4{v5Tx%s^-RJaQTG#R&b1KPi42 zQP-om)(yjl@2Twt-82>Jm5Ao>(1 zB%8Ev(eeVlIFhRki2mH|fiRiXQ%RM}rt4X)kNgkA z0F#jP!X7v)X#5%eXNTP3gAxMx7Z}C(HR4An;^oeZTmh5|dV#_7GTO_{|L|=8fxEX1<2CUmH);*_Xg zg@|rLZkAG~Ydm;M;W{zOrm+cTtZ%QxoMXJ=US6n=lA94)H-WOXm&cgRBL zmvP-cf5@i2I&8<``K~dp!CG}m=0P|fs=%p9g{y)0!iR97!m8XadkJy`sMg2f6`=!z znFg-iT25u74A=MduJ>lYNkgC0lVFej==WMP_Rzag8Oexe-ZGA?*^;k9aJiU~uXbm< zhKf)#u4b;{>r!B?V|E>Hq2%sD8ef*J+QW|y8a5muoho7y#PM4>odSueii$dz(t9X; zvaUd*J^#wn4LUUEZ>t6*BCcaoF-ZX!R-*_CPOU_n$AU-xyZ4B)kjgOMpKL`f+F(|o zRT`L}Ta=?*hb3ya?(iP>OtVH%;0N3JVdSScQ>R}KLI$P3@f~M6m_bfw(Ux}+)ctVq zBx}+icj$B;z&{8a;FkH^Yi&$)%|lCR5stg?=gRP2t&+!LlI}J*!Q^+< z%3(Dv;i)r(@3C#`IA%<3dcyFl1Bf1i$nE^yW0GP2>*@c zs?-WOCysC_``yw6)%eRDpKept%-><4IL-kd7a*hlo?~b zdUr5jZl)w#X-(Q~9QLR{H(x0D0m8!}n_3dbRsB}AM`KRSZLgQ`V@epvgl88WBoeC< z?zMVGCcBY{6KZHyW>?;*cAdH9P@J=#%6qdMjV|k5hd94GS9A5d$JgW=#jhks0wcwA z3va0pCsDaw)IjuC>lGjzc4pHns^9$Yj->6LN?=Kt><+(ek^)g!BRpr)i^zhi%&JLI zDZEKe+@_#Hy8D!P+ik)9MDNYbLV5M$6ygHg#ivK}cEJ1gEitLh7jej;hh9dWB7^pR z4?t^=N^#tH+L?}?VPrroXKxTj5ri*^Qpk8XX1bccthwt0@1{A?qGV;uw<@`3-HJTy zS-b9g!o+`qkZM*erq{mpxo>7i*?E}H{PC(M(!33ddCeRKx{P-4x+l?n592~}@$HzG z@*8BcR@%H0q?4DE@r=o*J>T4?ea4u8j$QR$8jCc!he zF|oY`V|P3s$zkSvM(12S02JVX^6>Hkf;yzwT)Y4m!2P`m_{IIBXv_fP`PzX+tq8OB zfH|2%M2*`k*&*!(ju4IZENe4!7Xv2)E9hBF_ z4C&g+=R#MEQvBu^oe3Ix9_$iv9&CT5Lew;!!;pWMdLtL@F#O61cP+Wjgqr17i?6VeXcQQ2PO4B8r)Lh_Vs1VE{0XHXyrG!mG0pOg zUiv2)-#8@WZ)+1y*xyIn*(-BAA>0*uAT?2r1KWOg5!(?Zim00#EVU z^nsp5+X<%kVK#ZwFoJ0PTQIBP8ubS3Ez40HsDK3SW&!) z@@B#{CczhIY6uYiqoq4-S-E%WsIqVGX5XmW6{{F--;Wi0--+GW78Xhfat1BLR(`{x z?tW*+M>}UwpQwOw$Bq14*X&urx=~z%KnIHKkQq9dYH_8WwMJ!O4~(3rU?ZjA_pxfU zEA&go4~1VCsZ2;`9{2ZBd_;tw|A7IHiy9{ufC<1w!9LHJ_~nx!fWdyW02&Gk5-7?8 zjC%H;sUH>?0pXI(J0O$b6lrm_*xLl%R=luKWN<%1>9>__&Z10Fybw)P+NtHqLq9cn zNT)L^Abd6-J`x|m11J3(#f1O8&H{dAXZO=0T~uuGW^!jjgE+rujvO7Wj1110h~3D+ z3d(Vbd463w&l~-V+qnMU-NyYdZi9n0e!Oom7zqxR0pMT>fa6CW01l%6(*xKVIokd9 z1pkBazlr`o82_8h!1bTdlPMx%KUrgh(a6npTNUPEu+gnc7M&-LuI+pA2t)OpW#35vCwORwOr zudpcQv)*Y9>uw1SL$J z9KXADTtD5q5Kwny{ZE?#Sr>pKYXWdYk?*lP1jLon&IlwXiXwcb!pm>=%&U{Wv@WZw z{#aZw2+5^wZB4CU-?ycy!W>-8jbM%td3kXt5kPRh025+LtEpc2e|Ij*e)#}Cu1kBz zE;s*k6aAAf*FSgs^k`#)h(`z&MaN2epPYAgzb#F@aOCxk+&G7Aj6>_RFFS$0x>+)J zG6Xwow^)m}U%8kO)z6oJt&(Xw=&3VK99$Q!={{RVYEg2?q~Lk9CTO;iz~t$YwQ61; zNZu40ep0f@_rbC8)PL!fSKDyETxA4udYEk7e4Fl|&AlBCfCK*Ru(661LuMr;wKLUn zuB^8TacBBdbREoi|E_$=nzzZl5sXWF{ClIb&QfU9y_NF;oE(ave|g;~}?8`k@* zC7%X$As3V_3&pjB_EERM-=MeeEhyzcd zQFg%pmF(WH)R54TyH~7+Vmcf5jukbcw~=L?j;dt^3LO(M zB31;Co(1Fe^8ZkSBl;IJmw7PBYcaHIpI}%4Tp+!3dP4`Y>ycAQY}5pxZ&tc^Gs479;Me%p7;w58yd7B zZT2s8_H+{xs=v!ODhc-lpSS{x{bs4iUkSF{p_!tRysQ}Zxr|ETGeU4weUlk4yb~;g zO5}vC#Zo`q{I4&g6!IAmm@TRO@2K}zbAoz(Z!Ii372p3H?3-4~XB?wfW=8hmp+S#p zeo{xz%O~H|Z}08+)Wd{X%m(``4^`6^V<>v`C=#u?f;SN%-3a|U%~KzaD-=37Dd+V) zK7S4C+JatZQc*XJFy``npWY6CewF<_P1S-7O7=I?XSDPPjzjkmJe^7YLJ(>MV-_6%-Ww zkwrP1;AiCcPZ^W*tABTB1MAt$SI)dWK|v@N7Y~%57vP1Sd3%BYKNk;_=WHLm4)A~J zWBpTwSc$^z0)n854>=H2ViM!4Y`2G6Fy#~?H+@~6nAW=8YIPLrHfw#O$~Jqi&gBtr zTo^^#1H$V#w7Ru411pR~H06E;5ngqDmbVcVxSgoSZYAW=|)ZW5QWt#J2q6Rfx2n(AcRTta2Zk6ZJbLUT+xyD}Q>$?w;(zrWTK z?PB5?zx2#)9Hy!#H2%0^;0odaXRdO^s7yaHm-@rw3S)VkarAN{d#M*Ea=53h=+R5k)O~mcS z$68Sr|BhMzWl~3d*>4Enw|O$O9xVrYkj02jQg8PMH8`)?x{(^CkqW$1O@83vo~MvB zL7otOghJcP{XohnD$#`T@D?QMN>6EDduifvrXr#11XSBhQeR&jPam>! zzvoUx)cJN$KJErgXmeh;`RPgmMSC@Qd(%DLhEs-ZGxApiaV&Qc*=>PAni`7YIi3BX z!hDveC+>b7?#bMm&k4#37R0RLdNt-wtOGF7!n`9sOgy6N+IuJD&Ux?gkUVk3;s!l` zUy3+p(u{9(M5Sq}tqdBm#z4zQwg>l8T;6L(cRujv#fPa}1n&)ujn8YgU~Wz@2OEPw zlx#IH|Du=c033-AfFsge(954owrnq1cB+z>ct+IN_@ZP>RP0C41(T5aXRqYv+GSu|XrQ&lZw6&CM9m5<88TJ4zyJTPeWmh!jF*II0;oX<`S0`1naQGyJkz0^onrigT(d zOI-+LdNIzhgqw&Gn8EUIkMwV_zlO8UOPO4$LI@VjqcmKt+-`(OeMIEg`h&j9@#{)&^9mS{Eo3? zGL!cUOBQ6Hjh3Pu`Caxq1A@0PPP|(&4k#iO-A1Co_Xllw~8!gqaL<@ z`4UbchO9Cw`8gxckj{)4A}*Bt?m-jdWI+t6V~B_bB~*Z{${si6bvI6WBnRbU_#^*U zw9t=Uw&;O^|j=9-zSfwlj4pG!QdE6H)5tykBy&%lj?X5HolBf3_?1m z8p>aJLYR@!cc1d|!2mM*sz2EVyaK?%ivS!Pe8D#OR|RsZ5;2hG#41>yV6O2zLb#Oi zL;#e3oTY+@@GQa%@ay~^ zm{A)b{B`=%#erFfU{pjg5K>*2`$&`(6HW$)AUPFcZfVMjASyaZuTgn@(AS5WZJPaJ zhmKkMFtJmbHc*9)BhKkdx)rkA!YO-^{L%XUaO%JCP5wfser2H5$~;RX>y~c$9AVfT zHFNg}vZ|O-L*q9-IVc}P z$Sk7ig&I!?cY=vLzbw;6jxMWo;hRdKsk{mzQWI(9KJm7Cd`gl=)}#{2`!vs_+rjh= zok{sDl0u6Nyv_wF0f34-YYSW1M12}as_dx5YpEPYmQ6I2JS9UI^#F?&%dkT&*g zh%*nii0a=ekdXM4{7y4CU71!>E&t}RlM!dRG7NoHON>LDLcVH;Nm~05i6(B8SxQdX zuVSv*t@fKK@nVl=01d9u_VpHQ&X_)Yi1!3Ph7ve~5+r1>anXxc19-Id$VE$~EZ>q|z0jXVy^YsY(pOaFmd8gY=%Yx+!SkoCIPw%o= zE|w|np>BaVMzw=q-4RXr@JV`N%UD$XL4-C!!mMH1i~21cR;Pd`skPBBu~6qfhw?db zjkC6um0>PCmT#vT|Mu3rT3X7FGaFtsVkBYL5pl}S{k$Z~v)V4C^d|YhE!N3z-O&wt z$@HJ^tZH@AhCs!)LZ~OYB89{)sPo9?yo5kTUpwP?p zM$k*m|CSj4}`u9y4^bl^BIr{+NJWT z6Efpr0$u$BEi&Fl>DO6&2bMmgWdb+bDBHuirzSbcPFQg(^Zdu#Z6sO^coRuZv>%7L zSWkS+zKzXxis>+&et$4BnzzeMJs6TTuwsqTE&Blah}(+(eefWcPWE#`IR2&}Xwc7k#M+SSsiXt9y6(^s**thc^{YSyk*)jmoBqq|L&-o!ZWPkpz;# z)2zgGG<`Bxr3*eg+nMoi1aBqRv!8v6eFcZItAyp{(WUKKcjNw+uKddZmk1B}`-x%M zIF0j5n>%kE96gNVTlO7HCb^cyoDEBZ*LTOJ<}@lZ`ud4j>#>vW-zAXOS{@PhmzC5? z;x(tpm;Rv9#n*l~nEfQvG>#Om3@zFM@>(JP2-H$zfU99#noMzVW zW3#eptyRPf8uxO_N=ISbD|tz@bFpgmcomJJoHpJP?IBJU7Gk~4c}_gvxs zYG=Z)T$9ENSpv&n+8ztQ5hDROg3EVpN4)-VH4ncavw_vPoErUbrTt5EqrzBAw= z5%sSQ==?8;@K0La!2g3ymt=zi?|QzbfCvVGI&A_J7iQM=FISG|wrvaH_IT+^d` z9Zp@8fRrG+$IG7hR@Qpf_3e@D?W$sR)Pksl$|{Bid27j?F9j6|K-ICldN_-mCeZ_U z+H1$y5fV8RtZ?O_C>r!;(yUdw-edn2yhi^g7#*gpUmS^ugr!{CgNZ`vcod%DN@6{g z&3fMOxU-zw|4QI5tL0Doul}g^zswp%dNl}H!s=U_RouhFdV)<9(x~4SlOK8F`=+e% zwm33I>(JQ`retHGUP7H=az5{y->{L+m+3pYUgaVb^fMI;VAz#3<=qHr`5IMbfW?zr z3Xu=!dh?Zc(Pe7>saV5H3A7*|J|{+f zEsspjvL!4RwLb~D+O32KQJ>f&l3ZDk`1Bz-fh!K@L{;kWTH0wCef{kzbjjSg+`1I4 zSxT=v8IjuJA%3~(%wx7Cv)EnyUYm%qlq;_KE?Yto9eNtN*;6JqmAw2bTs7xPOlM%^ zWMF0Pcy>N0%*N^a@ymZ&xn-rgf9f)F3jjwxTfK8GbQw((13yWu<89v`b=dNfBPXl& zh+fD5QRT4X5ar+mxVd=+c)0*UK7J?*z;y1iVbS~; zbapcIFG+vI3C?{rC?Lqi1%+~P0q19m0GFEoU19#o8_VnJcycB8+V%=rXPI)2t;&rI z44s}AG6EPcs4~fXVyc7dZ;8xOo6(~AkFnE)WPXj(h_X&bh>a#0(?_!komebxguEzU z@KrFj*^di12+`2fm53%%6`O#ik z4SPt_OYnB~^>IYbUfrzqGQrk2P@z|+d@J?#t?(ePVal6lMBTbseW8?#0Q0xZR9e40 zXaM`LLy~cixF#R6Binlv%ZQ2$bzff#<7kMvb2;N>bS>P8J2j?>)za z#Ls#9*PXuAh^WPXe>U7=M`KQ)Igl2ZKqOX|rujE1}^1!fYONoFc z&W|GAlK0CURx-*%7egod1}b>r>!`%hdTR>bQ|5yQLhHynE0|f!sjbzK-a0PfSkSBC z>f0~yx7U*N6=`GQ4^OV;OuA6iDO3n3r5;kt+;?YQ+B+^7Oj)ywlJyv0X~MvH!@d{M zvi>&L>($Ey`?cwu2c0jzI>jPU1{LShtKO<9K9P4BIEv?L<;`#ru~~_>$$ZM3U3aZ{ zh%N9q&#e17n62E(iTeNH?k%J0+Lmo$oZ#*f++{7?3GNQT3GVJ5AOsH(9D-|b3liLd zTW|{+9D-|**MJB+XP>w4``)>)wfp^?!W?rhM)gtEM^&#{huHORHC^QUAkrWe-qmoS z_(v`BspKCQpUkrv-?Ha?u2(js>!GZYit;wP9i?CTDBJKdTYxxHz$KUS=~n7W+OV+= zDb8dC^MVX3zw= z3Uy^MJ{AvGtLM=S4qL`lt^)+<&FK-047Cj5hv*^wn^m6QEmPogmg4S#|8L~gA3Ja2 ztDL_8A3O=*2ObCT1M~jjyun4|b4_rXY?+WYx0fazOZ_p){-4B1{{;u`|3$y+lwn%h9Fq!eB4k?ANXRgRR+2=UhtP) zkTONj(zll79B7|6QJ=Jcl;P8&%(&RHy(<}X3!L+_U4wD7RWU2gGEHm#QteiGm|{z< za$I;Dt9R7%%!c4|Q*`}k5KVnbv%SW1J8u55qtCE6RC`(9rV~rSM%yUB7;|XB18A<7M z1u+(!Qx0Sg=^^efv>XVS$+k4 z*1^R_l2d7So}#PDtCUvovy=XcBrRB%ywsxEa-1ciurac5L^0&{xm!^#-Ud5Mic*hW zL8fA!E%V=B!qhX-j*>PT@3Vo*M~pi;sX*#1wnopGNcH= z4^jZ&2TuK9$YAhIfBdEZg-1S{vg#wHH)R0{RRLLgA%UM2hj3`nKlW&V_yF7oUL8$Y zRY>43Mc@yN3XloF#>5U_W8z@GYu>?prxXtavOb8#|2GWzPySaK&t3M$|{&sL52UVun;AE8F z=>_$E1^}NXJs}sP@!K^H+y3%fp@_@g31mtM>Af$l2d{14^=`e_5W2DouyNRA7s=me z>*^13BCNNBx_xKChqa?uVCUIMka;GtiBZKfk)d~jat3KbaE;P541jKCwAmf|vRUOVr27yr zMvKinObqC&Nfx~RXF2<|?@Y!M-g4*pyT(#vYdkrpb^HJV!Lv|{9=@@V|HjfJikYCL zW@IO-y9uV5jvCSi%p!HKp_!&Zvqe5az}7CXLZ${H-#?3~wB(xwR%k`}jpb5gSkU`; z@xgAHz9Xoi7v`{n<%EPTjN$2PQHW4ikR&4%OF#uLrnw(%I4OYmU)-gCi8CLuKlgzn z7%0dK7GLMRID+xjs%bC-f6UgBbX$eIGifo_Zn#M*-e9}w0%n0NbUaI9kQPfp9PczU zO(MaC%#oQ6&v>afWgA7^-*U_#5@Dlq3n>|JWqh0c$7~6U#cr-8QkX zGjp&wYSRAmGk;(;SkFXKh+KVfogzkkIEVT*i?=el)KIN0`h{d zEU{5}^%9m_tO(TLi~c#$U;|U(H_^w2w&}bnRFLhQwzc{mMAu(uH=ktGrt-pc$$h6g zk9HQAS6p0D9Z3Oia7n#MrPeuXRnUDpKLb}m?^Gis9=(3**6FY9qplls<(d$|6RoiO zEE0Ob(15H@)($dbG6pw@>43zMq$DSI3e`+nHw)|=?ar7%6r4^Iqq9X;HAO=N_!R7+ zw4rDtr~Yc(Hj4oYRe$V3@!sB?kDBqX*0d1^Hu20eo{GVXl}W5D9>A zho;bIPy%<6t^-i`UMUL#7L8ln$kNit+RT7Rz(CK?$jZ!sNYC1kNYTi_NYCEDlt{wb z!O_go>8{I?!~Lcv!|y&yKQjfv(b)e_o^l8A55--q_aQbbfE~aNylZN6m(9ll0I=Pq z@!TK&&-svlS{~ZY^ZD_DuXuPMw0R@h%HDFh@fd6DS#g3&;C`qXdMQJyR1*oZf<{A? z3p{uWvO={}LM$-&bmrO%RTK0T(#NtFiA#s5uY6>n_!f#v*E51FfTjDP!`RHVvm)j! z$6!8WRIp$eu{zE)2#H+inx}nzN)2c-ph4_0qpi;Qx;vyWnJ^~MC+U`hnx3zxbPr)wHdmoNH|( z4{c~{!b#<4(;*^sZ)vR;>!GVBtiCwxlPFJWjGIO!2VbdzaJBoMWA#O`X@Aa|a>82* zrQC8C7q}L|fhwjvT7WlcEO5`pfF$=Pb?Y%dBprGJIPtk3ruD4iZUQ5G<0^u&-$mHL|IA=dTNq{N#Rm_-( z|2XbbX*j5R4wAd!2?BQDbV<G z>$^$6D}SOy37l$F(em#iDwz3MMn%ccNLvcLIV?ztYdXfMoo-4?ar4yzbLB zAee#00{3609ibk@?{*j_-Q7KnPTKav9N6Y5M|Nb&aDSNkee~^AZ>20%fUG9Ua;QIv z$)^28XWX(ou<-+f=ppdjb4#!)8dGI110FSfM$a2bP0hj3zH37yd@lcxg1^%(tX$~{ zvv1jRw5Bx$t*Ljga#G39mB2RTP7!psWCT?W?7g@ze8$ye`=Z90@v1?OfT9)4xEV`L4=Gp?t`d#vn1SEQbcPJ?kAHY8r^<^7c~&Wp@#?!^;Aj}`2eHo&1)@gNm^ewqz`6k67umfXNb?WTVl=I*xK<-droNP z#FCmS20xK+T!Md`xxlo3>wkhz)qO?LKZzgtJnw}K7evE=YcO0m5@S|@TqYhWFXoeH zNC%?QlLa16T47JDDCfZ9+EpA`$ZV||*CWDTwn z821c#sUq`AGRJ|ag{w63Ac-t|I^3?;qc&isA|jEG01W{Z<=a@{{w9Vq*w@8{0wO|9 zz1N1%@+0FBij_t*2m;MP;*In_G})NvozMyHG8I=7r#3a*uO4W6R(kF>KX}&P$yC-; zas#5jmJZNUfFI}~zz_6CmlZT9%e2YXdSq#8p;bE%54vvLR>Vj7J>US&M+=FH($9qi z77a?^ezc!G&A`!+A5Q!vPl+Cyr?3K8nSN`1umBz%{@*bz9AWM@dK|~vK_Id-^Y9)DbrSXNo z{*kRAb9x^cqitPK22Hxtxo?R+REO^@r!{pM;U$CC|7pZIy3@sFWZl0s6l{|sN~ zL`SadG5Xx?pg-1T6cT?V_@#6=)V)ZDfY{HLW8i3*zfX(VSQ_4?@6!LET>xxA023>K zgBifgdKb?DO=Gp=5}t*7@@En8MsqQChvV+Wt|3XfzE*s(#P-RLKV9 zL&<4sY_9e)hg+V4kx8P(MUbMcQK^AsiFHBc`IFMtH^$MvROt_GReg%6Z-n%P_j!oJ zOo_KuoiDz(U>FhWw2+MdrT?rV-4PZ^@6+VX zN*>z2BT%$vjiJ^mSlz}iRf&d5wdrw{Hp>()Z^IV#k-^efkg~_4m=)%m-qiWK>++b- zrqS-q&x7(?%dE-=^nEDZ6@K=qS0ij@gx2%@x2D`x*aF0y1xUpjl`ax(CiD1s1GL$m zSvNM1*IbgH6oW6w)>B;a{cct8bL`A$KZB7SR#J>v%s{BDw!(H<0oWsHzNVrx>tJH3 zeA2AyV+oErNTG&%@t>T!m}-%?G8oFPmC>z1idWVsxxsq_9WkQ&R9e-sYm% zYetVh!G$O1Z8d%v#f(uVj8*Hh^2*0vX=$Gb7Z2Se!iDNXaYDp8S!Jt)#idN#Oc(i~ z4uhy2F`Sg`HH*R4heg`A2;iIl&r#fOnq8CJBQD!W!Mm38sKwP-XM<~f|Jz?!^}oGA z^r1wWAHWOXhJw+3?Fgz4dY4Lnmr?kmq#6tqljuj$?4v#qzpVJaP1zq7dG8NU)~&>N z9+b4qW38=Djh`r&y*jQR(1G-jOLH;0X|Kuj|cMcd{cLze^4Q$OCD&w zB`{to+)!E>F-`X-r~uiXruM{r6^G@2+y(2Vey0@sghpYX(?34e(i*Rww!=}^ zjl2w&a$!MdgmXy5OHgW|l8*3Gr*^LjS9-EpQpC(&MHx?8pd~7;ku8QI5SMJo21qLZ zG)yjnwB1p_0AJ-j`WL=M1^J-^Jiv3rs4~CTQ?L3+3>)Zc$;Xv5YoWG^qq51;TLY>j z(agn$7~r1AD)$X0&6x^+47P$t*3q?d0!gd8X=t`Q=&*!*KLd}?`O7XdH5uuTQ4mX>o8t7WE%D`FGW$?B{ zFTNzLR4KM6mleGj!Q3k|Yz0l->`gaMKpdLVJ!F)q{VKS`!HRj@Z7p}^`+TD=tBJI< z+Wl-*fK|VEjdI?=MWe z1c>b~tcMT;_(AXi{J<$5upUBEDU9mzq`Ge|+4NU8;6E?42l!PY_N&L_zZ2SH0stPU zLF)ga(B1>Df7fmWzz$?*Vr6CdK^Wd0vfdp6{>OjdKc#)t`B&S|rovk+CvE~j^PIPs zYGVa(duH@x)$E6EPW{}P9rU1Jb10`OUyO>#;@eNiG9B87Af3I!88-Lv0TCfA>sn80 zMpdQ6&oX6%4Qw>GK-4ih!gm=Td;P|i_(LVrdT8c&04G>^?TFam*B*%u?!5W$%3i8X z`y1A6ZWUZ`D$DW-m`rF|jIPgH+hQsYHNH|NrIAf`?hL;p_gm?2>k#=A7Vi#aL4%T( z4{I&XZ8JNDf+Khq0o{C}^dgz>7>jPrtVotgTHj@>W@ELUr2!|jBw1m-#=A;OEtEVhqT#e{|&e*UH?#$wvJR?B@0q?!$z8 zUhCXu3S*XU(jrlf3;!^U`yB(fG=jL!YBzq8H-V#p;1Igz7D){1!44=zLZ462Zr^ay zwj4If*@opaZeex6DW{I%#U(KFyf4-|oROO2swB4N{2=Eb2o(t0>^$D|Ik;0}!8*N-MZA_%R;A-d&PW5?K^!D0 zmeENayv=@iM*O)*+67mu6&Sr$#hnej!~PpvQ1)dqoJ_9Gd??9q*(piHNBi&K0IsvG zbAduP4F*ZQpW5(yy58J!qpCewtLEKtr<48uDsB*-$1G6UA={xX`c?tC2tyfk>I$+v zIOC<`t0alZIa!Yoahp()(|f#mBoFXg+A|2G+dB9c*8H73K(r083{4`)A`|QJFZ&;q z2Y3+Ke5?m>=UqNh3;0jT0|5WgzpO?93ng61aCyf)*BrxF6Px#pC*#`h!ix#Y&+haz z?B(~3*#>il`1q_asSDcE@{2)#g7S+`@$-8h53@EKP=j^y3KR>^Nh$lX%aaXeClkH* zVRg1mbB{YU#1LeVnO9`X(XzU+Ev0s@U?LY%45`UUp))>=@G|Hw4voMB)(?p9%e1w* z2Zhwv4XNWyltz?6m!$#^{90QU7;>#FaS*GfyeV)+zPwu&~mwS4!qo1 zC`WXQRsGONu{Qzwc^eb9J{+#<)29%X!qK9ww^G#oIN40(vNQ)q!oy&L1%nbFw$eOb zl|A!V7b?uN%!=>|_PvzOxg8I0ACy|GnyL&J8FFsfeMWn&gjAL{&W%tWk_kQ!Ebe#N zvhm=XSa?fu)92Nt?S># zJGt={m;y=QH;ylE-dj89d`D6Z99nuY!Z{AR>A` zRd7V=)UJ&eDt!i@c%+Z3Z)eS404)+z=~^x1vnSWE(Hmd$n-q$srQZtXalO>)(=M|m zpk+B3bB2N6c9m9#JYp7X*TX=@bCDS&2^)KTDB@M4w6*t4BL-HB=!NVvZG95wh1)^B z#xPRX5q7Y}@cGXu?7^qayAsg)B~d%ia7)o)riW!KGS8a6eVe+S!=<0EWwTqpa;u3U z|19pHnZdeVnP}qFio-=KCOaw^ehuu#G@coO=b5bx@5w;$LGr+KL2tgDg^8(%ZXi;_ z*qpT!I+{mr2bp_M6IK!#X$FEov~%W>=#6y~fXK?jD4( z?3`?z^$g8^2(>W%Ro8ni{5KRE0{kF#0e;}(4{jg2uqq3grf={&*2BSCT5ioeihZYl zaRbF4d4Ym5Ke-=RG-L%Qo9B0<{wnSN-HhSarJvPzOg~k;neI7$4pz?lc3muw5C4NB z{Zq`JQ9@n;ians>Xyswtk z7e0%7e`)DTLwnH2&gxvEkdM2rcG3s*d(O6Ib`b3_=;RkUNRn4kJbvm$T{)RE}8|wnkl+FBNnYWyp-rycM~dO z4NPBNupTc2ebQx(YVkC~*Nep*-kygm<%2*LF;bJ~C>1|cuf{y&L5KwFv}FJ-=E0c! zjmiJAPy1JpeoV~ouG=_kH0$n2Xm;kf)Z1g)z3bq8jLAQ@b>A-d@C(6s+qIo-R|Z8a zDO5D@I$cm{cQ+)y^Uy9>?OlRB+o%{#`(gt0t^+OTG8f>E9DAZwp=%zw-#rMfe-XO- z-I`_&N`{9TDHtfmKc<>1c+AAbW+(G#eAG2v z9UFp|Jx@vd{PofZ{e&-G6zi*yB`GHCDy(OC$8)VQK1G>P@}Ya3TF8n#OY*|}lTN(S zArlx3AWLl@0d(BHv)t3nqy2^({PRRzMPH6Mlz~XKOA|CTMW$YWIrafYUk$v@{lbW}ZlY*i&-mK&MABjX6JJXsF)AegRSmcVm}WQm+OjgoiCbV8 zfl`I+YY!-nF1qvcGW$2=t1gPi;P~RX@-Kpj0M>_oLWR8X{_9HLiCg86NRk3-)oD(} zcyWU0H(oEL?!10tUT(?KL$D)G%k8>r+!5|(_GYkw z;uk7|;R5`?Fads`DG#WO3~m;&jyjHWG&p=+Q*H=AdCVUF+0zgUfN>WW!=fSn?49sK z{{Dv|B{&-X&kICCO7|7f^2{7855O#TzZc7Nx9@u29_L;bnS~7i1hV|p=KiB&-evuFhs2{DCe$}wrnRB-!I?qIE^q3I zy_sX5$H8ojhh;$2zO%*w(cciH%2i|c$5Em1U}iTtOtLS|C@BFE z+fYmWOg%IiJ4^@;nS@~Yta>!EW`&$CyYWFSUKU%yU%&uD2cOllocIFXRjZ(cVx95c zz?yw}Dck9UrxDY)g@V%ggd}Kw*gZ4HZDWNvZvd_GelDRo7#TR(8{O-4Jj%&>-X=a1 z_G=b_Hvs&=YXN>>=|5%>{C>FB6U>}q!I%5nl-TOSkD=<0#ecl6t0?`{+J;5LQo0}Q zp{iNP#@^P(Uhggw;OGAy91Za=cRVy%VgmvJ>_ARtAn;y?gY!Nyi<1Sw%KF!J{r_&H ze%OjECN5d}p6 zpTK&*w*GuR&$ljDyfclUu_-)XfUh=Yml}60d<2{Te9sEO1YdO$s<^lN!ALC_pLTSK}$tG)4n4dmWBF2?B_ld9m8`iHVgCV zZErEt4N;_o8wgL=FAe66i=4CVvUb>FOx<0w%hwSZechL<>;v{PEkgH^W=GZe>+BnZ z$&yzbD$hz)83id)@*V3y6c42alsv`Y*j^(V=Rb+ZWKnH3KJ!`GwN>tlUSy!cP!FuD z|G{Oa0DO}GXizXenwFu1K|m2gfCzyIJeJk?n;HJwLIjzrF)tymZ?vV{+po{0pAl#X zl>%5E^fKuIv;gXK%5?Go(jPqaU7xi_bM&5~R#FxcxL3$T{`DRhpb+4HBB=g#ZE%X+c~vdWQC9hD1~jMn*&iPWJXj){aDahKBY=4h}?mj`uB7e!tQEKlR5| z>Yw?XkZ3Rh98Byi%uF2YKif;dqM-^15efbJl!q?v)Bwr{{+3AS$EOk57!wKESXmj_ z8yGz-NAyHY0076mtPcl(<1SEO;$;1ymcY*Z^YDM(2mMntQVP;%%TDW~A<1Rw8snAq z68GsT>v-dAAA+zwA4Nr^Vx0jum6}aXrBzJs(HBE_mDAJpLlP1nohALwYU(9l%fseX zFD7&4bS512o2Q|Zyt)Ce$!u0oDqZ-9;#i3-DxXZ-G8mruM=4DpmPLkytOUM+8f}b3 zTu#iu3qYJnf~|+slZR3~NPX$N(}y%nh%l50;KlC{K~^i87~Pm$-TDLy?J}XT2L3Wc zJV(aV>EmWYsw|G(36oT^l`an4_x=>8xn_!ih-g<%HwPVZ#9pm!7gXpzLjf`S=tBAS zZ5U@mmJ!YxXA~F&XOWKl5?=GtDla3(7&YV_EzeT#8#OT<0Ytq0rC$%=TO!U{YdnHRvhv)xu_7jI3|skz*(M=)FCZ>O!2$%i;T7 zd?E>cD@&e zq%Y}NGJ2wX{-!$Vc_5}A7jvNo$&)j`x-Eu9v7`@GB3Y2!({l_W&$zedUT$!2f8L>( zV$BA8;wn;2t#r;I^0*+BgwzMkrE=1Zk3z8KlVKM^h{8z5CK*sjOsB@>c@e_ItO@7} zW)w?6$^!2^Jt$gW+Mo8t{hHi(>Vv-jneOB3lc}uo?i}J(e6;v)h>Z)>`Fku%nxkLM z(fpyRnZP;}OGrlMDu@MfXP)g-_w2yJYb_7g^^1?P!}g=XhPajSg1L@Y*>>c=bik#H+Djm z2=}SmhmA8_52#n)heK!TyBe_zpV;vDSUls$!KpI}S!){C8fBZ@d!|UH%V7cm+=)2y z>zx0na>NaMt1(yg1f$rQ92UWYA#fQ!7pj2**@``7=ZkBYr_ZPTX&3R~2R7|z8&g|* zGb=rNx4$mIz@%SGFt`uE58M;r2WI%gsaqWJwUzts~2F6pvJx5Fy7c?0FoOs zUZ=)z9X$^M0S--lGmitC-USc)?qs#TRjYytiJ5e~s8b%)V)$AMLnf%Jrf$(`vlx;$ zr7Ku`v7V|Mdl9NhO)I|{r|)?(T&Rs z#AAf+N3iK>N`AMPPV8Zh`eQQPZ$WCwr{IDNecrD*aWPK%MW~8B7ge&BX^hA5`%~dj}15rB(w)=H0xW5l%4M z%f)g*W9ou;3cCPh67(0-g#@i%WA@KaXwSBKT}3Bq-(Ke;(Bh(l^7-rwrpH3-SPk?` zWsAHiMBS*I*H}&W+(05B(AZReU|P%!ec>)cPb_U=V~65tOT zk}LoqkPXNIWMaB6UwVA_A06wTJkC6MoO%94-Z5s;0~-ZBzlwah2$NuK|7oQ!@Kn>2 z`?n>rLiULlRob2*t%6HHdB@Mb2%ZD)hzo_5i;8sutdC$qo@y{PW^Tt^Y-qvm+$M~a z+Eso~N|O!Ti)v`xkz)b`Nnz=zb||%-g2lg?)~9VId#e9tp}m$`O2U;VS~rN~DshIb zyDf8!P8r06)!LyMOl?2=%W7FBg?sNJTMiE9$#usiKU`HWe$s)h%%gMEth9Wv*z5i?iz ztrM$!CV>!I{nCl}wb7Tz=Y!u1b97TWQZ5wBLK_1wB4|lrNu9aRn3sA$j?6BkG8bhV zyrVh&q0fYEy>Fm3R?CY%WA`7ju1ZKe>3!bA`yC0}E0ntxtxYDPM-GvF^Jxa6`GP(} zA1joC8(lX!$ML09Ua(g3$O-~yfTW}6xO!k4zbw3#;xX@;qTj(*R?)Qt3og}>KoA$& zw~hJRM1mJ}eH(;_ALVshfTIqpdrj%P%y5oPL_{4Xmite@-Bo;Eips|29TV~`ole0l zF&okvOfu=DU9@;0x!S}xL?>M&qei;A`vhW4+B+tzIJ%bCEm_+_)XAmSnYMe}0{0zw zd1GkG;RF!VZ)AduEZmqsJmSCqbgKS^5C6>x>j{=;DI zy(ol|NT$Jmfc zV?M6vI13_8GKu$GI2l%>|I@j1z}l&xbA z@M6=e3SYT|VaKgEt6l>J?OCVuQEh5Ci*fazI`VmQ9OG_EFMbm$$9|od-PG?;t91JmHpHFbd0pcC%uhFG%~#M3F>{ajb4wr5%H#M6Z4`)POduebCfq|Ax+YX({yh2JeU|h zHvbWCM$VkL_)C=HE0ZHTn8S)-e-q)-k9)guJIRK#OaL2`q$2MZ6@{Q|-oBS#{dGo) z*cL7HKY2+Z`dN)Q>wmt9KTiXAVqbhvbnzo_o*gB~-)~I;*_;>b$2-4JyH zFJ*9?bvn0Jf(P$T#0_S};Ti2w_I$rjw`L9PW@Emzw)NJ}43?nXTRk(?LKGuGbF@^H zK)-v?M^OTWzXt-f9nF)UJ0xzFC!G-XL#T2EnF+$4UtbfC*XQMzC72V>)jrM;mA}Hs z*b9+ivJqfJQ}m0O#BFuWRQN(`YgL1LaaOiy690VGQ%?y7oC@q&SLM`ovaNY1Rr~AB zJ(f{X=sIwWUH=WH(CeW0`+L;eN;u7 zO%C3@)yc`;Q5Q!>;OHv5Y!|kIIB}K7kBZZrIjLo+(;QmeH&2mbRCA!0qwm1yJFes} z#6aZ65eUg{RYf(nlfG11QQg*$g-KQZ^0|#im8X%TIKi-{7CcGmxvqBQlpvm#6lw_m z_O@52yIB|I%k1;e!>=*Mfl`|>&@iZOAr;$>5Oaga!s?5dy`SjRCV4!D^aIT0y;#|d z^S-mMQ*})Z7w4G8L~OJ!ke%Z}0|R}hv`;svrX&@8iqO8vqZ1}{J$TMPl@<*g>>cj0 z`mcMG?OMN)+7#e-=RJc<|A=*=2A6lrJ|Am3xJdDzr0H+{U06epP;*%*}-Q@AKVt54h5f6$Fs!qRRF;a z1*0@sap=~o7x@jmnpbcM(qLkMo#mUI4Hivfoo4Pyx?J+xF!joXtr<`1X;FFmCj{1? z@nF9^9Y_qmL_%`tSV|^vVj8fCpP@02t+4EY8Qy~P@WO(UNZgy4U+h*IE9rDO2&gB; zuWeaSKMVKzyyv$@5vsvab?Y=tacTp0UC-j)d(|9ui7 z7r`gkr`B*3W;HySsnpQ#&FHZ!eMMld>XJC)UG| zOVTiLhgb<-PCD;~B(vsG)#hmvUjf*^%s;`A!{}Vkorx3+KZ{Y44p#zex=vi(3K%X0 z2OE7?5PeWc6;1?tEB(E{hWgn_U^Xfmd^HP=%s(}7qprTyg1KRVDR>cok}%23K6p>Yu?=s!r6FjMeC*I_CP`n(4k<5~ z5S0q$M#lh^c)GVhn?6t(1^TKgy^perhZHwKB6Ej6F-KjfXrw%PLUj_qA$p?o*;1tq zj!F&Mj&2h_qATWL3ON=)MA4=ti7w22eFD@_0FFV+L!Q zk#!-5c1YE;$&IP=x0hwVO+07#ED4%&5`?y!N|y*G2YeG)=c7xl^5zDDMtG`s6Ujcjw@ z>jdEncm3P-C;Tz<%b_jut-o~+t(6H=x9wNz`Ot*gjG$|g2PzvLWlOhaoab3=-E47P zxy>R*%yl01j9JcazRCzEAld2RssQnr6lbVX|RFQrb9XpD08PhwgcTBIzFYxVl0y}^6 z3vCyEmLfb3p+ZypL?%KmT%4RN4r$WKto8nJnkcMDI1Q;r%*O8l=F7o}J73dPuzRwe zJVje%dSd^;LE<@@>bW=?{a_#;v;qE_)kpmD7dHRd_y<`RG`>bOZ|lQ{qzNg;v&ip{ zr`dgB$KxGA6{SZ7d=JC^$RMEtP~1T?9NN>rcIWxkn@!lv+05ZCGk^oY_HZZTUF)B_ zO+2Eix61A}>x|0U9u{U!!G9+?xFe0+Cwsd<0{||rgi|PF7uhaiX90YLO(fq&Z zP4>G?!k_f!|F{qOC)Tv0nUe1N?3CsgR}Z{Y7h~T(z6Q^dqg=`)mMl}C9S5`i*CRV) zxAJ_WtenvC2wi%9!TtgZrWVpZI)N`=7q0Y@mmMldVo`*!UvyMIRkehLR3qtTljicw z`8*U*8k8pthURGJ04t~tc8-T`A-G`kqRzrEGevVc06>h1EOG;!SikWnWbNR?)MTw6=4f zA?;(0xk1N(Ts})UrQXJqu(=epapC{KwS4XH9XR zO~o1&!9)djavmeE<|7&_X}iu}lD(~87gkv4#AJcpGZ$9aqJ<6tcW>Y3how`*Os5t4 zNFK>=o6k&cC4x)EO*vH1PA!PHz%AXv%%Uj})NDa(R7$m1anfF3Jm~TKTTOSLNo!9s zE_Q84y9D@wE~5N^=%*tWx3g-DMUL4nMyhmpeisVIX>!yV;0!L|9JRn(5+1X>da%Q4 zElTj>~ag#N{;I{Evxqe``^{ya;`ns8->m5(2~~m zfOMg7Z=Qlyq|-mMHJIjXu)%M0n{%cv9sERR2%!_iW(^#BhO5uQ#?J~`Qe=>R@B3j| z-M3@5F?KXEFkk`z*?&={fy=eYzZ*h>X#@Pg)B%2=3qKq`<3rxk!1>T}$t`$QAZXjp zzAhpp^uzd#>>bUF?}S8+eyfk% zb%$oZ7ZBkDGTk*$0I;##RSvVObvGA+(V+R>%aOPI-G-jaeRMJ?}X%>z2znSU+gTxSCT)wPOHboOphD z7>x|Me`Z}3{d>T4F1No_-z;6eTnwAity)a zO%)KT)HFka$h)k6la=#0z0DK^U<3wGJCxaizj&eZO_#cl>u`30$sdQ`bDXiQyg#}` zz8;3Dvvb$Ghb;#6tLbZ~OuS)6Fd#_cCgumk%je=_*#OM9uCvNvMxY_<^2Tkz8qT^} zToP#6D+^^zqFdUkb!m8+TsepPxrm|f=itEn*Znq{cfZy-NNs>0q&mP4 zT;O3Ug8mC#FZ(DAkd^z{V;mM9UGQN5A^|0OP7Y=u8#6N#`_GIwaCoermxbff5Me0kFFwS%EPAtCP#HX8eMcE8DRlu2@C zw}!JF5mYQu8&z&r=u$Of_adbUMT|ldEul~wGo*|iUo}PKHYkp*xxN?L!zR#Ra+t|{ zLfaDlpwgOi*#gMG2||fJ&(X4jV;q3Gkz$XDW~kVe&yIiX2iWz;CO9t9y0t|E*)Bg} zc9)t^Ifr~BWma}lNyVmx-l5#q0ghIFZ#hr)Z!%QD@a=N4Qmx#UL?E^u4hSaz*)J5S5v9 zni2HfDffIfW~Zf~G}txBho7LjjM>1*$Mbd*v@e8-0G@Y_8WtKKwdlkpw|DHdds>8Y zxxK8E7~)+HPD=+!z5bXSL*^FYWsxspibOknFoWM`R@*C~Z`D0)p#Mb|Nv$9vqX9C< zICBWkxx(MDT$)p{1yHviCIwbj{ixIEzbuQt&0VZ^;C9vK+j+$fqb%YDd09A*Mf)Fc z@waNOAVj1BtPqiH&-8WomRY4I`HPlWB5N~joG&pkv&GrzHY3{(dCp$|5i5e-$hGEds_ffyr1 z<~vs;pj1NvwLXOT{U|v+hnSUODOV#t#2tOZVzvSqy{~Yd&{-X7yCjF8qm8lQNA0gd zvCrkMMZV*R(6Yc24G&voZGwL-X{$l$>WCMLZ zK3oz0c%~_l55&Y(c?4s?U3$zd=BsOc;5Oy-Rqh_@9eEGT?i!$LSu!J{MLZxwh| zj|Hrk`qG=WdkhAw`oEsD6_}>%HfqP)3L{h_vd%5RYuBeM#PoS%Zlf?}MTvAv+f6t0 zBr2+kGRhA%vYH+9Vhlp%&>``i`qstNx7RltxsC+5-AZudzJlMMcirhel##}r_oF^< z)tK4+wnnM5Au^nTukhZqPO`>tp;q z6k|IZ*_+*og*;%f3Cmy6SZ)6o8iNM`{J{MIe&Db_90Nw58`3aD5+rdGRI0auMU{^i z6o7Buh4H1CQ1KGs$^G|+3zPyvZrJ2F6@Z-1hVP<3f$o-%v61&&90k8vsfZsXu z%y-#}zuP(e|LJ4@jgyo2+}%@g#_$~?z1EaYQ55eD=o*eBFFLr?r7k7W^s8XAOXbca zY#kLE!+EIFHA&LKpYFfa&wMXXcnCefiwx~_O@KN;6`+C%V`imiV#H`-W(*(( zJOw~QLDC|EgW*D;N34$G1{A#sw`d>oF&`7hrt`pI0FYz;OlG#UF|lFzX$JRMug(tl z=kA{L8)hpp-(G*qwfg%(!T3+>d%Kz}8jEUi~DRebBJe~_K=3TM*E4(G5 zbCwa}?I7?c9WI*iWQ7_WFl&rNn6(raBtR?>1OtL3^NMqla;o8CpsJgv?v1Ng5Gc|m z+6{D3FW}MWdDwlPKWbS;;F2t$&zlOM`NHrZ^Mj|aXX$8WWn*t-;HGb6|F5+I63?oC z+pY(|58MUd2lnE@b|Jt(Kt4VWmG0^TG#**3gvg`Z2f?2s{cNcQhXyNjH|Rq`#P80X zziuS@efi$Ex=-;109fx_cow$%suQNWzP?O%0X+bq@!vZ3KgHfz5cMR53B0Ns6!u9~ zZe!HTOB=C1d(Iel-FvSAOKZd^^?FNg;V)NKzbrzDX@V{P@|0A{t{G z-ngypenbmuFH~RB(sVDgyUWD+&c_2&VL@@Uk(RdX5*^)}>RiaH4_~0w!N%0F6AVsr z3>G8dy|gQ!+>c&wZI6MM==k%!xW(8tYq;QKvv(SDQIt9AiKP3;yV^sl#Q&5mfmjPV zk-D*yYiHd$fXgD@(SW(p6dSnj`o_8WDm7f2CLm8Ha*h)BN9-*E5PCG(S5wpheqw6< zMVC*M*#bPcsvutl;r;4jsJ_fuMDed z?bZes9ZE`fOU*@hcPlAKcO%`g2x&yRTT+xR0YRjtq&uV$1QeD0F2F$d-tRu=J^Os; zoF877bFB%_T#NCHXN-G{`yQW-PnpJnrNg!NN-0eYrl|9b6bn?`O@yQS!r;&`vwe&bkQF1itp?x9$hN zbPuY7JN0cg!N|S&5~k|QT`nHj(IT)1UQ5>PkC@4yb0r|l{JNjgGpf5XyqLT4G87T9 z#)=?H}l|`{|u`oN%ao@=*gNtG5#wm(M=P;0D`CpQ9E`a0mkVIuxQIWs! ze`FHszh~sX9*P&E5AR;p)wuwU3kndJosH`%E5De|dvyu?uXxD6OR=IkO@tT66kd*3 zZAea8ZL&$dk^k!L-Q2_^@L}3*F*tv+0ZGIBy@p`cAfiaX8l4Cg>9PaPAT+_Tu03T% zZzj+3z-z^h$2K$_o{g1LwCTvf8~$8yXCEFs*nUN{VU&Z5oxV$G_BKcj24+mAyH9Je z{IeZvX7>nRh)7{tQ*X(%jVBUmj=aO8DF(!o0e;nfvzvtjItlnF?aK~ZPlvpTX?GuQ zp|@yn@jV;xn{6FVfYtW!$t&XLcF8l0%Hq-8bRE!vx)*KAD2R}g3rB-tk+>ODdouw= zu1k1Pxq&&X_w&sZiZ$O9F042E3RqU;LofR%_Om4q#Vyi$3^)*=?8XcbF*Y0O4mT?G zR}|{EGqFv(H8iK+Jhb={7K{m!YB9xfDRuQ`rwR&qGhUqbh#-@k(buikxNc(o$w#+J zwcfyC)^@kD+-QT@enge0+aV`7?^4iKGYMS#<)iDcaRdz0g1O^zB7-N6M6WD6naIEBG9p)T9vH{do!jEb$fCu(AX! zYSEkZD($H!Z{88j@gJ3p!ON1GJxKzHW*Mhv@ZvR0JI?QitABF+S(g7pigmqC|5d+n zWOF)GMQUk<(?OTJqXs8clKG?j$)M zuP8HmWb9!dmAnlTJddG|HVU7pDpG|;YmN!ND@a8;T(imh1U(Zc{$nH#X3sRNQ^K1%oi_fw>NorN7N5beP?SpcNb+Y9 z$&ZOw=`!EPF-2OWp+D=mYtT^cc>W4CZN=I$P6)e4_*Q)2!M&nVJ$Zvzn<2iwoOo1< zCuU~i%=MGQVIq~LC|bwfl==Gv&(G&l1LBy6gytXD#yo@LGwIB-E`MW)`RWnjGIc-u z3p-bra`ac9;Rs%iJ##XY#&vyc@yLK^F5b^cH5!lT)d6U*B~Q#bSOw1mnHhhdrsb-&rwFYQe7YS+5X<(=KGNS=<&2F%~VG7uK_kJqmzDgTJrz+iw4 z%mwgpfG?dp>-EcjXqCT<%_@8ggg;R9pdN0O@Ack@*ARAomL(+Ezg^6#v5H@ACYGdS z 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 U=#$`r-GyiF70E995yz?o0ATxm;s5{u delta 84 zcmex-o&AKY;=i~5-ZC&SFu^f aliases = trustStore.aliases(); + log.info("Search for {}", certificate.getIssuerX500Principal()); while (aliases.hasMoreElements()) { String alias = aliases.nextElement(); + log.info("Current alias {}", alias); Certificate cert = trustStore.getCertificate(alias); if (cert instanceof X509Certificate) { X509Certificate x509Cert = (X509Certificate) cert; + log.info("Checking {}", x509Cert.getSubjectX500Principal()); if (x509Cert.getSubjectX500Principal().equals(certificate.getIssuerX500Principal())) { return x509Cert; } + } else { + log.error("Not X509Certificate alias {}", alias); } } return null; @@ -84,4 +80,13 @@ public class CerttIT { } } + @Test + public void testCert() throws Exception { + KeyStore keyStore = KeyStore.getInstance("JKS"); + keyStore.load(trustStore.getInputStream(), trustStorePassword.toCharArray()); + X509Certificate endEntityCertificate = (X509Certificate) keyStore.getCertificate("eszigno"); + X509Certificate rootCertificate = getRootCertificate(endEntityCertificate, keyStore); + assertNotNull(rootCertificate); + } + } diff --git a/sly-crm-service/src/main/java/hu/user/lis/service/nav/RestTemplateSSLConfiguration.java b/sly-crm-service/src/main/java/hu/user/lis/service/nav/RestTemplateSSLConfiguration.java index 1f3eb91..912e222 100644 --- a/sly-crm-service/src/main/java/hu/user/lis/service/nav/RestTemplateSSLConfiguration.java +++ b/sly-crm-service/src/main/java/hu/user/lis/service/nav/RestTemplateSSLConfiguration.java @@ -3,7 +3,7 @@ package hu.user.lis.service.nav; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; -import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.ssl.TrustStrategy; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,11 +12,10 @@ import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.web.client.RestTemplate; import javax.net.ssl.SSLContext; -import java.io.IOException; import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; -import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; @Configuration public class RestTemplateSSLConfiguration { @@ -28,17 +27,16 @@ public class RestTemplateSSLConfiguration { private String trustStorePassword; @Bean - public RestTemplate restTemplate() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException, - CertificateException, IOException { + public RestTemplate restTemplate() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException { - SSLContext sslContext = new SSLContextBuilder() - .loadTrustMaterial(trustStore.getURL(), trustStorePassword.toCharArray()).build(); - SSLConnectionSocketFactory sslConFactory = new SSLConnectionSocketFactory(sslContext); + TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true; + SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build(); + SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext); + CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build(); + HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); + requestFactory.setHttpClient(httpClient); - CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslConFactory).build(); - HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient); - //requestFactory.setReadTimeout(15000); return new RestTemplate(requestFactory); } diff --git a/sly-crm-service/src/main/java/hu/user/lis/service/nav/TaxOfficeConnector.java b/sly-crm-service/src/main/java/hu/user/lis/service/nav/TaxOfficeConnector.java index 32bc81a..a831228 100644 --- a/sly-crm-service/src/main/java/hu/user/lis/service/nav/TaxOfficeConnector.java +++ b/sly-crm-service/src/main/java/hu/user/lis/service/nav/TaxOfficeConnector.java @@ -1,6 +1,9 @@ package hu.user.lis.service.nav; import io.netty.channel.ChannelOption; +import io.netty.handler.ssl.SslContext; +import io.netty.handler.ssl.SslContextBuilder; +import io.netty.handler.ssl.util.InsecureTrustManagerFactory; import io.netty.handler.timeout.ReadTimeoutHandler; import io.netty.handler.timeout.WriteTimeoutHandler; import lombok.Getter; @@ -25,13 +28,20 @@ public class TaxOfficeConnector { private final WebClient client; @Autowired - public TaxOfficeConnector(WebClient.Builder webClientBuilder, @Value("${service.nav.api.url}") String apiUrl) { + public TaxOfficeConnector(WebClient.Builder webClientBuilder, @Value("${service.nav.api.url}") String apiUrl) throws Exception { + + SslContext sslContext = SslContextBuilder + .forClient() + .trustManager(InsecureTrustManagerFactory.INSTANCE) + .build(); + HttpClient httpClient = HttpClient.create() + .secure(t -> t.sslContext(sslContext)) .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000) - .responseTimeout(Duration.ofMillis(5000)) + .responseTimeout(Duration.ofMillis(15000)) .doOnConnected(conn -> conn - .addHandlerLast(new ReadTimeoutHandler(5000, TimeUnit.MILLISECONDS)) - .addHandlerLast(new WriteTimeoutHandler(5000, TimeUnit.MILLISECONDS)) + .addHandlerLast(new ReadTimeoutHandler(15000, TimeUnit.MILLISECONDS)) + .addHandlerLast(new WriteTimeoutHandler(15000, TimeUnit.MILLISECONDS)) ); client = webClientBuilder -- 2.54.0