Forking swift-nio-ssh to add the RSA support its authors left out

Adding RSA Support to swift-nio-ssh

Forking swift-nio-ssh to add the RSA support its authors left out

LogRaker needed SSH RSA keys, but swift-nio-ssh deliberately supports only modern algorithms, and its private key type offers no extension point. So the team vendored a fork: eight files, a new signature-algorithm name, and a subtle trap where the algorithm string is written in two places that must match byte for byte. The post explains the work, why rsa-sha2-512 is offered without negotiation, and the real cost of vendoring: nobody will warn you about upstream security fixes.

If they diverge, every byte you send is individually well-formed, the key is correct, the signature is a valid RSA signature, and yet the server rejects it anyway.

More from this day

2026-11-13