logoalt Hacker News

cyberaxyesterday at 11:06 PM2 repliesview on HN

X.509 is a deep legacy, but at least at this point it's well tested.

> because that's the only thing Java speaks

No, it most definitely is not. You can just construct a private key directly in BouncyCastle: https://downloads.bouncycastle.org/java/docs/bcprov-jdk18on-...

I'm 100% certain that you also can do that with raw java.security. I did that about 15 years ago with raw RSA/EC keys. You can just directly specify the private exponent for RSA (as a bigint!) or the curve point for EC.

Ditto for ed25519, you can just take the canonical implementation from DJB. And you really really shouldn't do that anyway, please just use OpenSSL or another similar major crypto library.


Replies

Muromecyesterday at 11:21 PM

I wouldn't recommend touching openssl (the library, command line tools are okay-ish) with anything that breaths life.

mschuster91yesterday at 11:21 PM

> I'm 100% certain that you also can do that with raw java.security.

I tried that, the problem is Meshcore specific - they do their own weird shit with private and public keys [1]. Haven't figured out how to do the private key import either, because in the C source code (or in python re-implementations) Meshcore just calls directly into the raw ed25519 library to do their custom math... it's a mess.

[1] https://jacksbrain.com/2026/01/a-hitchhiker-s-guide-to-meshc...

show 1 reply