-
Notifications
You must be signed in to change notification settings - Fork 30.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenSSL crypto lacks standard ed25519 crypto support for ssh, etc #2144
Comments
I think you may be mistaking openssh with openssl? Crypto in io.js (and node.js) is provided by openssl, not openssh, and openssl doesn't support ed25519. You can get the list of supported curves with |
well, the problem manifests in a failure to make an SFTP connection with a node.js-based packaed, using an openSSH ed25519 key. I was told by one of the node.js/io.js committers: "ssh2 currently does not support ed25519 keys because node.js/io.js currently only supports RSA and DSA keys for the purposes of its crypto API (especially signing and verifying)." I don't know yet where any 'fault' lies. I only know so far that a node.js-based package can't connect using current Openssh keys, and that I was told it's a crypto problem. Happy to learn what/where the fix is ... If node.js/io.js is limited to only openssl's Curve25519, it may be possible to add ed25519 support by internal conversion of users' "standard" openssh keys to node's "internal" form using an openfork of NaCL Ed25519 to Curve25519 keys conversion fwiw, given M$'s recent investment in / commitment to Openssh as its SSH-tech |
Maybe the ssh package works for you? It's either that or wait until openssl grows ed25519 support. That probably won't be anytime soon, it's a pretty conservative project. |
fyi, there's also available now, Implementations of a fast Elliptic-curve Digital Signature Algorithm Wherein it states "No configuration is needed if you are compiling against OpenSSL." Ignoring the facts that (1) Openssh is widely used, (2) ed25519 crypto is widely used (http://ianix.com/pub/ed25519-deployment.html), and (3) Openssl is (as you point out) quite conservative leaves end-users in a bit of a bind. Might be worth some additional consideration in node/io WILL take a look at the 'ssh' lib ... |
It looks like the work's already been done in large part here, An Ed25519 implementation for node.js and more notably, here Port of the lib sodium encryption library to Node.js |
Still not able to use ed25519 keys with ssh-2 library today |
I'm currently running
I've built/usr 'atom' editor, v1.0.0
I've installed an SFTP connector pacakge in 'atom' editor (https://github.com/mgrenier/remote-ftp).
It fails to connect when using an off-the-shelf, OpenSSH-generated ed25519 key for for authentication,
Per the stack trace, that error originates with the used 'ssh2' (https://github.com/mscdex/ssh2) lib,
which, in turn,
As per the current OpenSSH 6.9p1 ChangeLog, ed25519 support has been fully supported for quite awhile, and is in fact being used as default crypto in some cases,
ed25519 (http://ed25519.cr.yp.to/) is both fully supported & keys are widely used in openssh deployments.
Without like support in node.js/io.js, downstram pacakges/apps based on its crypto will not be able to connect to these now standard deployments using ed25519 keys.
The text was updated successfully, but these errors were encountered: