AWS Certificate Manager

2016/10/13 - AWS Certificate Manager - 1 new 1 updated api methods

Changes  This change allows users to import third-party SSL/TLS certificates into ACM.

ImportCertificate (new) Link ¶

Imports an SSL/TLS certificate into AWS Certificate Manager (ACM) to use with ACM's integrated AWS services.

Note

ACM does not provide managed renewal for certificates that you import.

For more information about importing certificates into ACM, including the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide .

To import a certificate, you must provide the certificate and the matching private key. When the certificate is not self-signed, you must also provide a certificate chain. You can omit the certificate chain when importing a self-signed certificate.

The certificate, private key, and certificate chain must be PEM-encoded. For more information about converting these items to PEM format, see Importing Certificates Troubleshooting in the AWS Certificate Manager User Guide .

To import a new certificate, omit the CertificateArn field. Include this field only when you want to replace a previously imported certificate.

This operation returns the Amazon Resource Name (ARN) of the imported certificate.

Request Syntax

client.import_certificate(
    CertificateArn='string',
    Certificate=b'bytes',
    PrivateKey=b'bytes',
    CertificateChain=b'bytes'
)
type CertificateArn

string

param CertificateArn

The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field.

type Certificate

bytes

param Certificate

[REQUIRED]

The certificate to import. It must meet the following requirements:

  • Must be PEM-encoded.

  • Must contain a 1024-bit or 2048-bit RSA public key.

  • Must be valid at the time of import. You cannot import a certificate before its validity period begins (the certificate's NotBefore date) or after it expires (the certificate's NotAfter date).

type PrivateKey

bytes

param PrivateKey

[REQUIRED]

The private key that matches the public key in the certificate. It must meet the following requirements:

  • Must be PEM-encoded.

  • Must be unencrypted. You cannot import a private key that is protected by a password or passphrase.

type CertificateChain

bytes

param CertificateChain

The certificate chain. It must be PEM-encoded.

rtype

dict

returns

Response Syntax

{
    'CertificateArn': 'string'
}

Response Structure

DescribeCertificate (updated) Link ¶
Changes (response)
{'Certificate': {'ImportedAt': 'timestamp',
                 'KeyAlgorithm': {'RSA_1024'},
                 'Type': 'IMPORTED | AMAZON_ISSUED'}}

Returns a list of the fields contained in the specified ACM Certificate. For example, this action returns the certificate status, a flag that indicates whether the certificate is associated with any other AWS service, and the date at which the certificate request was created. You specify the ACM Certificate on input by its Amazon Resource Name (ARN).

Request Syntax

client.describe_certificate(
    CertificateArn='string'
)
type CertificateArn

string

param CertificateArn

[REQUIRED]

String that contains an ACM Certificate ARN. The ARN must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

rtype

dict

returns

Response Syntax

{
    'Certificate': {
        'CertificateArn': 'string',
        'DomainName': 'string',
        'SubjectAlternativeNames': [
            'string',
        ],
        'DomainValidationOptions': [
            {
                'DomainName': 'string',
                'ValidationEmails': [
                    'string',
                ],
                'ValidationDomain': 'string'
            },
        ],
        'Serial': 'string',
        'Subject': 'string',
        'Issuer': 'string',
        'CreatedAt': datetime(2015, 1, 1),
        'IssuedAt': datetime(2015, 1, 1),
        'ImportedAt': datetime(2015, 1, 1),
        'Status': 'PENDING_VALIDATION'|'ISSUED'|'INACTIVE'|'EXPIRED'|'VALIDATION_TIMED_OUT'|'REVOKED'|'FAILED',
        'RevokedAt': datetime(2015, 1, 1),
        'RevocationReason': 'UNSPECIFIED'|'KEY_COMPROMISE'|'CA_COMPROMISE'|'AFFILIATION_CHANGED'|'SUPERCEDED'|'CESSATION_OF_OPERATION'|'CERTIFICATE_HOLD'|'REMOVE_FROM_CRL'|'PRIVILEGE_WITHDRAWN'|'A_A_COMPROMISE',
        'NotBefore': datetime(2015, 1, 1),
        'NotAfter': datetime(2015, 1, 1),
        'KeyAlgorithm': 'RSA_2048'|'RSA_1024'|'EC_prime256v1',
        'SignatureAlgorithm': 'string',
        'InUseBy': [
            'string',
        ],
        'FailureReason': 'NO_AVAILABLE_CONTACTS'|'ADDITIONAL_VERIFICATION_REQUIRED'|'DOMAIN_NOT_ALLOWED'|'INVALID_PUBLIC_DOMAIN'|'OTHER',
        'Type': 'IMPORTED'|'AMAZON_ISSUED'
    }
}

Response Structure

  • (dict) --

    • Certificate (dict) --

      Contains a CertificateDetail structure that lists the fields of an ACM Certificate.

      • CertificateArn (string) --

        The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference .

      • DomainName (string) --

        The fully qualified domain name for the certificate, such as www.example.com or example.com.

      • SubjectAlternativeNames (list) --

        One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

        • (string) --

      • DomainValidationOptions (list) --

        Contains information about the email address or addresses used for domain validation. This field exists only when the certificate type is AMAZON_ISSUED .

        • (dict) --

          Structure that contains the domain name, the base validation domain to which validation email is sent, and the email addresses used to validate the domain identity.

          • DomainName (string) --

            Fully Qualified Domain Name (FQDN) of the form www.example.com or example.com .

          • ValidationEmails (list) --

            A list of contact address for the domain registrant.

            • (string) --

          • ValidationDomain (string) --

            The base validation domain that acts as the suffix of the email addresses that are used to send the emails.

      • Serial (string) --

        The serial number of the certificate.

      • Subject (string) --

        The name of the entity that is associated with the public key contained in the certificate.

      • Issuer (string) --

        The name of the certificate authority that issued and signed the certificate.

      • CreatedAt (datetime) --

        The time at which the certificate was requested. This value exists only when the certificate type is AMAZON_ISSUED .

      • IssuedAt (datetime) --

        The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED .

      • ImportedAt (datetime) --

        The date and time at which the certificate was imported. This value exists only when the certificate type is IMPORTED .

      • Status (string) --

        The status of the certificate.

      • RevokedAt (datetime) --

        The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED .

      • RevocationReason (string) --

        The reason the certificate was revoked. This value exists only when the certificate status is REVOKED .

      • NotBefore (datetime) --

        The time before which the certificate is not valid.

      • NotAfter (datetime) --

        The time after which the certificate is not valid.

      • KeyAlgorithm (string) --

        The algorithm that was used to generate the key pair (the public and private key).

      • SignatureAlgorithm (string) --

        The algorithm that was used to sign the certificate.

      • InUseBy (list) --

        A list of ARNs for the AWS resources that are using the certificate. A certificate can be used by multiple AWS resources.

        • (string) --

      • FailureReason (string) --

        The reason the certificate request failed. This value exists only when the certificate status is FAILED . For more information, see Certificate Request Failed in the AWS Certificate Manager User Guide .

      • Type (string) --

        The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED . For certificates that you imported with ImportCertificate, this value is IMPORTED . ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the AWS Certificate Manager User Guide .