package Ġspring test kotlin . demo . util Ċ Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . lang . Exception Ċ import Ġjava . security . Secure Random Ċ import Ġjava . security . cert . X 5 0 9 Certificate Ċ import Ġjavax . net . ssl . Hostname Verifier Ċ import Ġjavax . net . ssl . Https URLConnection Ċ import Ġjavax . net . ssl . SSL Context Ċ import Ġjavax . net . ssl . Trust Manager Ċ import Ġjavax . net . ssl . X 5 0 9 Trust Manager Ċ Ċ fun Ġcreate Socket Factory ( protocols : ĠList < String >) Ġ= ĊĠĠĠĠĠĠĠ ĠSSL Context . getInstance ( protocols [ 0 ]). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ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 > Ġ= ĠarrayOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Client Trusted ( certs : ĠArray < X 5 0 9 Certificate >, Ġauth Type : ĠString ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck Server Trusted ( certs : ĠArray < X 5 0 9 Certificate >, Ġauth Type : ĠString ) Ġ= ĠUnit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit ( null , Ġtrust All Certs , ĠSecure Random ()) ĊĠĠĠĠĠĠĠ Ġ}. socket Factory Ċ Ċ fun Ġurl Connect ( connect Url : ĠHttp s URLConnection ): ĠString Ġ{ ĊĠĠĠ Ġval Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġconnect Url . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġssl Socket Factory Ġ= Ġcreate Socket Factory ( listOf (" TLS v 1 . 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhostname Verifier Ġ= ĠHost name Verifier Ġ{ Ġ_, Ġ_ Ġ-> Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Timeout Ġ= Ġ 5 _ 0 0 0 ĊĠĠĠĠĠĠĠ Ġ}. inputStream . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . copy To ( ba os ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġba os . toString () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠException (" Exception Ġwhile Ġpush Ġthe Ġnotification Ġ Ġ$ e . message ") ĊĠĠĠ Ġ} Ċ }