-
Notifications
You must be signed in to change notification settings - Fork 786
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
ECC support in Forge #532
Comments
I need this also...is there a plan for this feature? |
There's no tentative date for support yet. There is a lot of desire for the feature, just not a lot of time/resources available to implement at the moment. A PR that implements directly or integrates support with another appropriately licensed lib in a way that is modular and consistent with the rest of the forge APIs is welcome. |
Ed25519 (EdDSA) support landed in 470793c and was released in 0.7.4. It's unclear if or when any other ECC support (e.g. ECDSA) will be added. This issue will likely be closed unless someone indicates that ECDSA is desirable -- at which point we can keep this open until a PR emerges :). |
I am still waiting for ECDSA support and some other ECC NIST curves like P-256 |
We have a tool that uses node-forge to get subject information from CSRs and certificates, will a PR that will allow node-forge to parse x509 with unsupported keys (while leaving the key information blank) be accepted? |
Data point: The default certificates generated by https://github.com/cloudflare/cfssl -- which is used by popular LetsEncrypt -- are ECDSA.
|
@kohend If you would like to add partial support as needed for your use case, that would be great. As long as it's not breaking other code, I imagine it could be merged in. Aim for more complete future support and just leave stubs to fill in later. We're a bit thin on resources to work on such things now so would appreciate the help. Looks like that cfssl tool could help create some test data. |
Here is an all-JS implementation of ECDSA secp256k1 as used in bitcoin and other blockchain software: https://github.com/bitpay/bitcore-lib/tree/master/lib/crypto Tested in the field for years. MIT-licensed. ETA: Actually, bitcore-lib depends on https://www.npmjs.com/package/elliptic |
@davidlehn @dlongley @jgarzik I'm going to take a whack at it using elliptic. Question: Under what category should I put the OID for prime256v1? |
Ok, so I've been going through the code here, and I'm seeing that, as advertised, forge is really hard-coded for RSA. For example, the method on forge.pki to convert a public key to Asn.1 syntax is declared in the rsa.js module. To do this correctly will take a lot of doing. I'm going to try to get a hacked up version going to prove the concept, but I'm definitely going to need some coordination / eyes on for the final product. |
Thanks for volunteering to work on this stuff!
Yeah, the fact that forge needs an organizational and API update can be a drag on getting new features like this in. It involves shaving more yaks than would otherwise be necessary.
Sorted appropriately under algorithm OIDS is fine. Thanks! |
@sureshreddygovindu I'm working on something but publishing it separately for my own project, should be available soon. I will try to integrate it here once it is done. |
Any news regarding ECDSA? It seems that ECDSA is becoming a standard in many services. Thank you very much for all the work, the project is incredible. |
I did it: |
This is our project, apologies for not posting it back here. We will probably switch to using Forge again if your pulls are accepted, as the OpenSSL wasm port we did hasn’t really been tested. |
I have gone through the roadMap #203 and it seems ECC crypto #116 is still not supported. is their any tentative date for its support ?
Regards,
San
The text was updated successfully, but these errors were encountered: