We use Google DNS API to create DNS records and Let's Encrypt with AcmeSharp client to automate certificate generation.
We did not change this part in our application but from 1 of May we are getting a lot of errors "JWS has invalid anti-replay nonce" on function call SubmitChallengeAnswer.
We had delay time between DNS record creation and sending certificate request of 80 seconds.
After changing this delay to 30 seconds, errors rate decreased from 60% to 7% but still it's big enough.
Setting lower delay values leads to another error:
Lets Encrypt authorization status 'invalid'. Authorization not completed. type : urn:acme:error:dns; detail : DNS problem: NXDOMAIN looking up TXT for _acme-challenge.topas.3cx.eu; status : 400
Before 1 of May we had less then 1% failed certificate requests.
Retry on SubmitChallengeAnswer did not help much.
My domain is: activation.3cx.com
I ran this command:
ACMESharp.AcmeClient.SubmitChallengeAnswer(AuthorizationState authzState, String type, Boolean useRootUrl)
It produced this output:
Error status code: BadRequest, Error detail: {
"Type": "urn:acme:error:badNonce",
"Title": null,
"Status": 400,
"Detail": "JWS has invalid anti-replay nonce 4AYTyD85MM0vHP8QfVAVmQjgh0XpVm7KdZ16vPKY_eQ",
"Instance": null,
"OrignalContent": "{\n "type": "urn:acme:error:badNonce",\n "detail": "JWS has invalid anti-replay nonce 4AYTyD85MM0vHP8QfVAVmQjgh0XpVm7KdZ16vPKY_eQ",\n "status": 400\n}"
My web server is (include version): IIS (Version 8.5.9600.16384)
The operating system my web server runs on is (include version): Windows Server 2012 R2 (Version 6.2. Build 9200)
My hosting provider, if applicable, is: OVH
I can login to a root shell on my machine (yes or no, or I don't know): no
I'm using a control panel to manage my site (no, or provide the name and version of the control panel): yes (MS IIS snap-in)
The version of my client is (e.g. output of certbot --version
or certbot-auto --version
if you're using Certbot): ACMESharp (version 0.8.1.0)