You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
✔ Provisioner: x5c (X5C)
✔ CA: https://caddy:9595
The request lacked necessary authorization to be completed. Please see the certificate authority logs for more info.
CA:
With caddy enabled:
authority.Authorize: authority.authorizeSSHSign: provisioner not found or invalid audience (https://caddy:9595/1.0/ssh/sign#x5c/x5c)
Full log:
step-ca | time="2025-05-20T12:05:10Z" level=warning duration="378.502µs" duration-ns=378502 error="authority.Authorize: authority.authorizeSSHSign: provisioner not found or invalid audience (https://caddy:9595/1.0/ssh/sign#x5c/x5c)" fields.time="2025-05-20T12:05:10Z" method=POST name=ca ott=<long-ott-value> path=/ssh/sign protocol=HTTP/2.0 referer= remote-address=172.20.0.5 request-id=f1d9909f-c0e9-4196-9b7f-f312749ea2d3 size=144 status=401 user-agent="Smallstep CLI/0.28.6 (linux/arm64)" user-id=
authority.Authorize: authority.authorizeSSHSign: provisioner not found or invalid audience (https://caddy:9595/1.0/ssh/sign#x5c/x5c)
Additional Context
No response
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:
I believe it's due to providing --ca-url "https://caddy:9595", which then ends up in the JWT that's sent to the CA in the aud claim. The CA will then check that to be one of the valid audiences based on the hostnames its configured for. What happens if you add caddy to the dnsNames in the configuration: https://smallstep.com/docs/step-ca/configuration/#example-configuration?
Yeah, I worded it a bit confusing. --ca-url is necessary at all times, but it is often read from a configuration file after bootstrapping with step ca bootstrap. It will always be used to determine which hostname to connect to, and is also used to determine the audience for the JWT.
Steps to Reproduce
Hey there!
I'm using the X5C provisioner to issue SSH host certificates. Works fine without a reverse proxy, with caddy it doesn't.
Reaching
/root/*
,/roots.pem
,/provisioners
,/version
,/ssh/*
, etc. behind caddy works fine.Here are the steps to reproduce:
$ step ca provisioner add x5c --type X5C --x5c-root $MY-CUSTOM-ROOT-CERT --admin-password-file $STEPPATH/provisioner_password
$ STEPDEBUG=1 step ssh certificate --host --x5c-cert $MY-CLIENT-CERT --x5c-key $MY-CLIENT-KEY $HOSTNAME $MY-SSH-KEY --ca-url "https://caddy:9595"
With caddy I'm getting this error message:
Client:
CA:
With caddy enabled:
Full log:
No caddy:
Caddy config:
Cheers,
stulle123
Your Environment
smallstep/step-ca:0.28.3
Docker imagestep-ca
Version -Step CA v0.28.3 (25-03-18)
step cli
VersionSmallstep CLI/0.28.6 (linux/arm64)
Expected Behavior
Response from step-ca should be:
Actual Behavior
Additional Context
No response
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: