identity

all pages of this blog are signed, therefore you can check if the content has been tampered with. to check first add my public key:

wget https://erik.gdn/keys/erik.asc -O /tmp/erik.asc
gpg --import /tmp/erik.asc

then simply download the page and its signature and verify, for example the iot-sec blogpost:

wget https://erik.gdn/blog/iot-sec/index.asc -O /tmp/signature.asc
wget https://erik.gdn/blog/iot-sec/index.html -O /tmp/content.html
gpg --verify /tmp/signature.asc /tmp/content.html

this will check if the page content was signed by me, hopefully resulting in:

gpg: Signature made Mon Feb  3 11:32:37 2025 CET
gpg:                using RSA key 3A19E7AE165B5E49D064A0C49F533BD51A4E27FA
gpg:                issuer "mail[at]erik.gdn"
gpg: Good signature from "erik.gdn <mail[at]erik.gdn>" [ultimate]

i just noticed that this is not the smartest idea because if my blog gets breached the actor could just change the public key on this page and adjust all signatures. the feature was fun to implement though so i will keep it for now. also by checking the signature the last change of the page is very transparent, which is also nice. I will look into WKD and other methods to improve this in the future. if you are further interested in this check out the according blogpost.

ssh

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDK9dTdHJJ7AEGuRCuEHqbr76dn1p2Dt4Qx6Nesj0HWHslUNiEorZ9sCTwvWUUr0R5Jzcyrn4eHt3X4KaHwXJ5LthM8dunT+hf8D3tfgcYMWPsYNRMWqv8RqvpRwVqCdS6IdilfabfEcI1rc6F0lF7mPs3czTWJuRkWGQHGZAKPZlIARP9yzcf2BtJRJahs2I1mC+uYSnCa7t/Ct5LbjBDS3rY8NHkbLRhE0dzzNcmMls97FbN6cB+I9dzLKA0Trw66y8rM4SABRjxmjcDzVUs8Z9KR5hk9fio+2wtSx6zFwBwvdZ15QuhmnQl7Rg1UfDhJnFIi5voL6CKFKzPBJo6HAQq7DmPLG5+1NX6erKfGuhmH7nNfTBT/qaY2kHanwpixkLxW4UUNrD9ZzLxAubBGvumqgqNy7IVzLmQgH4vy8UVnMvFNxr05X1DUNRE+LkqlTSIUjXwlCQMHHPyTFsAk64VW6dFAc5bSTxu+hGUG5sciQFH9q0R6YBGTb3pfHiCeFLHOvukO/7p+cHUbEV0nTtFKjzqXMWW5epMGILhzQHJwMNnfA7w0ncaQArhN9sResCl2Tg/Kpgrz2um6N0AfijX1jlM9Mfnn1/e2ucdDkE06uyPJ+oeC5HA0eJ9SuAnv0WfCgdWDuHUzQ4783kn2WBGEx5p7cpfxwj6cUOW56Q== mail@erik.gdn

.pub

pgp

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=tmov
-----END PGP PUBLIC KEY BLOCK-----

.asc