Skip to content
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

Empty response to updates to the renewal-info resource (ARI) causes error to be reported #2353

Closed
jre-lsft opened this issue Apr 13, 2023 · 0 comments
Milestone

Comments

@jre-lsft
Copy link
Contributor

I'm currently evaluating win-acme 2.2.3 (using the Let's Encrypt staging environment).
While testing the renewal process, I noticed that for each certificate renewed, an error was reported regarding the recently added ARI capability to inform the ACME server that the ACME client no longer cares about a particular certificate:

Error updating renewal info: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0.

This error is caused by passing an empty string to the JSON deserializer because win-acme's fork of ACMESharpCore expects a non-empty response for updates to the renewal-info resource:
https://github.com/win-acme/ACMESharpCore/blob/797daac409bfbe9f89aa1dfb474e27782563bda8/src/ACMESharp/Protocol/AcmeProtocolClient.cs#L476

However, Let's Encrypt responds with an empty body, which actually seems to conform to section 4.2 of draft-ietf-acme-ari-00.
win-acme's fork of ACMESharpCore should not expect the HTTP response to carry a non-empty body.
I will follow up shortly with pull request.

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

No branches or pull requests

2 participants