From 95a41d7c5438df60cbd136658ff44ee34779030d Mon Sep 17 00:00:00 2001 From: silverpill Date: Thu, 7 Dec 2023 14:32:49 +0000 Subject: [PATCH] FEP-521a: Update proposal (#208) - Recommend to use fragments in identifiers. - Add "expires" property. Reviewed-on: https://codeberg.org/fediverse/fep/pulls/208 Co-authored-by: silverpill Co-committed-by: silverpill --- fep/521a/fep-521a.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fep/521a/fep-521a.md b/fep/521a/fep-521a.md index 85bb9a8..dfa4551 100644 --- a/fep/521a/fep-521a.md +++ b/fep/521a/fep-521a.md @@ -25,10 +25,12 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S Actor's public key MUST be represented as an object with `Multikey` type, as defined in section **2.3.1.2 Multikey** of [Data Integrity](https://www.w3.org/TR/vc-data-integrity/#multikey) specification. This object MUST have the following properties: -- `id`: the unique global identifier of the public key. +- `id`: the unique global identifier of the public key. Identifiers SHOULD be generated by appending a URL fragment to the actor ID. Different public keys of the same actor MUST be identified using different fragments. - `type`: the value of this property MUST contain the string `Multikey`. - `controller`: the value of this property MUST match actor ID. -- `publicKeyMultibase`: a [Multibase](https://www.w3.org/TR/vc-data-integrity/#multibase-0) encoded value of the key. Implementations MUST use `base-58-btc` alphabet. +- `publicKeyMultibase`: a [Multibase](https://www.w3.org/TR/vc-data-integrity/#multibase-0) encoded value of a [Multicodec](https://github.com/multiformats/multicodec/) prefix and the key. Implementations MUST use the `base-58-btc` alphabet. + +The `Multikey` object MAY contain the `expires` property indicating the expiration date of the key. Implementations MUST NOT not accept a signature created with a key that has been expired. ### Key types