Verwendung von RequestCertificate mit einem AWS-SDK oder CLI - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

Verwendung von RequestCertificate mit einem AWS-SDK oder CLI

Die folgenden Code-Beispiele zeigen, wie RequestCertificate verwendet wird.

Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:

C++
SDK für C++
Anmerkung

Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.

//! 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; } }
  • Weitere API-Informationen finden Sie unter RequestCertificate in der AWS SDK für C++-API-Referenz.

CLI
AWS CLI

So fordern Sie ein neues ACM-Zertifikat an

Mit dem folgenden request-certificate-Befehl wird mithilfe der DNS-Validierung ein neues Zertifikat für die Domain www.example.com angefordert:

aws acm request-certificate --domain-name www.example.com --validation-method DNS

Sie können ein Idempotenz-Token eingeben, um zwischen mehreren Aufrufen von request-certificate zu unterscheiden:

aws acm request-certificate --domain-name www.example.com --validation-method DNS --idempotency-token 91adc45q

Sie können einen oder mehrere Subject Alternative Names angeben, um ein Zertifikat anzufordern, das mehr als eine Apex-Domain schützt.

aws acm request-certificate --domain-name example.com --validation-method DNS --idempotency-token 91adc45q --subject-alternative-names www.example.net

Sie können einen alternativen Namen eingeben, der auch für den Zugriff auf Ihre Website verwendet werden kann:

aws acm request-certificate --domain-name example.com --validation-method DNS --idempotency-token 91adc45q --subject-alternative-names www.example.com

Sie können ein Sternchen (*) als Platzhalter verwenden, um ein Zertifikat für mehrere Subdomains in derselben Domain zu erstellen:

aws acm request-certificate --domain-name example.com --validation-method DNS --idempotency-token 91adc45q --subject-alternative-names *.example.com

Sie können auch mehrere alternative Namen eingeben:

aws acm request-certificate --domain-name example.com --validation-method DNS --subject-alternative-names b.example.com c.example.com d.example.com

Wenn Sie E-Mail für die Validierung verwenden, können Sie Optionen für die Domainvalidierung eingeben, um die Domain anzugeben, an die die Validierungs-E-Mail gesendet werden soll:

aws acm request-certificate --domain-name example.com --validation-method EMAIL --subject-alternative-names www.example.com --domain-validation-options DomainName=example.com,ValidationDomain=example.com

Mit dem folgenden Befehl wird die Protokollierung der Zertifikatstransparenz deaktiviert, wenn Sie ein neues Zertifikat anfordern:

aws acm request-certificate --domain-name www.example.com --validation-method DNS --options CertificateTransparencyLoggingPreference=DISABLED --idempotency-token 184627
  • Weitere API-Informationen finden Sie unter RequestCertificate in der AWS CLI-Befehlsreferenz.

Java
SDK für Java 2.x
Anmerkung

Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.

/** * 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()); } } }
  • Weitere API-Informationen finden Sie unter RequestCertificate in der AWS SDK for Java 2.x-API-Referenz.

PowerShell
Tools für PowerShell V4

Beispiel 1: Erstellt ein neues Zertifikat. Der Service gibt den ARN des neuen Zertifikats zurück.

New-ACMCertificate -DomainName "www.example.com"

Ausgabe:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

Beispiel 2: Erstellt ein neues Zertifikat. Der Service gibt den ARN des neuen Zertifikats zurück.

New-ACMCertificate -DomainName "www.example.com" -SubjectAlternativeName "example.com","www.example.net"

Ausgabe:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
  • Weitere API-Informationen finden Sie unter RequestCertificate in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).

Tools für PowerShell V5

Beispiel 1: Erstellt ein neues Zertifikat. Der Service gibt den ARN des neuen Zertifikats zurück.

New-ACMCertificate -DomainName "www.example.com"

Ausgabe:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

Beispiel 2: Erstellt ein neues Zertifikat. Der Service gibt den ARN des neuen Zertifikats zurück.

New-ACMCertificate -DomainName "www.example.com" -SubjectAlternativeName "example.com","www.example.net"

Ausgabe:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
  • Weitere API-Informationen finden Sie unter RequestCertificate in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Python
SDK für Python (Boto3)
Anmerkung

Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel- einrichten und ausführen.

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
  • Weitere API-Informationen finden Sie unter RequestCertificate in der API-Referenz zum AWS SDK für Python (Boto3).