-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
Synology: unable to replace expired cert with --force #6212
Comments
Please upgrade to the latest code and try again first. Maybe it's already fixed. |
Thanks, but it's already up to date...
|
By the way - yes, installing the cert manually is very easy. The issue here is the script failing to do its job. |
Based on the log I believe this error occured because the API endpoint's certificate has expired, which the underlying program (probably curl?) would refuse to connect to that API hostname. I did not look at the complete code in acme.sh, but could you try to run acme.sh again with Thanks! |
+1 here. just posting for the subscribe notification. I have similar issue (except my error is == Info: subjectAltName does not match hostname) and have successfully used --insecure to get past it, although I have used up my 5 a week cert renews using -force so cannot confirm that removing --insecure will continue to work successfully going forwards. |
I do not believe the --insecure flag would be used as a long term solution. You might want to resolve the actual issue (aka |
Yes indeed, this is exactly the problem. Curl connects to the webapi to update the cert that the webapi uses to identify itself with. If it has expired the cert becomes impossible to update. Ideally, one might imagine a behavior where an expired cert used to identify the webapi endpoint is accepted by the client, as long as the only thing wrong with it is that it's expired. Not that it's revoked, for example. |
The cert expired on my Synology NAS, but I'm not sure why it didn't get updated prior to this. It might be related to a power outage. But that's a completely different problem.
Now acme.sh can't update - it correctly obtains a new cert, but when trying to install it at the tail end this fails, as it's using Syno's web api, because the existing cert has expired:
The problem is it can't install a new cert because the old one has expired. --force doesn't seem to be respected at this step, which I think seems like a bug: it really shouldn't trip over these sort of chicken-and-egg problems, in fact this seems exactly when you need to force it do something. The Synology Web Manager is configured to strict mode, so http can't be used - it'll just redirect to https.
I'm not a web dev, but I imagine the fix here is for --force to add whatever option to curl that makes it ignore the validity of the peer cert. Otherwise if there's something wrong with the installed cert, anything really, then acme.sh is pathologically incapable of fixing it.
Running the neilpang image, stock (just set to persist cert state on a share).
The text was updated successfully, but these errors were encountered: