diff --git a/fep/521a/fep-521a.md b/fep/521a/fep-521a.md index 18537dd..f34bfbf 100644 --- a/fep/521a/fep-521a.md +++ b/fep/521a/fep-521a.md @@ -36,6 +36,8 @@ The `Multikey` object MAY contain the `expires` property indicating the expirati ### Key IDs +Key identifiers MUST be absolute [URIs][RFC-3986]. + Identifiers SHOULD be generated by appending a fragment identifier to the actor ID. That allows consumers to retrieve both actor object and associated keys with a single HTTP request. If actor's keys are identified using fragment identifiers, each key MUST have a unique fragment identifier. Resolution of a URI containing a fragment identifier is performed using the algorithm specified in section *3.4 Fragment Resolution* of [Controlled Identifiers][FragmentResolution] specification. @@ -46,7 +48,7 @@ Implementers can use cryptographic keys of any type for which a [Multicodec] pre ## Adding keys to an actor object -`Multikey` objects MUST be added to the actor object, which is considered a controlled identifier document, as described in [Controlled Identifiers][ControlledIdentifiers] specification. +`Multikey` objects are added to the actor object, which is considered a controlled identifier document, as described in [Controlled Identifiers][ControlledIdentifiers] specification. If the key is intended to be used for signing ActivityPub objects, it MUST be added to the [`assertionMethod`][Assertion] array in the actor object. @@ -54,6 +56,8 @@ Other use cases are out of scope of this proposal. Implementations are discouraged from adding any objects to the `assertionMethod` array that do not conform to this specification. Implementations encountering non-conformant entries in the `assertionMethod` array SHOULD ignore them. +An actor MAY have no associated public keys. + ### Example ```json @@ -95,16 +99,18 @@ See [fep-521a.feature](./fep-521a.feature) - S. Bradner, [Key words for use in RFCs to Indicate Requirement Levels][RFC-2119], 1997 - Dave Longley, Manu Sporny, Markus Sabadello, Drummond Reed, Orie Steele, Christopher Allen, [Controlled Identifiers v1.0][ControlledIdentifiers], 2025 - Protocol Labs, [Multicodec][Multicodec] +- T. Berners-Lee, R. Fielding, L. Masinter, [Uniform Resource Identifier (URI): Generic Syntax][RFC-3986], 2005 [ActivityPub]: https://www.w3.org/TR/activitypub/ [SecurityVocabulary]: https://www.w3.org/2025/credentials/vcdi/vocab/v2/vocabulary.html -[RFC-2119]: https://tools.ietf.org/html/rfc2119.html +[RFC-2119]: https://datatracker.ietf.org/doc/html/rfc2119.html [ControlledIdentifiers]: https://www.w3.org/TR/cid-1.0/ [Multikey]: https://www.w3.org/TR/cid-1.0/#Multikey [Multibase]: https://www.w3.org/TR/cid-1.0/#multibase-0 [Assertion]: https://www.w3.org/TR/cid-1.0/#assertion [FragmentResolution]: https://www.w3.org/TR/cid-1.0/#fragment-resolution [Multicodec]: https://github.com/multiformats/multicodec/ +[RFC-3986]: https://datatracker.ietf.org/doc/html/rfc3986 ## Copyright