Compare commits

..

4 Commits

Author SHA1 Message Date
c714ba2afe
feat(key): add base allowed_signers file for public usage
This commit adds an `allowed_signers` file for public usage which can be
used in lieu of manually adding my public keys to personal
`allowed_signers` files.
2025-06-25 02:38:34 +00:00
62b89a0242
feat(key): add SSH public keys and respective signature files 2025-06-25 02:37:57 +00:00
e0e7855a65
update: webpage "Key" from version "9.1.0" to "9.2.0" 2025-06-25 02:36:54 +00:00
aea18eb6cf
update: CSS "Main" from version "12.4.0" to "12.5.0" 2025-06-25 02:36:04 +00:00
10 changed files with 135 additions and 38 deletions

100
key.xhtml
View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<!-- Inferencium - Website - Key -->
<!-- Version: 9.1.0 -->
<!-- Version: 9.2.0 -->
<!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause -->
@ -35,6 +35,7 @@
<h2><a href="#toc">Table of Contents</a></h2>
<ul>
<li><a href="#notes">Notes</a></li>
<!--
<li><a href="#e2ee">End-to-end Encrypted Contact Methods</a></li>
<ul>
<li><a href="#xmpp">XMPP</a></li>
@ -52,20 +53,10 @@
</ul>
</ul>
</ul>
-->
<li><a href="#file_git_signing">File/Git Signing</a></li>
<ul>
<li><a href="#ssh">SSH</a></li>
<ul>
<li><a href="#ssh-current">Current</a></li>
<ul>
<li><a href="#ssh-current-2">#2</a></li>
</ul>
<li><a href="#ssh-legacy">Legacy</a></li>
<ul>
<li><a href="#ssh-legacy-1">#1</a></li>
<li><a href="#ssh-legacy-0">#0</a></li>
</ul>
</ul>
</ul>
</ul>
</nav>
@ -81,6 +72,7 @@
or other force</li>
</ul>
</section>
<!--
<section id="e2ee">
<h2><a href="#e2ee">End-to-end Encrypted Contact Methods</a></h2>
<section id="xmpp">
@ -100,32 +92,72 @@
<p><a href="xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c">xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c</a></p>
</section>
</section>
-->
<section id="file_git_signing">
<h2><a href="#file_git_signing">File/Git Signing</a></h2>
<section id="ssh">
<h3><a href="#ssh">SSH</a></h3>
<p class="update_date">Updated: 2024-04-01 (UTC+00:00)</p>
<p>SSH keys used to sign data outside of their dates listed below should be classified as
compromised. Only trust SSH keys used within their date ranges.</p>
<p>Each SSH key is signed by the previous key, allowing verification of the chain of keys,
and root of trust.</p>
<h4 id="ssh-current"><a href="#ssh-current">Current</a></h4>
<h5 id="ssh-current-2"><a href="#ssh-current-2">#2 (2024-04-01 - present)</a></h5>
<h6 id="ssh-current-2-fingerprint"><a href="#ssh-current-2-fingerprint">Fingerprint</a></h6>
<code>SHA256:K/a677+eHm7chi3X4s77BIpLTE9Vge1tsv+jUL5gI+Y</code>
<h6 id="ssh-current-2-key"><a href="#ssh-current-2-key">Key</a></h6>
<code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ7xGvfyArrAwOAzjnkPIWYmLzX4JAxjrqpzkDBMycQS</code>
<h4 id="ssh-legacy"><a href="#ssh-legacy">Legacy</a></h4>
<h5 id="ssh-legacy-1"><a href="#ssh-legacy-1">#1 (2023-07-27 - 2024-04-01)</a></h5>
<h6 id="ssh-legacy-1-fingerprint"><a href="#ssh-legacy-1-fingerprint">Fingerprint</a></h6>
<code>SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc</code>
<h6 id="ssh-legacy-1-key"><a href="#ssh-legacy-1-key">Key</a></h6>
<code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHPGnrIg7dI7GUqA+lTztJSrn+7QyRceajqs4iaU8UG</code>
<h5 id="ssh-legacy-0"><a href="#ssh-legacy-0">#0 (2023-01-01 - 2023-07-27)</a></h5>
<h6 id="ssh-legacy-0-fingerprint"><a href="#ssh-legacy-0-fingerprint">Fingerprint</a></h6>
<code>SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M</code>
<h6 id="ssh-legacy-0-key"><a href="#ssh-legacy-0-key">Key</a></h6>
<code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8</code>
<p>SSH keys used to sign data outside of their validity periods should be classified as
compromised; only trust SSH keys used within their validity periods.</p>
<p>Each SSH key is signed with the previous key, allowing verification of the
chain-of-trust. You can download my public keys and their signature files via their ID links
in the table below.</p>
<p>It is <strong>strongly</strong> recommended that you verify the entire chain, which can
be performed by adding each of my public keys to SSH's <code>allowed_signers</code> file,
then running the following command for each key:</p>
<pre>ssh-keygen -Y verify -f <var>&lt;allowed_signers file&gt;</var> -I <var>&lt;signer name/email address&gt;</var> -n file -s <var>&lt;signature file of file-to-verify&gt;</var> &lt; <var>&lt;file-to-verify&gt;</var></pre>
<p>You can use my base <a href="key/allowed_signers"><code>allowed_signers</code></a> file
in lieu of your own, or inject its contents into your own.</p>
<div style="overflow-x:auto;">
<table>
<tr>
<th>ID</th>
<th>Public Key</th>
<th>Fingerprint</th>
<th>Validity Start</th>
<th>Validity End</th>
</tr>
<tr class="ssh-valid">
<td class="ssh-valid">
<p><a href="key/inference%233.pub">#3</a></p>
<p class="small">(<a class="small" href="key/inference%233.pub.sig">Sig</a>)</p>
</td>
<td><pre class="ssh-valid">ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHSJTj7ksjVys/nBy3H6Tn+AwJlzLG9RUAtNOBPAaEtj</pre></td>
<td><pre class="ssh-valid">SHA256:/O3c09/4f1lh4zrhFs2qvQEDda6dZbTwG9xEcj8OfWo</pre></td>
<td class="ssh-valid">2025-06-23</td>
<td class="ssh-valid">Present</td>
</tr>
<tr class="ssh-invalid">
<td class="ssh-invalid">
<p><a href="key/inference%232.pub">#2</a></p>
<p class="small">(<a class="small" href="key/inference%232.pub.sig">Sig</a>)</p>
</td>
<td><pre class="ssh-invalid">ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ7xGvfyArrAwOAzjnkPIWYmLzX4JAxjrqpzkDBMycQS</pre></td>
<td><pre class="ssh-invalid">SHA256:K/a677+eHm7chi3X4s77BIpLTE9Vge1tsv+jUL5gI+Y</pre></td>
<td class="ssh-invalid">2024-04-01</td>
<td class="ssh-invalid">2025-06-23</td>
</tr>
<tr class="ssh-invalid">
<td class="ssh-invalid">
<p><a href="key/inference%231.pub">#1</a></p>
<p class="small">(<a class="small" href="key/inference%231.pub.sig">Sig</a>)</p>
</td>
<td><pre class="ssh-invalid">ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHPGnrIg7dI7GUqA+lTztJSrn+7QyRceajqs4iaU8UG</pre></td>
<td><pre class="ssh-invalid">SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc</pre></td>
<td class="ssh-invalid">2023-07-27</td>
<td class="ssh-invalid">2024-04-01</td>
</tr>
<tr class="ssh-invalid">
<td class="ssh-invalid">
<p><a href="key/inference%230.pub">#0</a></p>
</td>
<td><pre class="ssh-invalid">ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8</pre></td>
<td><pre class="ssh-invalid">SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M</pre></td>
<td class="ssh-invalid">2023-01-01</td>
<td class="ssh-invalid">2023-07-27</td>
</tr>
</table>
</div>
</section>
</section>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>

6
key/allowed_signers Normal file
View File

@ -0,0 +1,6 @@
# Inferencium
inference ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHSJTj7ksjVys/nBy3H6Tn+AwJlzLG9RUAtNOBPAaEtj
inference ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ7xGvfyArrAwOAzjnkPIWYmLzX4JAxjrqpzkDBMycQS
inference ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHPGnrIg7dI7GUqA+lTztJSrn+7QyRceajqs4iaU8UG
inference ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8

1
key/inference#0.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8

1
key/inference#1.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHPGnrIg7dI7GUqA+lTztJSrn+7QyRceajqs4iaU8UG

6
key/inference#1.pub.sig Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAg2zxQfaFWY1KDSoqKD/1lC3Tsi4
4eyitF/DV2gSAy4nwAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
OQAAAEAFGEGFPJq2htgXNzVMG+XcnTOtQEs70lYouGZeIkEncvoY5UDKqBW+ozZTaHcbtv
ZTndCEr2wDqZ0ajPDT/zEF
-----END SSH SIGNATURE-----

1
key/inference#2.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ7xGvfyArrAwOAzjnkPIWYmLzX4JAxjrqpzkDBMycQS

6
key/inference#2.pub.sig Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgsc8aesiDt0jsZSoD6VPO0lKuf7
tDJFx5qOqziJpTxQYAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
OQAAAEATxM3EmT1fsrBEvBDPlDJePP6L8ym2hfFqjmC5+ZKWAAjS6xlOmJD7CQoIwX03BO
u9PwkChIv2yzc0VqdlamcH
-----END SSH SIGNATURE-----

1
key/inference#3.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHSJTj7ksjVys/nBy3H6Tn+AwJlzLG9RUAtNOBPAaEtj

6
key/inference#3.pub.sig Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgnvEa9/ICusDA4DOOeQ8hZiYvNf
gkDGOuqnOQMEzJxBIAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
OQAAAEDmXJLvtJUZh9YP3TUaf6TfffVT54QkIRQYX7nZctOlfU+7PyDhmn0RcbgSM8zZNL
avzA6NyWDT9Vf+vNsbexwE
-----END SSH SIGNATURE-----

View File

@ -1,5 +1,5 @@
/* Inferencium - Website - CSS - Main */
/* Version: 12.4.0 */
/* Version: 12.5.0 */
/* Copyright 2022 Jake Winters */
/* SPDX-License-Identifier: BSD-3-Clause */
@ -8,6 +8,10 @@
/* Display Size - Large
Colour Scheme - Dark */
/* Body */
html, body {
overflow-x: hidden;
}
body {
padding-top: 40px;
margin-left: min(400px, 45vw);
@ -65,6 +69,10 @@ p {
font-size: 16px;
}
p.small {
font-size: 12px;
}
p.announce-imp, p.announce-imp a {
margin-top: 30%;
margin-bottom: 30%;
@ -91,6 +99,18 @@ pre {
overflow-x: auto;
}
pre.ssh-invalid {
background-color: #e50000;
}
pre.ssh-valid {
background-color: #00a70a;
color: #000000;
}
var {
color: #b8b8b8;
}
/* Links */
a {
@ -99,6 +119,10 @@ a {
text-decoration: none;
}
a.small {
font-size: 12px;
}
a:visited {
color: #ce93d8;
}
@ -130,6 +154,14 @@ table, th, td {
font-size: 16px;
}
tr.ssh-invalid {
background-color: #e50000;
}
tr.ssh-valid {
background-color: #00a70a;
}
th {
font-size: 16px;
font-weight: bold;
@ -149,11 +181,12 @@ td.desc-small {
text-align: left;
}
td.green {
background-color: #00a70a
td.ssh-valid, td.green {
background-color: #00a70a;
color: #000000;
}
td.red {
td.ssh-invalid, td.red {
background-color: #e50000;
}
@ -341,6 +374,10 @@ div.sitemap-small {
background-color: #e0e2ec;
}
var {
color: #696969;
}
table, th, td {
border-color: #000000;
}