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