/** Ċ * ĠCopyright ĠS or am its u ĠCo ., ĠLtd . ĠAll ĠRights ĠReserved . Ċ * ĠSPDX - License - Identifier : ĠGPL - 3 . 0 Ċ */ Ċ Ċ package Ġjp . co . sor am its u . common . util Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ // Ġimport Ġjp . co . sor am its u . sor a . sdk . did . model . dto . D DO Ċ // Ġimport Ġjp . co . sor am its u . sor a . sdk . did . model . dto . DID Ċ // Ġimport Ġjp . co . sor am its u . sor a . sdk . did . model . dto . authentication . Ed 2 5 5 1 9 Sha 3 Authentication Ċ // Ġimport Ġjp . co . sor am its u . sor a . sdk . did . model . dto . public key . Ed 2 5 5 1 9 Sha 3 Verification Key Ċ Ċ class ĠDid Provider ( ĊĠĠĠ Ġprivate Ġval ĠobjectMapper : ĠObjectMapper ? Ċ ) Ġ{ Ċ Ċ // ĠĠĠ Ġfun Ġgenerate DID ( identifier : ĠString ): ĠD ID Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠD ID . builder () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. method (" sor a ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. identifier ( identifier ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun Ġgenerate D DO ( owner : ĠD ID , ĠpublicKey : ĠByteArray ): ĠD DO Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠSingle . from Callable Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠD DO . builder () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. id ( owner ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. authentication ( Ed 2 5 5 1 9 Sha 3 Authentication ( owner . with Fragment (" keys - 1 "))) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. created ( Date ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. publicKey ( Ed 2 5 5 1 9 Sha 3 Verification Key ( owner . with Fragment (" keys - 1 "), Ġowner , ĠpublicKey )) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġfun Ġd do ToJson ( dd o : ĠD DO ): ĠString Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠobjectMapper . writeValue AsString ( dd o ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJson Processing Exception ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ"" Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun Ġjson To D do ( json D do : ĠString ): ĠD DO ? Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠobjectMapper . readValue ( json D do , ĠD DO :: class . java ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ } Ċ