

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 列出域名验证状态
<a name="sdk-listdomainvalidations"></a>

以下示例演示了如何使用 [ListCertificateDomainValidations](https://docs.aws.amazon.com/acm/latest/APIReference/API_ListCertificateDomainValidations.html) 函数。该函数返回域名验证摘要列表——证书上的每个域一份。每个摘要都包含有效的验证配置以及（在迁移期间）请求的验证配置以及要添加到您的 DNS 配置中的 CNAME 记录。该示例显示了如何使用`NextToken`处理分页。

```
package com.amazonaws.samples;

import com.amazonaws.services.certificatemanager.AWSCertificateManagerClientBuilder;
import com.amazonaws.services.certificatemanager.AWSCertificateManager;

import com.amazonaws.services.certificatemanager.model.ListCertificateDomainValidationsRequest;
import com.amazonaws.services.certificatemanager.model.ListCertificateDomainValidationsResult;
import com.amazonaws.services.certificatemanager.model.DomainValidationSummary;
import com.amazonaws.services.certificatemanager.model.ValidationConfiguration;
import com.amazonaws.services.certificatemanager.model.ValidationChallenge;
import com.amazonaws.services.certificatemanager.model.DnsValidationChallenge;
import com.amazonaws.services.certificatemanager.model.ResourceRecord;

import java.util.Optional;

public class ListCertificateDomainValidations {

   public static void main(String[] args) {

      // Create a client.
      AWSCertificateManager client = AWSCertificateManagerClientBuilder.defaultClient();

      String certificateArn =
              "arn:aws:acm:{{region}}:{{account}}:"
              + "certificate/{{12345678-1234-1234-1234-123456789012}}";

      // Page through the results using NextToken.
      String nextToken = null;
      do {
         ListCertificateDomainValidationsRequest req = new ListCertificateDomainValidationsRequest()
                 .withCertificateArn(certificateArn)
                 .withMaxItems(100)
                 .withNextToken(nextToken);

         ListCertificateDomainValidationsResult result = client.listCertificateDomainValidations(req);

         // Print the validation status for each domain.
         for (DomainValidationSummary summary : result.getDomainValidationSummaryList()) {
            System.out.println("Domain: " + summary.getDomainName());

            Optional.ofNullable(summary.getActiveValidationConfiguration())
               .ifPresent(active -> System.out.println("  Active method: "
                       + active.getValidationMethod()
                       + " (status: " + active.getValidationStatus() + ")"));

            Optional.ofNullable(summary.getRequestedValidationConfiguration())
               .ifPresent(requested -> {
                  System.out.println("  Requested method: " + requested.getValidationMethod()
                          + " (status: " + requested.getValidationStatus() + ")");

                  // For DNS migration, print the CNAME record to add to DNS.
                  Optional.ofNullable(requested.getValidationChallenge())
                     .map(ValidationChallenge::getDnsValidationChallenge)
                     .map(DnsValidationChallenge::getResourceRecord)
                     .ifPresent(record -> System.out.println("  Add CNAME: "
                             + record.getName() + " -> " + record.getValue()));
               });
         }

         nextToken = result.getNextToken();
      } while (nextToken != null);
   }
}
```