As per spec, Ephemeral keys are tied to 3PID invites, allowing for clients to prove that they are the target of the invite themselves. They are used in Riot when accepting room invites.
They were not implemented until now because:
The process and rationale is not documented and makes little sense given the existence of 3PID sessions
They are used with Homeserver where registration is enabled, which is not a use case that mxisd works toward
They are only used in Riot
Riot does support ed25519 crypto, making the sign endpoint usage pretty unclear.
Now that we have reached all the other goals of mxisd, fully implementing the Identity Service API would be the last achievement for mxisd v1.x.
This issue covers the following tasks:
[X] Implement ephemeral key concept in interfaces (193fa15c)
As per spec, Ephemeral keys are tied to 3PID invites, allowing for clients to prove that they are the target of the invite themselves. They are used in Riot when accepting room invites.
They were not implemented until now because:
Now that we have reached all the other goals of mxisd, fully implementing the Identity Service API would be the last achievement for mxisd v1.x.
This issue covers the following tasks:
/pubkey/ephemeral/isvalid
endpoint to the implementation (e486207a)/store-invite
(e769e83a)/sign-ed25519
(e769e83a)