Open Bug 1740519 Opened 3 years ago Updated 2 years ago

Retry signature verification by refetching metadata before retrying from scratch

Categories

(Firefox :: Remote Settings Client, defect, P2)

defect

Tracking

()

People

(Reporter: leplatrem, Assigned: leplatrem)

References

Details

Attachments

(1 file)

While working on Bug 1725660 we realized that we would like to have an intermediary step that retries signature verification by refetching metadata, before retrying from scratch.

No longer depends on: 1712108
Attachment #9274256 - Attachment description: WIP: Bug 1740519 - Retry signature verification with latest metadata → Bug 1740519 - Retry signature verification with latest metadata in get() r?robwu
See Also: → 1825349

In Bug 1825349, the client throws an invalid signature on .get({ verifySignature: true }) because the locally downloaded certificate has expired since last synchronization.

I believe that this situation should be managed transparently by the Remote Settings client: if signature is invalid on .get(), refetch the metadata and retry.

Otherwise, offer a resuable pattern/snippet for consumers of the verifySignature: true option in the docs.
Something like this would work:

try {
   records = await client.get({ verifySignature: true });
} except (e) {
   if (e instanceof RemoteSettingsClient.InvalidSignatureError) {
      await client.sync();
      records = await client.get();
   }
}
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: