Skip to content

feat: add ES512 algorithm support using P-521 elliptic curve#478

Open
arsenin-kitsoft wants to merge 1 commit intoKeats:masterfrom
arsenin-kitsoft:master
Open

feat: add ES512 algorithm support using P-521 elliptic curve#478
arsenin-kitsoft wants to merge 1 commit intoKeats:masterfrom
arsenin-kitsoft:master

Conversation

@arsenin-kitsoft
Copy link
Copy Markdown

Suggested changes for !250

@arsenin-kitsoft arsenin-kitsoft changed the title feat: add ES512 algorithm support using P-521 elliptic curve WIP: feat: add ES512 algorithm support using P-521 elliptic curve Jan 12, 2026
@arsenin-kitsoft arsenin-kitsoft changed the title WIP: feat: add ES512 algorithm support using P-521 elliptic curve feat: add ES512 algorithm support using P-521 elliptic curve Jan 12, 2026
@Keats
Copy link
Copy Markdown
Owner

Keats commented Feb 16, 2026

I didn't see that PR. Can you rebase?

@arsenin-kitsoft
Copy link
Copy Markdown
Author

Couldn't rebase, but reapplied changes manually instead. Passes tests with green.

@arsenin-kitsoft
Copy link
Copy Markdown
Author

arsenin-kitsoft commented Mar 16, 2026

@Keats can you please take another look at this PR?

@Keats
Copy link
Copy Markdown
Owner

Keats commented Mar 17, 2026

Ci is failing

@ars9
Copy link
Copy Markdown

ars9 commented Mar 24, 2026

@Keats Fixed CI issues that I could replicate locally. Please verify.

Comment thread src/crypto/rust_crypto/ecdsa.rs
Comment thread Cargo.toml
p384 = { version = "0.13.0", optional = true, features = ["ecdsa"] }
p256 = { version = "0.13.2", optional = true, features = ["ecdsa", "pkcs8"] }
p384 = { version = "0.13.0", optional = true, features = ["ecdsa", "pkcs8"] }
p521 = { version = "0.13.0", optional = true, features = ["ecdsa", "pkcs8"] }
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a 0.14-rc8 published recently on crates.io, 0.13 is 2 years old. I think the new version might make the rust-crypto code easier?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.14 is in heavy development for the last half year, based on rc history. Are you sure you want an rc dep in your crate?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p256 and p384 are the same story. I've tried to update them all to latest rc and tests were not failing, but I don't think this should be in scope for this particular PR.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Keats plz confirm if you want to update all p* crates (same maintainer) to rc version or we could skip it for now.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the main question was whether the 0.14 would remove some of the custom code needed in this PR. I haven't really followed when it would release, we shouldn't depend on a rc though

@arsenin-kitsoft
Copy link
Copy Markdown
Author

@Keats tests are failing on rustc 1.86.0, which is quite old. I've ran them on locally on v1.93.1 and they're green. Should we update the CI?

@arsenin-kitsoft
Copy link
Copy Markdown
Author

Just checked - they're also green at 1.88.0

@Keats
Copy link
Copy Markdown
Owner

Keats commented Apr 8, 2026

let's go with 1.88

@arsenin-kitsoft
Copy link
Copy Markdown
Author

@Keats bumped pinned version 1.86.0 -> 1.88.0, let's proceed with the CI.

@arckoor
Copy link
Copy Markdown
Collaborator

arckoor commented Apr 11, 2026

@arsenin-kitsoft the root cause of CI previously failing was that simple_asn1 pinned their dependency of time to a more recent version, which means it is currently impossible to build this library with rust 1.85. Either there is a way to address this with the simple_asn1 people, or we have to bump MSRV, in which case I will do that in a separate PR.

I'll need a bit of time to fully familiarize myself with the rest of the code base, but after that I'll hopefully find some time to review this and other PRs. In the meantime could you rebase such that you a) drop the commit updating ci and b) don't have merge commits in your history? I think these could also all be squashed, especially the fixes, but you can leave that for later as well

@arsenin-kitsoft
Copy link
Copy Markdown
Author

@arckoor removed the commit bumping rustc version pin; got rid of the merge commit; squashed

Note that the pinned rustc is currently 1.86.0, not 1.85.0 (see https://github.com/Keats/jsonwebtoken/blob/master/.github/workflows/ci.yml#L44).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants