Upgrade to Panda v7 - support key rotation #247
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
java.security
classes in preference to string-wrappers pan-domain-authentication#147 removed the oldPublicKey
&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.