From 20e78c828e3995371a5ed29f3f53514370b7c152 Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Fri, 24 Jan 2025 20:57:54 -0500 Subject: host docs here now --- hdb.php | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 hdb.php (limited to 'hdb.php') diff --git a/hdb.php b/hdb.php new file mode 100644 index 0000000..8849990 --- /dev/null +++ b/hdb.php @@ -0,0 +1,48 @@ + + + + + Hosts Database | Docs | Penguin's Kiss + + + +

Now that we've generated our host key and gotten our server up and running, its + time to publish its public key in a hosts database file so that it can be retrieved + by clients. The TL;DR for this section is to create a file that looks like this:

+
{"keys": {"<server ip>": {"n": <number n that python spit out>, "e": 65537}}}
+

and upload it to the web somewhere. You can then supply this URL to your clients as + your hosts database. Literally even a PasteBin will work if you use the raw file + URL.

+
+

Format

+

The hosts database is essentially just a JSON object in which the PK client will + look for specific keys to retrieve information. The basic skeleton looks like + this:

+
{"keys": {<keys section>}}
+
+
+

Keys Section

+

The keys section is just a mapping from server IPs to key objects, which in + turn are just a way of representing RSA public keys. The keys section supports + multiple server IPs, but currently only one public key per server IP. Its + skeleton looks like the following:

+
{"0.1.2.3": {<key object>}, "255.255.255.255": {<key object>}}
+

Key Objects

+

A key object is just a modulus and a public exponent, both of which are integers. + The modulus is at key n and the public exponent is at key + e. The public exponent is optional and defaults to + 65537 if not supplied. These values can be pulled directly from + /etc/pk/server_key.json, but it is important to delete the + d key and its value, as this information needs to remain secret. +

+

The format of a key object is as follows:

+
{"n": 3043289324798327498257285749857984257249857245, "e": 12345}
+
+ + -- cgit v1.2.3