Identity class abstract interface

This device's cryptographic identity.

Backs device pairing, sealing the group key to a new device, and signing and verifying device-roster rows so that rotation and revocation only honour entries written by roster members. One implementation per app instance; the private keys live only in the platform key store.

Properties

deviceId → String
A short, stable, unique fingerprint of publicKey — used wherever a device needs to be named (pairing UIs, revocation lists, logs).
no setter
hashCode → int
The hash code for this object.
no setterinherited
publicKey → Future<DevicePublicKey>
This device's public identity. Safe to share with peers.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

fingerprintOf(DevicePublicKey publicKey) → String
The fingerprint for an arbitrary device's publicKey, by the same rule as deviceId. Lets a device key roster rows for a peer whose private keys it does not hold.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sign(List<int> message) → Future<List<int>>
Signs message with this device's Ed25519 key. Verifiable against publicKey.signing with verify.
toString() → String
A string representation of this object.
inherited
unwrap(WrappedKey wrapped) → Future<List<int>>
Opens a WrappedKey that a peer sealed to this device with wrapFor.
verify(List<int> message, {required List<int> signature, required DevicePublicKey signer}) → Future<bool>
Whether signature is a valid signature by signer over message.
wrapFor(DevicePublicKey peer, List<int> key) → Future<WrappedKey>
Seals key so that only the device owning peer can unwrap it.

Operators

operator ==(Object other) → bool
The equality operator.
inherited