Skip to content

fix: restore engine API JWT signing after jsonwebtoken 11 bump - #1545

Closed
perfogic wants to merge 1 commit into
ReamLabs:masterfrom
ream-collective:fix/jwt-crypto-provider
Closed

fix: restore engine API JWT signing after jsonwebtoken 11 bump#1545
perfogic wants to merge 1 commit into
ReamLabs:masterfrom
ream-collective:fix/jwt-crypto-provider

Conversation

@perfogic

Copy link
Copy Markdown
Collaborator

jsonwebtoken 11 requires exactly one of the rust_crypto or aws_lc_rs features; its default feature set (use_pem) includes neither, so since the 9.3.1 -> 11.0.0 bump no crypto provider has been compiled in and every engine API request panics while signing the JWT:

Could not automatically determine the process-level CryptoProvider
from jsonwebtoken crate features.

Beacon nodes talking to an execution client therefore fail authentication, receive no payloads, produce no blocks, and the devnet5 serial tests time out waiting for the head to advance past slot 0.

Prefer the pure-Rust provider: ream-consensus-beacon depends on ream-execution-engine and is built for the riscv32im zkVM targets, where a C library dependency would not build. default-features is disabled because only EncodingKey::from_secret (HS256) is used and no PEM parsing is needed.

What was wrong?

How was it fixed?

To-Do

jsonwebtoken 11 requires exactly one of the `rust_crypto` or `aws_lc_rs` features;
its default feature set (`use_pem`) includes neither, so since the 9.3.1 -> 11.0.0
bump no crypto provider has been compiled in and every engine API request panics
while signing the JWT:

    Could not automatically determine the process-level CryptoProvider
    from jsonwebtoken crate features.

Beacon nodes talking to an execution client therefore fail authentication, receive
no payloads, produce no blocks, and the devnet5 serial tests time out waiting for
the head to advance past slot 0.

Prefer the pure-Rust provider: `ream-consensus-beacon` depends on
`ream-execution-engine` and is built for the riscv32im zkVM targets, where a C
library dependency would not build. `default-features` is disabled because only
`EncodingKey::from_secret` (HS256) is used and no PEM parsing is needed.
@perfogic
perfogic requested a review from KolbyML as a code owner July 30, 2026 18:11
@perfogic perfogic closed this Jul 30, 2026
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.

1 participant