-
Notifications
You must be signed in to change notification settings - Fork 457
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
[Bug]: step ca sign with local challenge: "The server could not connect to validation target" #2115
Comments
Hey @cmjdiff, yes, signing a CSR should be possible using the ACME flow. The CA will always reach out to the domain/IP requested in the CSR (except for DNS challenges), because that's how the ACME protocol works. In general, there's a few things to verify in case ACME validation fails. Can the ACME client machine be pinged from the CA server? Can you check that the firewall allows connections on port 80 (and 443) to the machine running the ACME client (the |
Hi @hslatman, So in this particular case, the client was being run on the same host as the CA, so if the CA can't ping itself then that would be a much bigger problem. Thankfully, it can indeed ping itself. I eventually managed to sign the CSR using offline mode, but this is clearly less than ideal. There does not appear to be an issue with name resolution itself, as other devices on the network are able to successfully obtain certificates. Hence my initial comment about needing to determine what address it's trying to reach in order to establish why it's failing. |
On what port are you running the CA? And did the CSR contain the domain name and/or IP pointing to that same machine? I agree that the CA could do a much better job in terms of showing what goes wrong, especially when ACME is in use. There have been issues created for that before, but so far we haven't had time to prioritize those. I have some ideas for quick wins, so maybe we can make some progress on that soon. |
The CA is running on port 8443, and the subject on the CSR was the machine I needed to sign the certificate for, since it wasn't able to obtain one itself. Though if the CA was trying to reach out to that host, rather than the one where the commands were running, that means:
To be clear, I can successfully resolve and ping, as well as connect to on both 80 and 443, the intended subject from the machine running the CA. |
Steps to Reproduce
The documentation states that a CSR can be signed locally (i.e. without connecting to a remote subject) with the following:
There does not appear to be any way to produce debug info that might prove useful, such as the precise address it's trying to connect to and why it fails. Setting
STEPDEBUG=1
doesn't return anything useful beyond a stack trace on the client.The ACME provisioner is accessible from the client, and the certificate the provisioner uses is trusted. Actual domain names are redacted below - this is internal infra and the names all resolve internally.
Your Environment
step-ca
Version - 0.28-1Expected Behavior
Provided CSR signed and certificate produced
Actual Behavior
Additional Context
Config:
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
The text was updated successfully, but these errors were encountered: