Error validating *.domain using duckdns.org

Hi i'm traying to validate a domain wildcar to get my multidomain certificate.
i' using duck dns to host my txt record because i'm unable to make my dns server work dinamically....
so i make a account on duckdns.org, made my domain.duckdns.org... on my dns server added an cname:
_acme-challenge IN CNAME bicsa.duckdns.org.
dig _acme-challenge.ibicsa.co.cu txt

; <<>> DiG 9.12.2-P1 <<>> _acme-challenge.ibicsa.co.cu txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55280
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 4

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;_acme-challenge.ibicsa.co.cu. IN TXT

;; ANSWER SECTION:
_acme-challenge.ibicsa.co.cu. 1200 IN CNAME _acme-challenge.bicsa.duckdns.org.
_acme-challenge.bicsa.duckdns.org. 60 IN TXT ""

;; AUTHORITY SECTION:
duckdns.org. 600 IN NS ns3.duckdns.org.
duckdns.org. 600 IN NS ns1.duckdns.org.
duckdns.org. 600 IN NS ns2.duckdns.org.

;; ADDITIONAL SECTION:
ns2.duckdns.org. 82832 IN A 54.191.117.119
ns3.duckdns.org. 82832 IN A 52.26.169.94
ns1.duckdns.org. 82832 IN A 54.187.92.222

;; Query time: 190 msec
;; SERVER: 181.225.231.200#53(181.225.231.200)
;; WHEN: Wed Feb 06 17:09:07 CST 2019
;; MSG SIZE rcvd: 219
them add add an entry on the certificate acme configuration :slight_smile:
domain name: ibicsa.co.cu
my API token account ********
Enable DNS alias mode: _acme-challenge.bicsa.duckdns.org
Enable DNS domain alias mode: Checkbox Enabled
whe issue certificate fine it run ok and get the certificate without problem.
Son i need a wildcar certificate *.ibicsa.co.cu them add another entry under ibicsa.co.cu SAN with same config and *.ibicsa.co.cu as domain name for wildcar.
i get an error:
ed Feb 6 17:25:52 CST 2019] Multi domain='DNS:ibicsa.co.cu,DNS:*.ibicsa.co.cu'
[Wed Feb 6 17:25:52 CST 2019] Getting domain auth token for each domain
[Wed Feb 6 17:25:55 CST 2019] Getting webroot for domain='ibicsa.co.cu'
[Wed Feb 6 17:25:55 CST 2019] Getting webroot for domain='*.ibicsa.co.cu'
[Wed Feb 6 17:25:55 CST 2019] Found domain api file: /usr/local/pkg/acme/dnsapi/dns_duckdns.sh
[Wed Feb 6 17:25:55 CST 2019] Trying to add TXT record
[Wed Feb 6 17:25:57 CST 2019] TXT record has been successfully added to your DuckDNS domain.
[Wed Feb 6 17:25:57 CST 2019] Note that all subdomains under this domain uses the same TXT record.
[Wed Feb 6 17:25:57 CST 2019] Found domain api file: /usr/local/pkg/acme/dnsapi/dns_duckdns.sh
[Wed Feb 6 17:25:57 CST 2019] Trying to add TXT record
[Wed Feb 6 17:26:00 CST 2019] TXT record has been successfully added to your DuckDNS domain.
[Wed Feb 6 17:26:00 CST 2019] Note that all subdomains under this domain uses the same TXT record.
[Wed Feb 6 17:26:00 CST 2019] Sleep 30 seconds for the txt records to take effect
[Wed Feb 6 17:26:30 CST 2019] Verifying: ibicsa.co.cu
[Wed Feb 6 17:26:33 CST 2019] Found domain http api file: /usr/local/pkg/acme/dnsapi/dns_duckdns.sh
[Wed Feb 6 17:26:33 CST 2019] Removing DNS records.
[Wed Feb 6 17:26:33 CST 2019] Trying to remove TXT record
[Wed Feb 6 17:26:34 CST 2019] TXT record has been successfully removed from your DuckDNS domain.
[Wed Feb 6 17:26:34 CST 2019] Trying to remove TXT record
[Wed Feb 6 17:26:37 CST 2019] TXT record has been successfully removed from your DuckDNS domain.
[Wed Feb 6 17:26:33 CST 2019] ibicsa.co.cu:Verify error:Incorrect TXT record
[Wed Feb 6 17:26:33 CST 2019] Error extracting the domain.
[Wed Feb 6 17:26:33 CST 2019] Error rm webroot api for domain:dns_duckdns
while the scrip wait fo rpropagation 60sec i make a dig query
_acme-challenge.ibicsa.co.cu. 32 IN CNAME _acme-challenge.bicsa.duckdns.org.
_acme-challenge.bicsa.duckdns.org. 57 IN TXT "6h7_W2zzqIDGGb6kFSAk2r9LK8lmSkSN1UPKdWY_lZA"
i'm missing some config in dns please help thanks

That looks like acme.sh is it? If so, see https://github.com/Neilpang/acme.sh/issues/1233 - unfortunately Duck DNS doesn’t support having multiple TXT records active at the same time, so you can get a cert for ibicsa.co.cu or *.ibicsa.co.cu but not one cert for both :frowning:

The workaround might work, but even if it does, beware that you would need to do the same thing for renewal so it could be difficult to automate.

HI! thanks @jmorahan … sorry for myself… So what other free provider can i use to validate my domain using a cname, because i can not make my managed dns domain server become dynamic by now…
sorry about my english

I believe a solution to your problem may come from being able to create a single TXT record that includes multiple lines.

A multiple entry TXT record may need to be done manually, so you will need to give more than 60 seconds to complete that task.

[first spend some time and attempts to learn how to enter multiple lines into one TXT record]

Hola @enriluis,

Muchas personas tuvieron éxito con los servicios DNS de Cloudflare, que tiene una API bien soportada. No sé si ellos aceptan usuarios en Cuba, pero creo que sí.

Tal vez no vale la pena continuar haciendolo manualmente, sin una API, ya que renovar el certificado en el futuro va a necesitar una API para hacerse sin intervención manual.

Si, continuare investigando al respecto ya que no puedo hacer mi propio dns dinamico de momento. quiero lograr realizar la validacion de forma automatica. recien me inserto en este tema y me he tropesado con algunos problemas y limitaciones. probé con duckdns.org(cero costo $$) y me pareció muy simple y fácil, pero como decimos acá era demacioado bueno para ser verdad, y resulta que duckdns no soporta mutiples recors txt al mismo tiempo. seguire investigando, probaré ese que me recomiendas a ver que tal si puedo o no registrarme.
Una ultima pregunta, y disculpa es que recien comienzo en estos temas y no me queda claro en cuanto a los certificados generados por letsencrypt.
Si no puedo validar el dominio o solicitar un certificado para una SAN:*.ibicsa.co.cu, DNS:ibicsa.co.cu validando contra duckdns.org si solicito solamente para *.ibicsa.co.cu ese certificado seria valido para cualquier host bajo el dominio ibicsa.co.cu, es decir correo.ibicsa.co.cu, www.ibicsa.co.c, ftp.ibicsa.co.cu …??? por citar un ejemplo
gracias y un saludo!

Sí, sería, sólo no para ibicsa.co mismo. (Por ejemplo https://ibicsa.co.cu/ejemplo.html no podría autenticado por medio de esto certificado, pero https://cualquier-otro-nombre.ibicsa.co.cu/ podría sí. ... sólo para un nivel de subdominio, no se puede usarlo para https://cualquier.otro.nombre.ibicsa.co.cu/...)

@jmorahan indicó que se puede solicitar un certificado para ibicsa.co.cu y otro para *.ibicsa.co.cu pero tal vez él no dejó claro que los dos serían válidos al mismo tiempo, y que se podría usar los dos al mismo tiempo en el mismo servidor (pero en distintos virtual hosts).

La autoridad de certificación validará sólo un nombre a la vez y emitirá sólo un certificado a la vez (si continua usando un servicio DNS que no puede criar dos registros TXT con el mismo nombre al mismo tiempo). Pero los dos certificados serían válidos, así eso es una opción posible.

1 Like

Para aclarar esto un pocu mas:
Un certificado con "*" se puede usar con qualquier "nombre" legal (letras, numeros, y algonos symbolos).
Pero NO puede tener un punto "." addicional.
No sirve para todos los nombres possible que terminan con ".ibicsa.co.cu"
Decir: otro.sitio.ibicsa.co.cu
No se puede cubrir con certificado *.ibicsa.co.cu
Necesitaria usar certificado: *.sitio.ibicsa.co.cu para tal.

humm, interesante. acá no tengo planeado usar ningun servicio usando el nombre de nuestro dominio principal ejemplo: https://ibicsa.co.cu/home.php nuestros websites y demás servicios estan sujetos a ese nivel de dominio <any_name>.ibicsa.co.cu, ni más ni menos. Si es así me podría funcionar de modo automatico sin complicarme en la configuración de un dns dinamico y podre continuar usanro duckdns que es muy simple y rápido. e ir avanzando en el proyecto.
de todas formas continuaré investigando por si en un futuro tenga que usar mi dominio principal un un servicio determinado y protegerlo mediante un certiicado con letsencrypt.
Mucicimas Gracias por la aclaración me ha sido muy útil. Un saludo

1 Like

Vale la aclaración, al inicio cuando comence a leer las limitantes y la validación, entedí que para solicitar un certificado multidominio debia agregar *.ibicsa.co.cu y ibicsa.co.cu como un requerimiento como tal obligatorio, pero si en este caso por las limitaciones que tengo solo puedo usar *.ibicsa.co.cu me sirve para proteger los host bajo ese dominio, exactamente es mi intención. No prtendo de momento como dije usar subdominios ni tampoco el dominio raiz nuestro para ideintificar algun servicio.
Muchos saludos y gracias por su tiempo, saludos desde La habana.:sunglasses::sunglasses::sunglasses:

1 Like

Saludos de Miami
:sunglasses::sunglasses::sunglasses:

1 Like

Funciona! acabo de probar con una cuenta con la CA de pruebas letsencrypt-staging-2 y me funciona perfectamente.
Tengo otros dos dominios dns y en mi cuenta duckdns.org cree otros dos subdominios y en efecto puedo obtener certificados solo para .midominio.cu y .midominio2.cu
ahora debo encontrar la manera de copiar e importar esos certificados hacia otros servidores. saludos nuevamente y muchas gracias chicos! no les robo mas tiempo por ahora:grinning:.

1 Like

@schoen
ayer me funciono, hoy realize algunos ajustes a los alias y configuraciones para tener todo listo antes de pasar a la face de produccion.
Me funciona aparentemente bien, me genera los certificados *.midominio.cu hasta ahi todo bien, pero al final siempre encuentro en cada traza para cada uno de los certificados generados y validados independiente me da el error:
[Wed Feb 6 17:26:33 CST 2019] Error extracting the domain.
[Wed Feb 6 17:26:33 CST 2019] Error rm webroot api for domain:dns_duckdns

para los tres dominios, me genera el certificado pero veo ese error al final.

@Neilpang can this be an error with the combination of wildcards with DNS alias mode in acme.sh’s support for DuckDNS? Here @enriluis has set

_acme-challenge IN CNAME bicsa.duckdns.org

in ibicsa.co.cu and is trying to get a certificate for *.ibicsa.co.cu using acme.sh with (I assume) the DNS alias option and the DuckDNS API.

But it resulted in those two errors at the end (apparently after successful issuance of the certificates)

[Wed Feb 6 17:26:33 CST 2019] Error extracting the domain.
[Wed Feb 6 17:26:33 CST 2019] Error rm webroot api for domain:dns_duckdns

@enriluis, ¿los archivos con los certificados existen en el disco?

Si existen en el disco local en el directorio me genera el certificado correctamente ,tengo tres dominios:
bicsa.cu
_acme-challenge IN CNAME _acme-challenge.b1c54cu.duckdns.org.

bicsa.co.cu
_acme-challenge IN CNAME _acme-challenge.b1c54c0cu.duckdns.org.

ibicsa.co.cu
_acme-challenge IN CNAME _acme-challenge.ib1c54c0cu.duckdns.org.
he registrado 3 dominios en duckdns.org

Y ¿todos los tres dan el mismo error, o sólo uno de ellos?

Con los certificados en el disco, tal vez ya puede usarlos (incluso antes de entender el origen del error).

Los tres dan el mismo error y los tres se generan y existen localmente y en system/cert manager estan presentes, mi temor esque luego cuando automatize el proceso y pase a produccion me de algun error.
probar’e y observare como se comporta, muchas gracias, en el foro de pfsense tambien publique el error veremos si responden


gracias y un saludo

Eso tiene sentido. Espero que @Neilpang, el desarrollador de acme.sh, puede ayudarnos a entender el problema.

1 Like

[Sorry for writing in English]

In case all else fails:

Since you already have valid domains, and if global DNS requests (TCP & UDP port 53) can reach any of your systems, you could run your own DNS server to validate the requests.
See: acme-dns

You only need to delegate a zone to your DNS server [like: auths.ibicsa.co.cu].
And CNAME your challenge requests to it:
Like:
_acme-challenge.ibicsa.co.cu CNAME challenges.auths.ibicsa.co.cu
DNS would be forced to request the answer from server auths.ibicsa.co.cu
A DNS server you control.