Fails to notify that Node v10.12.0 or better is needed #8
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
It seems GreenLock v3 uses "require('crypto').generateKeyPair()" which only exists starting with NodeJS v10.12.0 as documented here: https://nodejs.org/api/crypto.html#crypto_crypto_generatekeypair_type_options_callback
The code just errors when I called greenlock.renew() with no indication of the problem. I had to trace the GreenLock code to find this out. Would it be possible to add a detection and notification of this so that others don't run into the same problem? - Thanks.
A few things:
What error did you get?
Yes, it's already supposed to throw an error that says something very similar to "upgrade to node v10.12 or install ursa or node-forge for older node versions"
Did you perhaps supply a
notify
function and ignore theerror
events?Wow, your quick on the response.
I will put guards in my code to check for this, but figured I put this here to help others. Thank you for GreenLock by the way, it's almost core infrastructure. I try to support Node v6 and higher for MeshCentral, but for Let's Encrypt, I will have to bump up the requirements.
You happened to catch me at a good time.
Hmm.... I'll have to look into that.
There was some back and forth about node v6 support and ultimately I decided that continuing to support it wasn't worth it. Everything should be supported in node v8, but I've only been testing v10, v11, and v12 while I iron out a few last issues with the normal use of Greenlock v3.
I know that in v8 you have to install ursa or node-forge and you have to change
accountKeyType
toRSA-2048
due to the lack ofP-256
support.And, due to community feedback, I'm actually going to publish v4 soon. It's not actually a major change, but I'm going back to
configDir
instead ofconfigFile
, which will require a manual stepmv greenlock.json ./path/to/confdir/config.json
that I can't reasonably automate.I plan to release Greenlock Pro soonish, perhaps in January, as well.
Nice. I have no problem requiring a better version of NodeJS if Let's Encrypt is used. Plenty of people use MeshCentral without GreenLock on a Raspberry Pi and so, it will still work on v6 in that case. I dynamically install GreenLock when needed, so it's not part of the MeshCentral dependencies by default.
FYI. If you want to see what the last few weeks of MeshCentral/GreenLock looked like:
https://github.com/Ylianst/MeshCentral/issues/658
https://github.com/Ylianst/MeshCentral/issues/629
https://github.com/Ylianst/MeshCentral/issues/662
I am not sure what you would think of my implementation of GreenLock in MeshCentral. I want to avoid placing any configuration file for GreenLock and instead feeding that config at runtime. At some point, I would like to optionally store the LE certs in HashiCorp Vault.
Looking forward to your new releases.