boulder
boulder copied to clipboard
wfe: If JWS validation fails, retry without account cache
After an ACME account's key is rolled over, WFE instances that have cached the account will continue to expect its old key until the cache entry has expired (currently 5s for Let's Encrypt).
We could avoid this by retrying the account lookup once, bypassing the cache, if JWS validation fails. I believe we could:
- Add an argument to
lookupJWK(either a bool or just a wholeAccountGetter) that can instruct it to usewfe.sacinstead ofwfe.accountGetter. - Extend
wfe2.validJWSForAccount: IfvalidJWSForKeyreturnsberrors.MalformedError("JWS verification error"), retry using that new argument tolookupJWK.
See #8124