publishPublicSigningKey method

Future publishPublicSigningKey({
  1. String? value,
})
inherited

Publishes this client's signing keys at publicSigningKeyUri, if what is there is not already what it holds.

This is the only writer for an _apsk that no enroll:request can carry. A client whose keyfile names no enrollment publishes under primary — the name the atServer answers a bare pkam: with — and has no id of its own to send an enroll:update for, so it writes the record directly.

value overrides what is published, for the one caller that advertises a key as retired while the keyfile still holds it active: publicSigningKeyValue is composed from what the keyfile holds, and a minter withdraws a key from the advertisement before it files the withdrawal.

Serialised against every other _apsk write this process makes for this client — see serialiseApskWrite. The composition happens inside the lock, so it cannot read a keyfile a mint has not finished writing and publish the fallback computed from it.

Implementation

Future publishPublicSigningKey({String? value}) => serialiseApskWrite(
    atClient, () => publishPublicSigningKeyLocked(value: value));