acmesh-official / acme.sh

A pure Unix shell script implementing ACME client protocol
https://acme.sh
GNU General Public License v3.0
38.88k stars 4.93k forks source link

dns_ultra broken due to deprecated API service #4130

Open NegativeAL opened 2 years ago

NegativeAL commented 2 years ago

All SSL renewals using the --issue --dns dns_ultra flags have ceased to work. All renewals now yield an "invalid domain" response

[Mon 6 Jun 08:44:23 BST 2022] h [Mon 6 Jun 08:44:23 BST 2022] response='{"queryInfo":{"q":"null","sort":"NAME","reverse":false,"limit":100},"resultInfo":{"totalCount":0,"offset":0,"returnedCount":0},"zones":[]}' [Mon 6 Jun 08:44:23 BST 2022] invalid domain [Mon 6 Jun 08:44:23 BST 2022] Error add txt for domain:_acme-challenge.example.com [Mon 6 Jun 08:44:23 BST 2022] _on_issue_err [Mon 6 Jun 08:44:23 BST 2022] Please check log file for more details: /home/cert.transfer/.acme.sh/acme.sh.log

Steps to reproduce

Call acme.sh with --issue --dns dns_ultra flags for an SSL that has <30 days left before exirpy.

Response from Neustar (UltraDNS)

Contact from Neustar indicates that the API service called by Neustar has been deprecated:

The URL provided in your API call has been deprecated. Please follow the steps below to migrate to our new API for the following calls.

Change 1: Steps for migrating to List Metadata for Zones – v3

Add the /v3 version in your URL as shown below:

Your existing URL -

[https://api.ultradns.com/zones] [https://api.ultradns.com/v1/zones] [https://api.ultradns.com/v2/zones]

Your new URL

[https://api.ultradns.com/v3/zones]

Change 2: Steps for migrating from GET Zones of an Account to List Metadata for Zones – v3

Please use the following steps below to migrate your existing Get Zones of an Account API call to the new List Metadata for Zones – V3 call.

Change the URL to the List zone URL as shown below.

Your existing URL -

[https://api.ultradns.com/accounts/{accountName}/zones] [https://api.ultradns.com/accounts/{accountName}/v1/zones] [https://api.ultradns.com/accounts/{accountName}/v2/zones]

Your new URL

[https://api.ultradns.com/v3/zones?q=account_name:{accountName}]

Also, please take into consideration that we are modernizing the pagination model in List Metadata for Zones /v3 API, going from offset-based to cursor-based.

This /v3 API does not return the section “resultInfo”, instead, it returns a new section, “cursorInfo”, which will provide the cursor information, allowing you to navigate to the different results pages. The cursor info will be empty if there are no additional pages to navigate to. This section contains four values: first, next, previous, and last, when applicable.

No additional changes are required when retrieving the first page of results. The above URL change will be sufficient. When retrieving additional pages of results, the appropriate value from the cursorInfo section will have to be utilized in the shape of the cursor parameter in the URL string.

Please note that there is no impact on other API calls.

If there's anything else I can help you with, please let me know.

alillistone commented 2 years ago

This is affecting me as well. For certificate renewals, manually changing the endpoint to v3 was enough to get it working again.