package Ġnet . cord a . core . identity Ċ Ċ import Ġnet . cord a . core . serialization . C ord a Serializable Ċ import Ġorg . bouncycastle . asn 1 . x 5 0 0 . X 5 0 0 Name Ċ import Ġorg . bouncycastle . cert . X 5 0 9 Certificate Holder Ċ import Ġjava . security . PublicKey Ċ import Ġjava . security . cert . Cert Path Ċ Ċ /** Ċ Ġ* ĠA Ġfull Ġparty Ġplus Ġthe ĠX . 5 0 9 Ġcertificate Ġand Ġpath Ġlinking Ġthe Ġparty Ġback Ġto Ġa Ġtrust Ġroot . ĠE quality Ġof Ċ Ġ* Ġ[ Party And Certificate ] Ġinstances Ġis Ġbased Ġon Ġthe Ġparty Ġonly , Ġas Ġcertificate Ġand Ġpath Ġare Ġdata Ġassociated Ġwith Ġthe Ġparty , Ċ Ġ* Ġnot Ġpart Ġof Ġthe Ġidentifier Ġthemselves . Ċ Ġ*/ Ċ @ C ord a Serializable Ċ data Ġclass ĠParty And Certificate ( val Ġparty : ĠParty , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcertificate : ĠX 5 0 9 Certificate Holder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcert Path : ĠCert Path ) Ġ{ ĊĠĠĠ Ġconstructor ( name : ĠX 5 0 0 Name , Ġow ning Key : ĠPublicKey , Ġcertificate : ĠX 5 0 9 Certificate Holder , Ġcert Path : ĠCert Path ) Ġ: Ġthis ( Party ( name , Ġow ning Key ), Ġcertificate , Ġcert Path ) ĊĠĠĠ Ġval Ġname : ĠX 5 0 0 Name ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġparty . name ĊĠĠĠ Ġval Ġow ning Key : ĠPublicKey ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġparty . own ing Key ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( other Ġis ĠParty And Certificate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparty Ġ== Ġother . party ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġparty . hashCode () ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġparty . toString () Ċ } Ċ