<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 12/07/2024 15:38, Brian Candler via
Pdns-users wrote:<br>
</div>
<blockquote type="cite"
cite="mid:c444af82-19d2-4752-9149-947110fa9169@pobox.com">
<p>Just to clarify: there is no "public key" involved in
Letsencrypt. It's just a random challenge, and it's just a TXT
record. So all you need to learn is how to add a TXT record to
your zone - and then remove it afterwards.<br>
</p>
<p>According to <a
href="https://doc.powerdns.com/authoritative/manpages/pdnsutil.1.html"
moz-do-not-send="true">docs</a> I believe this will be:<br>
</p>
<p><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">pdnsutil
replace-rrset<span> </span></span><em
style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><ZONE></em><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span>
<em>_acme-challenge</em></span></span><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span>
<em>TXT</em></span></span><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span> </span></span><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span>
<em>"blah blah blah"<br>
</em></span></span></p>
<p><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">pdnsutil
delete-rrset<span> </span></span><em
style="box-sizing: border-box; color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><ZONE></em><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span>
<em>_acme-challenge</em></span></span><span
style="color: rgb(51, 51, 51); font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span>
<em>TXT</em></span></span></p>
</blockquote>
<p>Actually I need to clarify further.</p>
<p>I think that document might be talking about some PDNS Manager
magic: a key which allows that particular TXT record to be updated
with the challenge when it comes to certificate issuance time.<br>
</p>
<p>So these instructions make sense if you're using PDNS Manager:
but you say that you're not, they are irrelevant.</p>
<p>You must be using some software for issuing Letsencrypt
certificates (e.g. certbot, dehydrated, acme.sh). At some point it
will give you a challenge that you need to put in the DNS. You
could do that manually with pdnsutil, but more commonly you'd use
an API hookup to your powerdns server so that the software can do
it automatically (because you don't want to be doing manual
challenge updates every 90 days)<br>
</p>
</body>
</html>