1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Per-device KEL — one KEL per physical device.
//!
//! A device KEL carries the identity of a single machine (laptop, phone,
//! CI runner). Its controller is the device's own key pair; pre-rotation
//! protects against key compromise without requiring cross-device
//! coordination. The `did:keri:` prefix is stable across rotations and
//! is what the shared identity KEL (see [`super::shared_kel`]) lists as
//! a controller.
//!
//! This module is a thin naming layer over the existing KEL-creation
//! entrypoints — device KELs are structurally ordinary KERI KELs with
//! the operational role of identifying a machine rather than the user.
use CurveType;
use Prefix;
/// Opaque handle describing a freshly-inceptioned device KEL.
///
/// `prefix` is the `did:keri:` self-addressing identifier of the device —
/// stable across rotations. `inception_event_json` is the serialized
/// `icp` suitable for pairing / replication / verification by peers.