Protocol

Credentials Record

Public/private key pair to sign requests and responses.

{
  "algorithm": "ed25519",
  "target": {...},
  "target_public_key": "...",
  "public_key": "...",
  "private_key": "..."
}

A private Record­ to store a public and private key pair. This is then used to sign and authenticate requests and responses from app to server and server to server.

Properties

  • algorithm enum

    • Signing algorithm to use with these credentials.

      • ed25519: Only algorithm currently supported.
  • target RecordLink unique

  • target_public_key string

    • Base64 encoded public key of the other party.
  • public_key string

    • Base64 encoded public key.
  • private_key string

    • Base64 encoded private key.

Notes

  • The target_public_key is provided by the other party to validate the signature of incoming payloads from the other side of the communication channel.

  • A Credentials record is always private and only visible to its author.

  • The only supported signing algorithm at the moment is Ed25519­.

  • Credential records are automatically created by the server when receiving new App­ or Relationship­ records.

This is what the full content of a Credentials record might look like.

{
  "algorithm": "ed25519",
  "target": {
    "entity": "greg.baq.run",
    "record_id": "415bbbddbd0f4bfd9a577df2ac29db77"
  },
  "target_public_key": "EBHUx1XH8nBqoEVzPNBXoBAcvGwIIrd9bjQpTRKioJU=",
  "public_key": "7Tqg2T9BrCH2OJj9pH4n8FIMQjhgVtkkDtNBUQJ1G5Y=",
  "private_key": "7dVu0gzU6aYv2n8D9HI68KKvUg64288FszpBLNRDX1E="
}
© 2024 Quentez