signRootLink static method

Future<Map<String, Object?>> signRootLink(
  1. Map<String, Object?> payload, {
  2. required Uint8List rootPrivate,
  3. required String rootKid,
})

A root link over payload, signed with rootPrivate, the root key rootKid names.

Implementation

static Future<Map<String, Object?>> signRootLink(
  Map<String, Object?> payload, {
  required Uint8List rootPrivate,
  required String rootKid,
}) async {
  final signature = await MlDsa65PureDartAlgo()
      .signBytes(rootLinkSignableBytes(payload), secretKey: rootPrivate);
  return {
    'v': linkVersion,
    'alg': rootLinkAlgo,
    rootLinkKidField: rootKid,
    'payload': payload,
    'signature': base64Encode(signature),
  };
}