This upgrades Panda from v3 to v7, increasing security by allowing us to use key-rotation as introduced with guardian/pan-domain-authentication#150.
I'm very happy to do a walkthrough of the changes with the reviewer if that helps!
Changes to Panda that affected code in this project
Panda v5
https://github.com/guardian/pan-domain-authentication/pull/147 removed the old PublicKey & PrivateKey classes in our com.gu.pandomainauth package, in favour of using the existing java.security classes. To create instances of those classes, we can use the SettingsReader.{privateKeyFor, publicKeyFor} methods.
https://github.com/guardian/pan-domain-authentication/pull/150 means that code shouldn't directly reference private or public keys anymore (eg do not reference settings.signingKeyPair). Instead, use settings.signingAndVerification or publicSettings.verification. Note also that publicSettings.publicKey was previously optional, and publicSettings.verification is not.
This upgrades Panda from v3 to v7, increasing security by allowing us to use key-rotation as introduced with guardian/pan-domain-authentication#150.
I'm very happy to do a walkthrough of the changes with the reviewer if that helps!
Changes to Panda that affected code in this project
PublicKey
&PrivateKey
classes in ourcom.gu.pandomainauth
package, in favour of using the existingjava.security
classes. To create instances of those classes, we can use theSettingsReader.{privateKeyFor, publicKeyFor}
methods.CookieUtils.generateCookieData()
method now communicates errors withCookieResult
values containingCookieIntegrityFailure
, rather than exceptions.settings.signingKeyPair
). Instead, usesettings.signingAndVerification
orpublicSettings.verification
. Note also thatpublicSettings.publicKey
was previously optional, andpublicSettings.verification
is not.