wiktor-k

Joined 7 years ago

Karma
184
Submissions
84
Member since
May 13
I work on cryptographic software and integration with hardware security modules (TPMs, PKCS#11...)

aspe:metacode.biz:CK7LM6VO32K2AGIDXC7LYFRBSA

https://github.com/wiktor-k

View on Hacker News

Recent submissions

Comment · 1 year ago
> ² With S/MIME you need to keep your old certificates around to decrypt old mails, so having a new one frequently is not practical

You don't need to change your decryption key - the new certificate can use the same decryption keys as the old one (certbot even has a flag: --reuse-key). Whether this is a good idea or not is a separate question.

I think the biggest benefit would be ACME-like automatic certificate issuance. Currently getting a new certificate is just too much friction.

Comment · 1 year ago
Comment · 1 year ago
> Is adding them manually to the commit message functionally equivalent to using the `--trailer` flag?

Yes. The flag is perfect for scripts but it's exactly equivalent to adding the text manually.

Comment · 1 year ago
> I always felt unwrap is preferable for diagnosing issues, which makes it useful in tests. A failed unwrap will point you directly to the line of code which panics, which is much simpler than trying to trace an issue through many layers of Results.

Take a closer look at testresult since it also points directly at the exact line of failure (due to panics being used under hood) but looks nicer.

Comment · 1 year ago
> I have no idea how the 'parser'[1] works

I think parsing there depends on the actual value of the current token. So if you assign send to another variable and use that the "parser" will still recognize that it takes 2 parameters.

It's an interesting design, definitely not something one sees frequently.

Comment · 1 year ago
Comment · 1 year ago
Key IDs are based on fingerprints and fingerprints are calculated by SHA-1 hashing the primary key's public key and the creation timestamp. A computationally easy way to influence the fingerprint is to tweak the creation timestamp which is a 32 bit Unix epoch value. Of course it needs to be in the past so the range is limited but it's faster to do it this way instead of recomputing the cryptographic key.
Comment · 1 year ago
Comment · 1 year ago
> In my opinion, the whole concept that a company can break the law but no human can be held responsible is insane.

Wait, isn't the board personally liable for their decisions? I'm not a lawyer, obviously.

Comment · 1 year ago
> Eventually I couldn't justify buying the console version of a game that I was willing to play on Steam.

I do that too but doesn't the same rule apply to Steam, too? (that is if it goes down, you can't download the games anymore?).

Comment · 1 year ago
Comment · 1 year ago
Oh yeah, SSH signing is incredible. I've also migrated to it and didn't look back.

A couple of differences:

- it's possible to specify signing keys in a file inside the repository, and configure git to verify on merge (https://github.com/wiktor-k/ssh-signing/). I'm using that for my dot config repo to make sure I'm pulling only stuff I committed on my machines.

- SSH has TPM key support via PKCS11 or external agents, this makes it possible to easily roll out hardware backed keys

- SSH signatures have context separation, that is it's not possible to take your SSH commit signature and repurpose it (unlike OpenPGP)

- due to SSH keys being small the policy file is also small and readable, compare https://github.com/openssh/openssh-portable/blob/master/.git... with equivalent OpenPGP https://gitlab.com/sequoia-pgp/sequoia/-/blob/main/openpgp-p...

Comment · 1 year ago
Exactly. I was surprised that this one doesn't support multi capture when available.
Comment · 1 year ago
It's definitely an excellent example of complex but real typst code. Thanks for sharing!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton