Public Key Infrastructure
Last updated
Was this helpful?
Last updated
Was this helpful?
0c4339ef99c2
bsvalias Public Key Infrastructure
andy (nChain), Ryan X. Charles (Money Button)
1
Each paymail handle <alias>@<domain>.<tld>
MUST be issued a stable ECDSA public key that SHOULD NOT be used as part of any on-chain transaction. Clients must be able to locate the public key from information within the .well-known/bsvalias
configuration file:
The template values {alias}
and {domain.tld}
refer to the components of target paymail handle <alias>@<domain>.<tld>
and must be substituted by the client before issuing a request.
The capabilities.pki
path returns a URI template. Clients should replace the {alias}
and {domain.tld}
template parameters and then make an HTTP GET request against this URI.
Standard HTTP caching headers SHOULD be supported, and clients that have previously requested the public key SHOULD NOT re-request information within any server-advertised caching window.
Below are the responses that have meaning to this protocol. A server may return other status codes, for example 5xx
indicating some sort of server failure. Clients should treat status codes not specified as part of this specification as some sort of transient error and may retry at their leisure.
Returned when a valid request for a known paymail handle has been received. The return message MUST have a content type of application/json
. The response body MUST conform to the following schema:
The public key MUST be a valid point on the secp256k1 curve, compressed, and hex-encoded. This means that the pubkey string length MUST be 66 bytes long (33 bytes binary, each byte encoded as two hex characters):
00
02
"Odd/even" indicator, must be either 02
or 03
02
64
Elliptic curve point x-coordinate
No public key rotation has taken place since the previous request, based on caching headers supplied.
The paymail handle was not found by this service.