Skip to content

fix bad nonce #105

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

Closed
wants to merge 1 commit into from
Closed

Conversation

christianhoelzl
Copy link
Contributor

@christianhoelzl christianhoelzl commented May 14, 2025

Any ACME CA that generate bad nonce responses often (e.g. Pebble CA 5% of all requests) can lead to unexpected errors in the public API ("urn:ietf:params:acme:error:badNonce" Api errors). The current value of retries in Client::post gives this Api error every 0.25% in every call to Client::post as part of Pebble testing.

This pull request increases the number of retries in Client::post from 3 to 10.

  • In case 10 retries are reached, this indicates a bad ACME CA.
  • To prevent an infinite loop an error is returned after 10 retries.
  • There is no different behaviour for well behaved ACME CA with lower bad nonce probability
  • The Pebble test is stable

@djc
Copy link
Owner

djc commented Jun 22, 2025

Sorry for the long delay in reviewing...

I don't think this is the right direction. This change affects both production and testing use, and I don't think this is a good change for production uses. Also, we should not change the value and the structure in the same commit.

@christianhoelzl
Copy link
Contributor Author

Ok, fine, I'll close this pr. Pebble can also be tweaked with an env (PEBBLE_WFE_NONCEREJECT) to have less bad nonce responses while testing.

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.

2 participants