package Ġe hn . tech iop . h cert . kotlin . chain . fault s Ċ Ċ import Ġe hn . tech iop . h cert . kotlin . chain . Crypto Service Ċ import Ġe hn . tech iop . h cert . kotlin . chain . impl . Default Co se Service Ċ import Ġe hn . tech iop . h cert . kotlin . crypto . Co se Header Keys Ċ import Ġe hn . tech iop . h cert . kotlin . trust . Co se Creation Adapter Ċ Ċ /** Ċ Ġ* ĠPut s Ġwrong Ġheader Ġentries Ġinto Ġthe Ġprotected ĠCO SE Ġheader , Ġplus Ġan Ġadditional Ġun protected ĠK ID Ġwith Ġcorrect Ġvalue . Ċ Ġ*/ Ċ class ĠBoth Protected Wrong Co se Service ( private Ġval Ġcrypto Service : ĠCrypto Service ) Ġ: ĠDefault Co se Service ( crypto Service ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġencode ( input : ĠByteArray ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġco se Adapter Ġ= ĠC ose Creation Adapter ( input ) ĊĠĠĠĠĠĠĠ Ġcrypto Service . getC bor Headers (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . first Ġ== ĠC ose Header Keys . K ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġco se Adapter . add Un protected Attribute ( it . first , Ġit . second ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġco se Adapter . add Protected Attribute ( it . first , Ġ" foo ". encode To ByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġco se Adapter . add Protected Attribute ( it . first , Ġit . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġco se Adapter . sign ( crypto Service . getC bor Signing Key ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġco se Adapter . encode () ĊĠĠĠ Ġ} Ċ Ċ }