From 41612da4bebec847612e3efcce83094205903f63 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Wed, 14 Sep 2022 00:04:49 +0200 Subject: [PATCH] ipns: mark RSA keys as 'SHOULD' (if legacy matters) https://github.com/ipfs/specs/pull/319#discussion_r967752517 --- IPNS.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/IPNS.md b/IPNS.md index 6d178e380..398335eb9 100644 --- a/IPNS.md +++ b/IPNS.md @@ -42,11 +42,17 @@ IPNS is based on [SFS](http://en.wikipedia.org/wiki/Self-certifying_File_System) ### Key Types Implementations MUST support Ed25519 with signatures defined in [RFC8032](https://www.rfc-editor.org/rfc/rfc8032#section-5.1). +Ed25519 is the current default key type. -Implementations MAY support RSA, Secp256k1 and ECDSA for private use, but peers +Implementations SHOULD support RSA if they wish to interoperate with legacy +IPNS names (RSA was used before Ed25519). + +Implementations MAY support Secp256k1 and ECDSA for private use, but peers from the public IPFS swarm and DHT may not be able to resolve IPNS records -signed by these optional key types. When implementing support for these optional key -types, follow signature implementation notes from [PeerID specs](https://github.com/libp2p/specs/blob/master/peer-ids/peer-ids.md#key-types). +signed by these optional key types. + +When implementing support for key types, follow signature implementation notes +from [PeerID specs](https://github.com/libp2p/specs/blob/master/peer-ids/peer-ids.md#key-types). In all cases, the IPNS implementation MAY allow the user to enable/disable specific key types via configuration. Note that disabling support for compulsory key type will hinder IPNS interop.