My domain is:
I am using:
- acme-client by Kristapsdz
I ran this command:
sh /etc/periodic/weekly/acme_client -vv
It produced this output (:
acme-client: /etc/acme/manual.uzoagu.com/privkey.pem: account key exists (not creating)
acme-client: /etc/ssl/acme/private/manual.uzoagu.com/privkey.pem: domain key exists (not creating)
acme-client: https://acme-staging.api.letsencrypt.org/directory: directories
acme-client: acme-staging.api.letsencrypt.org: DNS: 104.107.50.145
acme-client: acme-staging.api.letsencrypt.org: DNS: 2600:1400:d:18a::3a8e
acme-client: acme-staging.api.letsencrypt.org: DNS: 2600:1400:d:18b::3a8e
acme-client: https://acme-staging.api.letsencrypt.org/acme/new-authz: req-auth: manual.uzoagu.com
dns-01 manual.uzoagu.com RogJGpjq1B6_3EyvUzkBhWMS7SwodiInW3bwgsYPpss.r38k7OetWSqV1aGRgxUKqVtKtoC1ppdRO5VQr3G_p7c
dns-01 manual.uzoagu.com RogJGpjq1B6_3EyvUzkBhWMS7SwodiInW3bwgsYPpss.r38k7OetWSqV1aGRgxUKqVtKtoC1ppdRO5VQr3G_p7c
acme-client: https://acme-staging.api.letsencrypt.org/acme/challenge/8nDkoajsImD1eqi2t71y4IoIWDTExWBodoQ3yA8x8eQ/158629609: challenge
acme-client: https://acme-staging.api.letsencrypt.org/acme/challenge/8nDkoajsImD1eqi2t71y4IoIWDTExWBodoQ3yA8x8eQ/158629609: status
acme-client: https://acme-staging.api.letsencrypt.org/acme/challenge/8nDkoajsImD1eqi2t71y4IoIWDTExWBodoQ3yA8x8eQ/158629609: bad response
acme-client: transfer buffer: [{ "type": "dns-01", "status": "invalid", "error": { "type": "urn:acme:error:unauthorized", "detail": "Incorrect TXT record \"RogJGpjq1B6_3EyvUzkBhWMS7SwodiInW3bwgsYPpss\" found at _acme-challenge.manual.uzoagu.com", "status": 403 }, "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/8nDkoajsImD1eqi2t71y4IoIWDTExWBodoQ3yA8x8eQ/158629609", "token": "RogJGpjq1B6_3EyvUzkBhWMS7SwodiInW3bwgsYPpss", "keyAuthorization": "RogJGpjq1B6_3EyvUzkBhWMS7SwodiInW3bwgsYPpss.r38k7OetWSqV1aGRgxUKqVtKtoC1ppdRO5VQr3G_p7c" }] (546 bytes)
My web server is (include version):
nginx
The operating system my web server runs on is (include version):
ubuntu 18.04
My hosting provider, if applicable, is:
digital ocean
I can login to a root shell on my machine (yes or no, or I don’t know):
Yes
So this isn’t an issue per say; its more of not understanding how the response the client returns maps to TXT records (given that each DNS api has a slightly different implementation).
Reading through the README, I see this:
When using -t, each domain (primary and altnames) is authorised over standard output
and input between the caller and acme-client as follows:
(a). acme-client prints “challenge-type dns-domain token.thumbprint\n” (note the trailing newline) on
its standard output.
(b). The caller performs any tasks to implement the challenge's response.
(c). The caller writes the same three-field string and the newline to the standard input of acme-client.
This cycle repeats for each requested domain, then acme-client exits.
My question is:
- Which of the 3 part string in (a) response corresponds to TXT VALUE ?
I have tried using:
- all 3 parts combined (respecting the spaces between the 1st two and the period that joins the token
and thumbprint) - only the token
- only the thumbprint
None of the above work; instead returning errors that match this:
acme-client: transfer buffer: [
{
"type": "dns-01",
"status": "invalid",
"error": {
"type": "urn:acme:error:unauthorized",
"detail": "Incorrect TXT record \"TChR2DfPtEOyWaxl750J4E_sJo97szwCVHq3PT5NfRU.LyF9F8lc51hP9u3aOG7Lwnt-3DnMV2MpLi0RgHGM-VA\" found at _acme-challenge.sub.domain.com",
"status": 403
},
"uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/LPRoT8sfbwpbQU99UXs10jI1VSn9HyhfIFDcvcDlo9Y/158596424",
"token": "2Q_pQKPWiun16FT60BGriRh1Tcb7fXrmOCOLOYXXTPc",
"keyAuthorization": "2Q_pQKPWiun16FT60BGriRh1Tcb7fXrmOCOLOYXXTPc.LyF9F8lc51hP9u3aOG7Lwnt-3DnMV2MpLi0RgHGM-VA"
}
]
(590 bytes)
acme-client: bad exit: netproc(48): 1
I also ran dig -t txt _acme-challenge.sub.domain.com
and confirmed got this results:
; <<>> DiG 9.10.6 <<>> -t txt _acme-challenge.some.subdomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1043
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;_acme-challenge.some.subdomain.com. IN TXT
;; ANSWER SECTION:
_acme-challenge.some.subdomain.com. 3600 IN TXT "RogJGpjq1B6_3EyvUzkBhWMS7SwodiInW3bwgsYPpss"
;; Query time: 48 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Aug 11 15:29:18 EDT 2018
;; MSG SIZE rcvd: 118
I’m using a control panel to manage my site (no, or provide the name and version of the control panel):