win-acme / win-acme

A simple ACME client for Windows (for use with Let's Encrypt et al.)
https://www.win-acme.com/
Apache License 2.0
5.28k stars 816 forks source link

Forward slash is missing in renewal-info path #2498

Closed grindsa closed 9 months ago

grindsa commented 10 months ago

Hi,

I am developing a non-letsencrypt acme-proxy and use win-acme during regular regression-testing.

I came across an interoperability issue between my proxy and win-acme. Looking deeper into the problem I noticed that win-acme is constructing the renewal-info path by just adding the base64url-encoded certID to the renewal-info resource.

{renewalInfo url} || certid

The RFC drafts 01 and 02 however require a forward slash between url and certid.

{renewalInfo url} || '/' || certid

Although the problem is not visible when testing against LE (LE sets a forward-slash at the end of the renewal-info resource see below)


grindsa@bumper:~# curl https://acme-v02.api.letsencrypt.org/directory
{
…
  "renewalInfo": "https://acme-v02.api.letsencrypt.org/draft-ietf-acme-ari-01/renewalInfo/",
…
}
grindsa@bumper:~#

It might cause issues with othe acme-server implementations (like mine) who are following the RFC draft more strictly. Thus, it would be good to implement midterm a fix by adding a forward slash between renewalinfo url and certid if its not already part of the renewalinfo url.

Thx G.

Platform:

WouterTinus commented 10 months ago

Thanks for the feedback, will do!

idan100 commented 10 months ago

Hi, I am having the same bug. Is there an expected time to the uploading of the fix?

WouterTinus commented 9 months ago

Fixed in 2.2.7!