"changing" a cert is a bit of a humanism - "let me renew my cert".
Certs can't be changed in any way.
Any change requires a whole new cert.
But, yes, you can "change" the way you get your certs from HTTP to DNS.
But I don't see how you can change it "mid-flight".
You may need to start a new request.
You can modify the renewal parameters directly (not recommended).
Or you can adjust the command run with the required DNS type and such.
Once a cert has been obtained, the renewal method is saved/updated for the next renewal.
Hopefully that answers your question.
If not, feel free to just ask.
[most of what is written is for ALL readers benefit - not directed solely at you]
READERS: Get involved. Be heard. Do your part with: If you read something you like, then like it
Sorry, maybe I should have been more clear. If I obtained a cert using HTTP-01 validation. Can I renew it using DNS-01 validation? This is the "change" I'm talking about here.
The second link above should show a DNS-01 challenge, right? It's only showing an HTTP-01 challenge type.
Ya, in the code, this is how it's done: _acmeCertificate.IsDnsChallengeType() ? auth.Dns() : auth.Http()
It works great when things stay in their originally requested challenges. It's when it moves from one to another. Thanks for confirming. Just wanted to make sure it wasn't some strange restriction within ACME (I didn't think it would have been, just trying to rule it out to be 100% sure).