-
Notifications
You must be signed in to change notification settings - Fork 605
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
Add support for ECDSA certificates #26
Comments
This is not good. Do you have a way to generate such a certificate or have a sample certificate your can mail me? I imagine only the public portion on the certificate is provided to MeshCentral? - Thanks. |
@Ylianst I can confirm that an error message appears when you replace the default webserver certificate with an ECDSA certificate. This is the error message in question from mesherrors.txt:
Here is the public portion of an ECDSA certificate that you can use for testing purposes:
|
I think I've discovered the cause of this issue. MeshCentral is using the node version of forge for its native TLS implementation in Javascript. According to this, this and this issue on their GitHub project page, forge doesn't support ECDSA certificates yet. Unless there is a viable alternative to forge, there's probably nothing @Ylianst can do to solve this issue other than to wait for them to implement support for it. Edit: I think crypto-browserify might be a suitable alternative to forge that supports ECDSA. |
I may still be able to fix this because I don't need to do any certificate operations on this TLS cert, I just need to make sure the server and agents both see the same cert by having the same hash. So, if I work on this a bit I could hash the ECDSA cert on both sides correctly and not need ForgeJS at all. Thanks for the ECDSA cert, I can give it a try. |
@Ylianst Awesome, I'm glad to hear that. Good luck with implementing this feature! |
@Ylianst I noticed that non-RSA cert hashes are being calculated after a recent commit, but it doesn't seem to be fully supported yet. The hashes that MeshCentral and MeshAgent calculate are different from each other. Is it supposed to be working right now? |
I got the server ready, but the agent is not. So ECDSA will not work yet. Hope to start testing with a ECDSA cert this week. |
@Ylianst You are on a roll lately. I love your passion for this project! |
Just published MeshCentral v0.2.4-a with ECDSA support for certificates in the reverse-proxy. Only the MacOS agent does not support it in this version (next time MacOS is compiled on our side, the support for ECDSA will be there). To be clear, MeshCentral will only generate and handle RSA certificates on it's own, however, if a reverse-proxy like NGNIX is in front of MeshCentral and it has a ECDSA certificates, MeshCentral and the MeshAgents will handle it correctly. Testing and feedback appreciated. |
@Ylianst I tested it and can confirm that MeshCentral works with ECDSA certificates now. I think you can close this issue. |
I use lego to generate the TLS cert, the default But I think that's not a big deal, just incase someone has the same problem. https://go-acme.github.io/lego/usage/cli/options/ |
MeshCentral currently throws an exception and says that it only supports RSA when you replace the automatically generated certificate with an ECDSA certificate (e.g. when using MeshCentral in TLS Offloading mode).
The text was updated successfully, but these errors were encountered: