文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
RequestCertificate
搭配 AWS SDK 或 CLI 使用
下列程式碼範例示範如何使用 RequestCertificate
。
動作範例是大型程式的程式碼摘錄,必須在內容中執行。您可以在下列程式碼範例的內容中看到此動作:
- C++
-
- SDK for C++
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 //! Request an AWS Certificate Manager (ACM) certificate. /*! \param domainName: A fully qualified domain name. \param idempotencyToken: Customer chosen string for idempotency. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::ACM::requestCertificate(const Aws::String &domainName, const Aws::String &idempotencyToken, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::ACM::ACMClient acmClient(clientConfiguration); Aws::ACM::Model::RequestCertificateRequest request; request.WithDomainName(domainName) .WithIdempotencyToken(idempotencyToken); Aws::ACM::Model::RequestCertificateOutcome outcome = acmClient.RequestCertificate(request); if (!outcome.IsSuccess()) { std::cerr << "RequestCertificate error: " << outcome.GetError().GetMessage() << std::endl; return false; } else { std::cout << "Success: The newly requested certificate's " "ARN is '" << outcome.GetResult().GetCertificateArn() << "'." << std::endl; return true; } }
-
如需 API 詳細資訊,請參閱 AWS SDK for C++ API 參考中的 RequestCertificate。
-
- CLI
-
- AWS CLI
-
請求新的 ACM 憑證
下列
request-certificate
命令會使用 DNS 驗證請求 www.example.com 網域的新憑證:aws acm request-certificate --domain-name
www.example.com
--validation-methodDNS
您可以輸入等冪字符來區分對 的呼叫
request-certificate
:aws acm request-certificate --domain-name
www.example.com
--validation-methodDNS
--idempotency-token91adc45q
您可以輸入一或多個主體替代名稱,以請求可保護多個頂點網域的憑證:
aws acm request-certificate --domain-name
example.com
--validation-methodDNS
--idempotency-token91adc45q
--subject-alternative-nameswww.example.net
您可以輸入替代名稱,該名稱也可用於連接您的網站:
aws acm request-certificate --domain-name
example.com
--validation-methodDNS
--idempotency-token91adc45q
--subject-alternative-nameswww.example.com
您可以使用星號 (*) 做為萬用字元,為相同網域中的多個子網域建立憑證:
aws acm request-certificate --domain-name
example.com
--validation-methodDNS
--idempotency-token91adc45q
--subject-alternative-names*.example.com
您也可以輸入多個替代名稱:
aws acm request-certificate --domain-name
example.com
--validation-methodDNS
--subject-alternative-namesb.example.com
c.example.com
d.example.com
如果您使用電子郵件進行驗證,您可以輸入網域驗證選項,以指定要傳送驗證電子郵件的網域:
aws acm request-certificate --domain-name
example.com
--validation-methodEMAIL
--subject-alternative-nameswww.example.com
--domain-validation-optionsDomainName=example.com,ValidationDomain=example.com
當您請求新憑證時,下列命令會選擇退出憑證透明度記錄:
aws acm request-certificate --domain-name
www.example.com
--validation-methodDNS
--optionsCertificateTransparencyLoggingPreference=DISABLED
--idempotency-token184627
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RequestCertificate
。
-
- Java
-
- SDK for Java 2.x
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * <p> * For more information, see the following documentation topic: * <p> * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class RequestCert { public static void main(String[] args) { requestCertificate(); } /** * Requests a certificate from the AWS Certificate Manager (ACM) service. */ public static void requestCertificate() { AcmClient acmClient = AcmClient.create(); ArrayList<String> san = new ArrayList<>(); san.add("www.example.com"); RequestCertificateRequest req = RequestCertificateRequest.builder() .domainName("example.com") .idempotencyToken("1Aq25pTy") .subjectAlternativeNames(san) .build(); try { RequestCertificateResponse response = acmClient.requestCertificate(req); System.out.println("Cert ARN IS " + response.certificateArn()); } catch (AcmException e) { System.err.println(e.getMessage()); } } }
-
如需 API 詳細資訊,請參閱 AWS SDK for Java 2.x API 參考中的 RequestCertificate。
-
- PowerShell
-
- Tools for PowerShell
-
範例 1:建立新的憑證。服務會傳回新憑證的 ARN。
New-ACMCertificate -DomainName "www.example.com"
輸出:
arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
範例 2:建立新的憑證。服務會傳回新憑證的 ARN。
New-ACMCertificate -DomainName "www.example.com" -SubjectAlternativeName "example.com","www.example.net"
輸出:
arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 RequestCertificate。
-
- Python
-
- SDK for Python (Boto3)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 class AcmCertificate: """ Encapsulates ACM functions. """ def __init__(self, acm_client): """ :param acm_client: A Boto3 ACM client. """ self.acm_client = acm_client def request_validation( self, domain, alternate_domains, method, validation_domains=None ): """ Starts a validation request that results in a new certificate being issued by ACM. DNS validation requires that you add CNAME records to your DNS provider. Email validation sends email to a list of email addresses that are associated with the domain. For more information, see _Issuing and managing certificates_ in the ACM user guide. https://docs.aws.amazon.com/acm/latest/userguide/gs.html :param domain: The primary domain to associate with the certificate. :param alternate_domains: Subject Alternate Names (SANs) for the certificate. :param method: The validation method, either DNS or EMAIL. :param validation_domains: Alternate domains to use for email validation, when the email domain differs from the primary domain of the certificate. :return: The ARN of the requested certificate. """ try: kwargs = { "DomainName": domain, "ValidationMethod": method, "SubjectAlternativeNames": alternate_domains, } if validation_domains is not None: kwargs["DomainValidationOptions"] = [ {"DomainName": key, "ValidationDomain": value} for key, value in validation_domains.items() ] response = self.acm_client.request_certificate(**kwargs) certificate_arn = response["CertificateArn"] logger.info( "Requested %s validation for domain %s. Certificate ARN is %s.", method, domain, certificate_arn, ) except ClientError: logger.exception( "Request for %s validation of domain %s failed.", method, domain ) raise else: return certificate_arn
-
如需 API 詳細資訊,請參閱 SDK AWS for Python (Boto3) API 參考中的 RequestCertificate。
-