1
0
Fork 0
mirror of https://github.com/win-acme/win-acme.git synced 2026-04-27 03:55:56 +03:00
10 DNS validation plugins
Wouter Tinus edited this page 2019-05-30 13:12:47 +02:00

Add a specified TXT record to the hosts' DNS.

Built-in plugins

acme-dns

  • Use an acme-dns server to handle the validation records. The plugin will ask you to choose an endpoint to use. For testing the https://auth.acme-dns.io/ endpoint is useful, but it is a security concern. As the readme of that project clearly states: "You are encouraged to run your own acme-dns instance."
  • Unattended: not supported.

Manual

  • The client will show the record that is supposed to be created on screen and it will have to be created manually by whatever means necessary. Obviously not good for unattended operation but it might be a stop gap.
  • Unattended: not supported.

Script

  • Run script to create and update records
  • A script to create the DNS record must be provided with --dnscreatescript
    • The arguments passed to the script will be create {Identifier} {RecordName} {Token} by default, with
      1. create fixed value
      2. {Identifier} - host name that's being validated
      3. {RecordName} - full name of the TXT record that is being expected
      4. {Token} - content of the TXT record
    • The order and format of arguments may be customized with the --dnscreatescriptarguments argument or from the interface
  • Optionally, another script may be provided to delete the record after validation
    • This may be the same file on disk, in which case it can be provided as --dnsscript rather than repeating yourself with --dnscreatescript and --dnsdeletescript
    • The arguments passed to the script will be delete {Identifier} {RecordName} {Token} by default
    • The order and format of arguments may be customized with the --dnsdeletescriptarguments argument or from the interface
  • Examples
    • --validationmode dns-01 --validation dnsscript --dnsscript C:\dnshandler.bat
    • --validationmode dns-01 --validation dnsscript --dnscreatescript C:\dnscreate.bat
    • --validationmode dns-01 --validation dnsscript --dnscreatescript C:\dnscreate.bat --dnsdeletescript C:\dnsdelete.bat

A lot of good example scripts are available from the POSH-ACME project. The page about installation scripts contains instructions on how to run Powershell scripts from a .bat file.

Separately downloadable plugins

The following plugins are offered as separate downloads, which have to be unpacked into the main program folder to able to use them. Note that after unpacking you will have to unblock them for the .NET CRL to trust them. You can do that from the Windows File Explorer by using the right mouse button and then checking the Unblock box on the General tab.

image

Azure

  • Create the record in Azure.
  • Documented separately here.
  • Unattended --validation azure --validationmode dns-01 --azuretenantid x --azureclientid x --azuresecret *** --azuresubscriptionid x --azureresourcegroupname x

Route53

  • Create the record in Amazon Route53
  • Requires permissions route53:GetChange, route53:ListHostedZones and route53:ChangeResourceRecordSets
  • Can authenticate in two ways:
    • User credential
      • Unattended --validation route53 --validationmode dns-01 --route53accesskeyid x --route53secretaccesskey ***
    • IAM role
      • Unattended --validation route53 --validationmode dns-01 --route53iamrole x

Dreamhost

  • Update record for Dreamhost
  • Unattended --validation dreamhost --validationmode dns-01 --apikey x