:doc:`ACM <../../acm>` / Client / list_certificates

*****************
list_certificates
*****************



.. py:method:: ACM.Client.list_certificates(**kwargs)

  

  Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only ``RSA_2048`` certificates. For more information, see  Filters.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ListCertificates>`_  


  **Request Syntax**
  ::

    response = client.list_certificates(
        CertificateStatuses=[
            'PENDING_VALIDATION'|'ISSUED'|'INACTIVE'|'EXPIRED'|'VALIDATION_TIMED_OUT'|'REVOKED'|'FAILED',
        ],
        Includes={
            'extendedKeyUsage': [
                'TLS_WEB_SERVER_AUTHENTICATION'|'TLS_WEB_CLIENT_AUTHENTICATION'|'CODE_SIGNING'|'EMAIL_PROTECTION'|'TIME_STAMPING'|'OCSP_SIGNING'|'IPSEC_END_SYSTEM'|'IPSEC_TUNNEL'|'IPSEC_USER'|'ANY'|'NONE'|'CUSTOM',
            ],
            'keyUsage': [
                'DIGITAL_SIGNATURE'|'NON_REPUDIATION'|'KEY_ENCIPHERMENT'|'DATA_ENCIPHERMENT'|'KEY_AGREEMENT'|'CERTIFICATE_SIGNING'|'CRL_SIGNING'|'ENCIPHER_ONLY'|'DECIPHER_ONLY'|'ANY'|'CUSTOM',
            ],
            'keyTypes': [
                'RSA_1024'|'RSA_2048'|'RSA_3072'|'RSA_4096'|'EC_prime256v1'|'EC_secp384r1'|'EC_secp521r1',
            ],
            'exportOption': 'ENABLED'|'DISABLED',
            'managedBy': 'CLOUDFRONT'
        },
        NextToken='string',
        MaxItems=123,
        SortBy='CREATED_AT',
        SortOrder='ASCENDING'|'DESCENDING'
    )
    
  :type CertificateStatuses: list
  :param CertificateStatuses: 

    Filter the certificate list by status value.

    

  
    - *(string) --* 

    

  :type Includes: dict
  :param Includes: 

    Filter the certificate list. For more information, see the  Filters structure.

    

  
    - **extendedKeyUsage** *(list) --* 

      Specify one or more  ExtendedKeyUsage extension values.

      

    
      - *(string) --* 

      
  
    - **keyUsage** *(list) --* 

      Specify one or more  KeyUsage extension values.

      

    
      - *(string) --* 

      
  
    - **keyTypes** *(list) --* 

      Specify one or more algorithms that can be used to generate key pairs.

       

      Default filtering returns only ``RSA_1024`` and ``RSA_2048`` certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, ``"keyTypes": ["RSA_2048","RSA_4096"]`` returns both ``RSA_2048`` and ``RSA_4096`` certificates.

      

    
      - *(string) --* 

      
  
    - **exportOption** *(string) --* 

      Specify ``ENABLED`` or ``DISABLED`` to identify certificates that can be exported.

      

    
    - **managedBy** *(string) --* 

      Identifies the Amazon Web Services service that manages the certificate issued by ACM.

      

    
  
  :type NextToken: string
  :param NextToken: 

    Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of ``NextToken`` from the response you just received.

    

  
  :type MaxItems: integer
  :param MaxItems: 

    Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the ``NextToken`` element is sent in the response. Use this ``NextToken`` value in a subsequent request to retrieve additional items.

    

  
  :type SortBy: string
  :param SortBy: 

    Specifies the field to sort results by. If you specify ``SortBy``, you must also specify ``SortOrder``.

    

  
  :type SortOrder: string
  :param SortOrder: 

    Specifies the order of sorted results. If you specify ``SortOrder``, you must also specify ``SortBy``.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'NextToken': 'string',
          'CertificateSummaryList': [
              {
                  'CertificateArn': 'string',
                  'DomainName': 'string',
                  'SubjectAlternativeNameSummaries': [
                      'string',
                  ],
                  'HasAdditionalSubjectAlternativeNames': True|False,
                  'Status': 'PENDING_VALIDATION'|'ISSUED'|'INACTIVE'|'EXPIRED'|'VALIDATION_TIMED_OUT'|'REVOKED'|'FAILED',
                  'Type': 'IMPORTED'|'AMAZON_ISSUED'|'PRIVATE',
                  'KeyAlgorithm': 'RSA_1024'|'RSA_2048'|'RSA_3072'|'RSA_4096'|'EC_prime256v1'|'EC_secp384r1'|'EC_secp521r1',
                  'KeyUsages': [
                      'DIGITAL_SIGNATURE'|'NON_REPUDIATION'|'KEY_ENCIPHERMENT'|'DATA_ENCIPHERMENT'|'KEY_AGREEMENT'|'CERTIFICATE_SIGNING'|'CRL_SIGNING'|'ENCIPHER_ONLY'|'DECIPHER_ONLY'|'ANY'|'CUSTOM',
                  ],
                  'ExtendedKeyUsages': [
                      'TLS_WEB_SERVER_AUTHENTICATION'|'TLS_WEB_CLIENT_AUTHENTICATION'|'CODE_SIGNING'|'EMAIL_PROTECTION'|'TIME_STAMPING'|'OCSP_SIGNING'|'IPSEC_END_SYSTEM'|'IPSEC_TUNNEL'|'IPSEC_USER'|'ANY'|'NONE'|'CUSTOM',
                  ],
                  'ExportOption': 'ENABLED'|'DISABLED',
                  'InUse': True|False,
                  'Exported': True|False,
                  'RenewalEligibility': 'ELIGIBLE'|'INELIGIBLE',
                  'NotBefore': datetime(2015, 1, 1),
                  'NotAfter': datetime(2015, 1, 1),
                  'CreatedAt': datetime(2015, 1, 1),
                  'IssuedAt': datetime(2015, 1, 1),
                  'ImportedAt': datetime(2015, 1, 1),
                  'RevokedAt': datetime(2015, 1, 1),
                  'ManagedBy': 'CLOUDFRONT'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **NextToken** *(string) --* 

        When the list is truncated, this value is present and contains the value to use for the ``NextToken`` parameter in a subsequent pagination request.

        
      

      - **CertificateSummaryList** *(list) --* 

        A list of ACM certificates.

        
        

        - *(dict) --* 

          This structure is returned in the response object of  ListCertificates action.

          
          

          - **CertificateArn** *(string) --* 

            Amazon Resource Name (ARN) of the certificate. This is of the form:

             

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

             

            For more information about ARNs, see `Amazon Resource Names (ARNs) <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`__.

            
          

          - **DomainName** *(string) --* 

            Fully qualified domain name (FQDN), such as www.example.com or example.com, for the certificate.

            
          

          - **SubjectAlternativeNameSummaries** *(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.

             

            When called by `ListCertificates <https://docs.aws.amazon.com/acm/latestAPIReference/API_ListCertificates.html>`__, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use `DescribeCertificate <https://docs.aws.amazon.com/acm/latestAPIReference/API_DescribeCertificate.html>`__.

            
            

            - *(string) --* 
        
          

          - **HasAdditionalSubjectAlternativeNames** *(boolean) --* 

            When called by `ListCertificates <https://docs.aws.amazon.com/acm/latestAPIReference/API_ListCertificates.html>`__, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use `DescribeCertificate <https://docs.aws.amazon.com/acm/latestAPIReference/API_DescribeCertificate.html>`__.

            
          

          - **Status** *(string) --* 

            The status of the certificate.

             

            A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic `Certificate request fails <https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html>`__. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with `DNS validation <https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html>`__ or `Email validation <https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html>`__, and try again. If validation succeeds, the certificate enters status ISSUED.

            
          

          - **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 <https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html>`__ for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see `Importing Certificates <https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html>`__ in the *Certificate Manager User Guide*.

            
          

          - **KeyAlgorithm** *(string) --* 

            The algorithm that was used to generate the public-private key pair.

            
          

          - **KeyUsages** *(list) --* 

            A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

            
            

            - *(string) --* 
        
          

          - **ExtendedKeyUsages** *(list) --* 

            Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

            
            

            - *(string) --* 
        
          

          - **ExportOption** *(string) --* 

            Indicates if export is enabled for the certificate.

            
          

          - **InUse** *(boolean) --* 

            Indicates whether the certificate is currently in use by any Amazon Web Services resources.

            
          

          - **Exported** *(boolean) --* 

            Indicates whether the certificate has been exported. This value exists only when the certificate type is ``PRIVATE``.

            
          

          - **RenewalEligibility** *(string) --* 

            Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the  RenewCertificate command.

            
          

          - **NotBefore** *(datetime) --* 

            The time before which the certificate is not valid.

            
          

          - **NotAfter** *(datetime) --* 

            The time after which the certificate is not valid.

            
          

          - **CreatedAt** *(datetime) --* 

            The time at which the certificate was requested.

            
          

          - **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 when the certificate was imported. This value exists only when the certificate type is ``IMPORTED``.

            
          

          - **RevokedAt** *(datetime) --* 

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

            
          

          - **ManagedBy** *(string) --* 

            Identifies the Amazon Web Services service that manages the certificate issued by ACM.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`ACM.Client.exceptions.ValidationException`

  
  *   :py:class:`ACM.Client.exceptions.InvalidArgsException`

  