NamespaceKeyUnavailableException class
atSign has no published nskey for namespace, so nothing can be sealed to it under the post-quantum path.
Distinct from every other encryption failure because it is not one: nothing went wrong, this client found no nskey published for the namespace. An app that catches this can tell its user "@bob hasn't enabled this yet" instead of surfacing an encryption error for a situation neither side has done anything wrong in.
⚠️ It means "not found now", not "never published" — it is raised only after a probe that found nothing, never on the strength of a remembered miss. CryptoRuntime.isReadyFor asks the same question ahead of composing anything, and is as current as this is.
There is no post-quantum fallback to offer: the only atSign-level key is a
signing root, which cannot receive an encapsulation. Below
PqPosture.pqActive, AtClientPreference.allowLegacyCryptoFallback sends
such a write by the legacy path instead; at pqActive nothing does, since
a silent downgrade to RSA is what that posture refuses.
When this client's own start-up has yet to publish the key, a write waits for it first, at most 30 seconds; this then says so, and a later write succeeds once the key is published.
- Inheritance
-
- Object
- AtException
- AtClientException
- AtEncryptionException
- NamespaceKeyUnavailableException
Constructors
-
because, when given, says why in place of the usual explanation.
Properties
- atSign → String
-
The atSign whose namespace key is missing — the recipient for a share, or
the writer for self data.
final
- exceptionScenario ↔ ExceptionScenario?
-
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- intent ↔ Intent?
-
getter/setter pairinherited
- message ↔ String
-
Represents error message that details the cause of the exception
getter/setter pairinherited
- namespace → String
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
fromException(
AtException atException) → AtException -
inherited
-
getTraceMessage(
) → String -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
stack(
AtChainedException atChainedException) → void -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited