package Ġg 0 vh k . leg co . h ans ard Ċ Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġjava . rmi . server . R MIS ocket Factory . get Socket Factory Ċ import Ġjava . security . cert . Certificate Exception Ċ import Ġjava . security . cert . X 5 0 9 Certificate Ċ import Ġjavax . net . ssl .* ĊĊ Ċ // ĠFrom Ġhttps :// gist . github . com / me far az ath / c 9 b 5 8 8 0 4 4 d 6 b ffd 2 6 aac 3 c 5 2 0 6 6 0 bf 4 0 Ċ Ċ fun Ġget Unsafe Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġtrust Ġmanager Ġthat Ġdoes Ġnot Ġvalidate Ġcertificate Ġchains ĊĠĠĠĠĠĠĠ Ġval Ġtrust All Certs Ġ= ĠarrayOf < Trust Manager >( object Ġ: ĠX 5 0 9 Trust Manager Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Accepted Iss u ers (): ĠArray < X 5 0 9 Certificate > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf < X 5 0 9 Certificate >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Throws ( Certificate Exception :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Client Trusted ( chain : ĠArray < java . security . cert . X 5 0 9 Certificate >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauth Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Throws ( Certificate Exception :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Server Trusted ( chain : ĠArray < java . security . cert . X 5 0 9 Certificate >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauth Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠInstall Ġthe Ġall - trust ing Ġtrust Ġmanager ĊĠĠĠĠĠĠĠ Ġval Ġssl Context Ġ= ĠSSL Context . getInstance (" SSL ") ĊĠĠĠĠĠĠĠ Ġssl Context . init ( null , Ġtrust All Certs , Ġjava . security . Secure Random ()) ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġan Ġssl Ġsocket Ġfactory Ġwith Ġour Ġall - trust ing Ġmanager ĊĠĠĠĠĠĠĠ Ġval Ġssl Socket Factory Ġ= Ġssl Context . get Socket Factory () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. ssl Socket Factory ( ssl Socket Factory , Ġtrust All Certs [ 0 ] Ġas ĠX 5 0 9 Trust Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. hostname Verifier ( object Ġ: ĠHost name Verifier Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġverify ( hostname : ĠString , Ġsession : ĠSSL Session ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). build () ĊĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( e ) ĊĠĠĠ Ġ} Ċ Ċ }