

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::ACMPCA::CertificateAuthority
<a name="aws-resource-acmpca-certificateauthority"></a>

Use the `AWS::ACMPCA::CertificateAuthority` resource to create a private CA. Once the CA exists, you can use the `AWS::ACMPCA::Certificate` resource to issue a new CA certificate. Alternatively, you can issue a CA certificate using an on-premises CA, and then use the `AWS::ACMPCA::CertificateAuthorityActivation` resource to import the new CA certificate and activate the CA.

**Note**  
Before removing a `AWS::ACMPCA::CertificateAuthority` resource from the CloudFormation stack, disable the affected CA. Otherwise, the action will fail. You can disable the CA by removing its associated `AWS::ACMPCA::CertificateAuthorityActivation` resource from CloudFormation.

## Syntax
<a name="aws-resource-acmpca-certificateauthority-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-acmpca-certificateauthority-syntax.json"></a>

```
{
  "Type" : "AWS::ACMPCA::CertificateAuthority",
  "Properties" : {
      "[CsrExtensions](#cfn-acmpca-certificateauthority-csrextensions)" : CsrExtensions,
      "[KeyAlgorithm](#cfn-acmpca-certificateauthority-keyalgorithm)" : String,
      "[KeyStorageSecurityStandard](#cfn-acmpca-certificateauthority-keystoragesecuritystandard)" : String,
      "[RevocationConfiguration](#cfn-acmpca-certificateauthority-revocationconfiguration)" : RevocationConfiguration,
      "[SigningAlgorithm](#cfn-acmpca-certificateauthority-signingalgorithm)" : String,
      "[Subject](#cfn-acmpca-certificateauthority-subject)" : Subject,
      "[Tags](#cfn-acmpca-certificateauthority-tags)" : [ Tag, ... ],
      "[Type](#cfn-acmpca-certificateauthority-type)" : String,
      "[UsageMode](#cfn-acmpca-certificateauthority-usagemode)" : String
    }
}
```

### YAML
<a name="aws-resource-acmpca-certificateauthority-syntax.yaml"></a>

```
Type: AWS::ACMPCA::CertificateAuthority
Properties:
  [CsrExtensions](#cfn-acmpca-certificateauthority-csrextensions): 
    CsrExtensions
  [KeyAlgorithm](#cfn-acmpca-certificateauthority-keyalgorithm): String
  [KeyStorageSecurityStandard](#cfn-acmpca-certificateauthority-keystoragesecuritystandard): String
  [RevocationConfiguration](#cfn-acmpca-certificateauthority-revocationconfiguration): 
    RevocationConfiguration
  [SigningAlgorithm](#cfn-acmpca-certificateauthority-signingalgorithm): String
  [Subject](#cfn-acmpca-certificateauthority-subject): 
    Subject
  [Tags](#cfn-acmpca-certificateauthority-tags): 
    - Tag
  [Type](#cfn-acmpca-certificateauthority-type): String
  [UsageMode](#cfn-acmpca-certificateauthority-usagemode): String
```

## Properties
<a name="aws-resource-acmpca-certificateauthority-properties"></a>

`CsrExtensions`  <a name="cfn-acmpca-certificateauthority-csrextensions"></a>
Specifies information to be added to the extension section of the certificate signing request (CSR).  
*Required*: No  
*Type*: [CsrExtensions](aws-properties-acmpca-certificateauthority-csrextensions.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KeyAlgorithm`  <a name="cfn-acmpca-certificateauthority-keyalgorithm"></a>
Type of the public key algorithm and size, in bits, of the key pair that your CA creates when it issues a certificate. When you create a subordinate CA, you must use a key algorithm supported by the parent CA.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `RSA_2048 | RSA_3072 | RSA_4096 | EC_prime256v1 | EC_secp384r1 | EC_secp521r1 | ML_DSA_44 | ML_DSA_65 | ML_DSA_87 | SM2`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KeyStorageSecurityStandard`  <a name="cfn-acmpca-certificateauthority-keystoragesecuritystandard"></a>
Specifies a cryptographic key management compliance standard for handling and protecting CA keys.  
Default: FIPS\$1140\$12\$1LEVEL\$13\$1OR\$1HIGHER  
Some AWS Regions don't support the default value. When you create a CA in these Regions, you must use `CCPC_LEVEL_1_OR_HIGHER` for the `KeyStorageSecurityStandard` parameter. If you don't, the operation returns an `InvalidArgsException` with this message: "A certificate authority cannot be created in this region with the specified security standard."  
For information about security standard support in different AWS Regions, see [Storage and security compliance of AWS Private CA private keys](https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys).
*Required*: No  
*Type*: String  
*Allowed values*: `FIPS_140_2_LEVEL_2_OR_HIGHER | FIPS_140_2_LEVEL_3_OR_HIGHER | CCPC_LEVEL_1_OR_HIGHER`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RevocationConfiguration`  <a name="cfn-acmpca-certificateauthority-revocationconfiguration"></a>
Information about the Online Certificate Status Protocol (OCSP) configuration or certificate revocation list (CRL) created and maintained by your private CA.   
*Required*: No  
*Type*: [RevocationConfiguration](aws-properties-acmpca-certificateauthority-revocationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SigningAlgorithm`  <a name="cfn-acmpca-certificateauthority-signingalgorithm"></a>
Name of the algorithm your private CA uses to sign certificate requests.  
This parameter should not be confused with the `SigningAlgorithm` parameter of the `IssueCertificate` API action, which is used to sign certificates when they are issued.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SHA256WITHECDSA | SHA384WITHECDSA | SHA512WITHECDSA | SHA256WITHRSA | SHA384WITHRSA | SHA512WITHRSA | SM3WITHSM2 | ML_DSA_44 | ML_DSA_65 | ML_DSA_87`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Subject`  <a name="cfn-acmpca-certificateauthority-subject"></a>
Structure that contains X.500 distinguished name information for your private CA.  
*Required*: Yes  
*Type*: [Subject](aws-properties-acmpca-certificateauthority-subject.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-acmpca-certificateauthority-tags"></a>
Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with IAM to manage permissions, see [Controlling Access Using IAM Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-acmpca-certificateauthority-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-acmpca-certificateauthority-type"></a>
Type of your private CA.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ROOT | SUBORDINATE`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UsageMode`  <a name="cfn-acmpca-certificateauthority-usagemode"></a>
Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days.  
The default value is GENERAL\$1PURPOSE.  
*Required*: No  
*Type*: String  
*Allowed values*: `GENERAL_PURPOSE | SHORT_LIVED_CERTIFICATE`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-acmpca-certificateauthority-return-values"></a>

### Ref
<a name="aws-resource-acmpca-certificateauthority-return-values-ref"></a>

The Amazon Resource Name (ARN) of the certificate authority.

### Fn::GetAtt
<a name="aws-resource-acmpca-certificateauthority-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-acmpca-certificateauthority-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) for the private CA that issued the certificate.

`CertificateSigningRequest`  <a name="CertificateSigningRequest-fn::getatt"></a>
The Base64 PEM-encoded certificate signing request (CSR) for your certificate authority certificate.

## Examples
<a name="aws-resource-acmpca-certificateauthority--examples"></a>

The following example of a CloudFormation template sets up a CA hierarchy and permission. The example illustrates the use of `AWS::ACMPCA::Certificate`, `AWS::ACMPCA::CertificateAuthority`, and `AWS::ACMPCA::CertificateAuthorityActivation`, and `AWS::ACMPCA::Permission` resources. 

### Declaring a private CA Hierarchy
<a name="aws-resource-acmpca-certificateauthority--examples--Declaring_a_private_CA_Hierarchy"></a>

#### JSON
<a name="aws-resource-acmpca-certificateauthority--examples--Declaring_a_private_CA_Hierarchy--json"></a>

```
{
   "AWSTemplateFormatVersion":"2010-09-09",
   "Description":"Cloudformation template to setup CA.",
   "Resources":{
      "RootCA":{
         "Type":"AWS::ACMPCA::CertificateAuthority",
         "Properties":{
            "Type":"ROOT",
            "KeyAlgorithm":"RSA_2048",
            "SigningAlgorithm":"SHA256WITHRSA",
            "Subject":{
               "Country":"US",
               "Organization":"string",
               "OrganizationalUnit":"string",
               "DistinguishedNameQualifier":"string",
               "State":"string",
               "CommonName":"123",
               "SerialNumber":"string",
               "Locality":"string",
               "Title":"string",
               "Surname":"string",
               "GivenName":"string",
               "Initials":"DG",
               "Pseudonym":"string",
               "GenerationQualifier":"DBG"
            },
            "RevocationConfiguration":{
               "CrlConfiguration":{
                  "Enabled":false
               }
            }
         }
      },
      "RootCACertificate":{
         "Type":"AWS::ACMPCA::Certificate",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"RootCA"
            },
            "CertificateSigningRequest":{
               "Fn::GetAtt":[
                  "RootCA",
                  "CertificateSigningRequest"
               ]
            },
            "SigningAlgorithm":"SHA256WITHRSA",
            "TemplateArn":"arn:aws:acm-pca:::template/RootCACertificate/V1",
            "Validity":{
               "Type":"DAYS",
               "Value":100
            }
         }
      },
      "RootCAActivation":{
         "Type":"AWS::ACMPCA::CertificateAuthorityActivation",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"RootCA"
            },
            "Certificate":{
               "Fn::GetAtt":[
                  "RootCACertificate",
                  "Certificate"
               ]
            },
            "Status":"ACTIVE"
         }
      },
      "RootCAPermission":{
         "Type":"AWS::ACMPCA::Permission",
         "Properties":{
            "Actions":[
                "IssueCertificate",
                "GetCertificate",
                "ListPermissions"
            ],
            "CertificateAuthorityArn":{
               "Ref":"RootCA"
            },
            "Principal":"acm.amazonaws.com"
         }
      },
      "SubordinateCAOne":{
         "Type":"AWS::ACMPCA::CertificateAuthority",
         "Properties":{
            "Type":"SUBORDINATE",
            "KeyAlgorithm":"RSA_2048",
            "SigningAlgorithm":"SHA256WITHRSA",
            "Subject":{
               "Country":"US",
               "Organization":"string",
               "OrganizationalUnit":"string",
               "DistinguishedNameQualifier":"string",
               "State":"string",
               "CommonName":"Sub1",
               "SerialNumber":"string",
               "Locality":"string",
               "Title":"string",
               "Surname":"string",
               "GivenName":"string",
               "Initials":"DG",
               "Pseudonym":"string",
               "GenerationQualifier":"DBG"
            },
            "RevocationConfiguration":{
               
            },
            "Tags":[
               
            ]
         }
      },
      "SubordinateCAOneCACertificate":{
         "DependsOn":"RootCAActivation",
         "Type":"AWS::ACMPCA::Certificate",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"RootCA"
            },
            "CertificateSigningRequest":{
               "Fn::GetAtt":[
                  "SubordinateCAOne",
                  "CertificateSigningRequest"
               ]
            },
            "SigningAlgorithm":"SHA256WITHRSA",
            "TemplateArn":"arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1",
            "Validity":{
               "Type":"DAYS",
               "Value":90
            }
         }
      },
      "SubordinateCAOneActivation":{
         "Type":"AWS::ACMPCA::CertificateAuthorityActivation",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"SubordinateCAOne"
            },
            "Certificate":{
               "Fn::GetAtt":[
                  "SubordinateCAOneCACertificate",
                  "Certificate"
               ]
            },
            "CertificateChain":{
               "Fn::GetAtt":[
                  "RootCAActivation",
                  "CompleteCertificateChain"
               ]
            },
            "Status":"ACTIVE"
         }
      },
      "SubordinateCAOnePermission":{
         "Type":"AWS::ACMPCA::Permission",
         "Properties":{
            "Actions":[
                "IssueCertificate",
                "GetCertificate",
                "ListPermissions"
            ],
            "CertificateAuthorityArn":{
               "Ref":"SubordinateCAOne"
            },
            "Principal":"acm.amazonaws.com"
         }
      },
      "SubordinateCATwo":{
         "Type":"AWS::ACMPCA::CertificateAuthority",
         "Properties":{
            "Type":"SUBORDINATE",
            "KeyAlgorithm":"RSA_2048",
            "SigningAlgorithm":"SHA256WITHRSA",
            "Subject":{
               "Country":"US",
               "Organization":"string",
               "OrganizationalUnit":"string",
               "DistinguishedNameQualifier":"string",
               "State":"string",
               "SerialNumber":"string",
               "Locality":"string",
               "Title":"string",
               "Surname":"string",
               "GivenName":"string",
               "Initials":"DG",
               "Pseudonym":"string",
               "GenerationQualifier":"DBG"
            },
            "Tags":[
               {
                  "Key":"Key1",
                  "Value":"Value1"
               },
               {
                  "Key":"Key2",
                  "Value":"Value2"
               }
            ]
         }
      },
      "SubordinateCATwoCACertificate":{
         "DependsOn":"SubordinateCAOneActivation",
         "Type":"AWS::ACMPCA::Certificate",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"SubordinateCAOne"
            },
            "CertificateSigningRequest":{
               "Fn::GetAtt":[
                  "SubordinateCATwo",
                  "CertificateSigningRequest"
               ]
            },
            "SigningAlgorithm":"SHA256WITHRSA",
            "TemplateArn":"arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen2/V1",
            "Validity":{
               "Type":"DAYS",
               "Value":80
            }
         }
      },
      "SubordinateCATwoActivation":{
         "Type":"AWS::ACMPCA::CertificateAuthorityActivation",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"SubordinateCATwo"
            },
            "Certificate":{
               "Fn::GetAtt":[
                  "SubordinateCATwoCACertificate",
                  "Certificate"
               ]
            },
            "CertificateChain":{
               "Fn::GetAtt":[
                  "SubordinateCAOneActivation",
                  "CompleteCertificateChain"
               ]
            }
         }
      },
      "SubordinateCATwoPermission":{
         "Type":"AWS::ACMPCA::Permission",
         "Properties":{
            "Actions":[
                "IssueCertificate",
                "GetCertificate",
                "ListPermissions"
            ],
            "CertificateAuthorityArn":{
               "Ref":"SubordinateCATwo"
            },
            "Principal":"acm.amazonaws.com"
         }
      },
      "EndEntityCertificate":{
         "DependsOn":"SubordinateCATwoActivation",
         "Type":"AWS::ACMPCA::Certificate",
         "Properties":{
            "CertificateAuthorityArn":{
               "Ref":"SubordinateCATwo"
            },
            "CertificateSigningRequest":{
               "Fn::Join":[
                  "\n",
                  [
                     "-----BEGIN CERTIFICATE REQUEST-----",
                     "MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV",
                     "BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln",
                     "aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG",
                     "9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo",
                     "wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c",
                     "1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI",
                     "WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ",
                     "wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR",
                     "BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ",
                     "KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D",
                     "hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY",
                     "Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/",
                     "ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn",
                     "29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2",
                     "97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=",
                     "-----END CERTIFICATE REQUEST-----"
                  ]
               ]
            },
            "SigningAlgorithm":"SHA256WITHRSA",
            "Validity":{
               "Type":"DAYS",
               "Value":70
            }
         }
      }
   },
   "Outputs":{
      "CompleteCertificateChain":{
         "Value":{
            "Fn::GetAtt":[
               "SubordinateCATwoActivation",
               "CompleteCertificateChain"
            ]
         }
      },
      "CertificateArn":{
         "Value":{
            "Fn::GetAtt":[
               "EndEntityCertificate",
               "Arn"
            ]
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-acmpca-certificateauthority--examples--Declaring_a_private_CA_Hierarchy--yaml"></a>

```
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Cloudformation template to setup CA.
Resources:
  RootCA:
    Type: AWS::ACMPCA::CertificateAuthority
    Properties:
      Type: ROOT
      KeyAlgorithm: RSA_2048
      SigningAlgorithm: SHA256WITHRSA
      Subject:
        Country: US
        Organization: string
        OrganizationalUnit: string
        DistinguishedNameQualifier: string
        State: string
        CommonName: '123'
        SerialNumber: string
        Locality: string
        Title: string
        Surname: string
        GivenName: string
        Initials: DG
        Pseudonym: string
        GenerationQualifier: DBG
      RevocationConfiguration:
        CrlConfiguration:
          Enabled: false
  RootCACertificate:
    Type: AWS::ACMPCA::Certificate
    Properties:
      CertificateAuthorityArn:
        Ref: RootCA
      CertificateSigningRequest:
        Fn::GetAtt:
        - RootCA
        - CertificateSigningRequest
      SigningAlgorithm: SHA256WITHRSA
      TemplateArn: arn:aws:acm-pca:::template/RootCACertificate/V1
      Validity:
        Type: DAYS
        Value: 100
  RootCAActivation:
    Type: AWS::ACMPCA::CertificateAuthorityActivation
    Properties:
      CertificateAuthorityArn:
        Ref: RootCA
      Certificate:
        Fn::GetAtt:
        - RootCACertificate
        - Certificate
      Status: ACTIVE
  RootCAPermission:
    Type: AWS::ACMPCA::Permission
    Properties:
      Actions:
        - IssueCertificate
        - GetCertificate
        - ListPermissions
      CertificateAuthorityArn: !Ref RootCA
      Principal: acm.amazonaws.com
  SubordinateCAOne:
    Type: AWS::ACMPCA::CertificateAuthority
    Properties:
      Type: SUBORDINATE
      KeyAlgorithm: RSA_2048
      SigningAlgorithm: SHA256WITHRSA
      Subject:
        Country: US
        Organization: string
        OrganizationalUnit: string
        DistinguishedNameQualifier: string
        State: string
        CommonName: Sub1
        SerialNumber: string
        Locality: string
        Title: string
        Surname: string
        GivenName: string
        Initials: DG
        Pseudonym: string
        GenerationQualifier: DBG
      RevocationConfiguration: {}
      Tags: []
  SubordinateCAOneCACertificate:
    DependsOn: RootCAActivation
    Type: AWS::ACMPCA::Certificate
    Properties:
      CertificateAuthorityArn:
        Ref: RootCA
      CertificateSigningRequest:
        Fn::GetAtt:
        - SubordinateCAOne
        - CertificateSigningRequest
      SigningAlgorithm: SHA256WITHRSA
      TemplateArn: arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1
      Validity:
        Type: DAYS
        Value: 90
  SubordinateCAOneActivation:
    Type: AWS::ACMPCA::CertificateAuthorityActivation
    Properties:
      CertificateAuthorityArn:
        Ref: SubordinateCAOne
      Certificate:
        Fn::GetAtt:
        - SubordinateCAOneCACertificate
        - Certificate
      CertificateChain:
        Fn::GetAtt:
        - RootCAActivation
        - CompleteCertificateChain
      Status: ACTIVE
  SubordinateCAOnePermission:
    Type: AWS::ACMPCA::Permission
    Properties:
      Actions:
        - IssueCertificate
        - GetCertificate
        - ListPermissions
      CertificateAuthorityArn: !Ref SubordinateCAOne
      Principal: acm.amazonaws.com
  SubordinateCATwo:
    Type: AWS::ACMPCA::CertificateAuthority
    Properties:
      Type: SUBORDINATE
      KeyAlgorithm: RSA_2048
      SigningAlgorithm: SHA256WITHRSA
      Subject:
        Country: US
        Organization: string
        OrganizationalUnit: string
        DistinguishedNameQualifier: string
        State: string
        SerialNumber: string
        Locality: string
        Title: string
        Surname: string
        GivenName: string
        Initials: DG
        Pseudonym: string
        GenerationQualifier: DBG
      Tags:
      - Key: Key1
        Value: Value1
      - Key: Key2
        Value: Value2
  SubordinateCATwoCACertificate:
    DependsOn: SubordinateCAOneActivation
    Type: AWS::ACMPCA::Certificate
    Properties:
      CertificateAuthorityArn:
        Ref: SubordinateCAOne
      CertificateSigningRequest:
        Fn::GetAtt:
        - SubordinateCATwo
        - CertificateSigningRequest
      SigningAlgorithm: SHA256WITHRSA
      TemplateArn: arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen2/V1
      Validity:
        Type: DAYS
        Value: 80
  SubordinateCATwoActivation:
    Type: AWS::ACMPCA::CertificateAuthorityActivation
    Properties:
      CertificateAuthorityArn:
        Ref: SubordinateCATwo
      Certificate:
        Fn::GetAtt:
        - SubordinateCATwoCACertificate
        - Certificate
      CertificateChain:
        Fn::GetAtt:
        - SubordinateCAOneActivation
        - CompleteCertificateChain
  SubordinateCATwoPermission:
    Type: AWS::ACMPCA::Permission
    Properties:
      Actions:
        - IssueCertificate
        - GetCertificate
        - ListPermissions
      CertificateAuthorityArn: !Ref SubordinateCATwo
      Principal: acm.amazonaws.com
  EndEntityCertificate:
    DependsOn: SubordinateCATwoActivation
    Type: AWS::ACMPCA::Certificate
    Properties:
      CertificateAuthorityArn:
        Ref: SubordinateCATwo
      CertificateSigningRequest:
        Fn::Join:
        - "\n"
        - - "-----BEGIN CERTIFICATE REQUEST-----"
          - MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV
          - BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln
          - aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG
          - 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo
          - wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c
          - 1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI
          - WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ
          - wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR
          - BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ
          - KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D
          - hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY
          - Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/
          - ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn
          - 29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2
          - 97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=
          - "-----END CERTIFICATE REQUEST-----"
      SigningAlgorithm: SHA256WITHRSA
      Validity:
        Type: DAYS
        Value: 70
Outputs:
  CompleteCertificateChain:
    Value:
      Fn::GetAtt:
      - SubordinateCATwoActivation
      - CompleteCertificateChain
  CertificateArn:
    Value:
      Fn::GetAtt:
      - EndEntityCertificate
      - Arn
```

# AWS::ACMPCA::CertificateAuthority AccessDescription
<a name="aws-properties-acmpca-certificateauthority-accessdescription"></a>

Provides access information used by the `authorityInfoAccess` and `subjectInfoAccess` extensions described in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280).

## Syntax
<a name="aws-properties-acmpca-certificateauthority-accessdescription-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-accessdescription-syntax.json"></a>

```
{
  "[AccessLocation](#cfn-acmpca-certificateauthority-accessdescription-accesslocation)" : GeneralName,
  "[AccessMethod](#cfn-acmpca-certificateauthority-accessdescription-accessmethod)" : AccessMethod
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-accessdescription-syntax.yaml"></a>

```
  [AccessLocation](#cfn-acmpca-certificateauthority-accessdescription-accesslocation): 
    GeneralName
  [AccessMethod](#cfn-acmpca-certificateauthority-accessdescription-accessmethod): 
    AccessMethod
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-accessdescription-properties"></a>

`AccessLocation`  <a name="cfn-acmpca-certificateauthority-accessdescription-accesslocation"></a>
The location of `AccessDescription` information.  
*Required*: Yes  
*Type*: [GeneralName](aws-properties-acmpca-certificateauthority-generalname.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AccessMethod`  <a name="cfn-acmpca-certificateauthority-accessdescription-accessmethod"></a>
The type and format of `AccessDescription` information.  
*Required*: Yes  
*Type*: [AccessMethod](aws-properties-acmpca-certificateauthority-accessmethod.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority AccessMethod
<a name="aws-properties-acmpca-certificateauthority-accessmethod"></a>

Describes the type and format of extension access. Only one of `CustomObjectIdentifier` or `AccessMethodType` may be provided. Providing both results in `InvalidArgsException`.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-accessmethod-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-accessmethod-syntax.json"></a>

```
{
  "[AccessMethodType](#cfn-acmpca-certificateauthority-accessmethod-accessmethodtype)" : String,
  "[CustomObjectIdentifier](#cfn-acmpca-certificateauthority-accessmethod-customobjectidentifier)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-accessmethod-syntax.yaml"></a>

```
  [AccessMethodType](#cfn-acmpca-certificateauthority-accessmethod-accessmethodtype): String
  [CustomObjectIdentifier](#cfn-acmpca-certificateauthority-accessmethod-customobjectidentifier): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-accessmethod-properties"></a>

`AccessMethodType`  <a name="cfn-acmpca-certificateauthority-accessmethod-accessmethodtype"></a>
Specifies the `AccessMethod`.  
*Required*: No  
*Type*: String  
*Allowed values*: `CA_REPOSITORY | RESOURCE_PKI_MANIFEST | RESOURCE_PKI_NOTIFY`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CustomObjectIdentifier`  <a name="cfn-acmpca-certificateauthority-accessmethod-customobjectidentifier"></a>
An object identifier (OID) specifying the `AccessMethod`. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of [Object Identifier (OID)](https://csrc.nist.gov/glossary/term/Object_Identifier).  
*Required*: No  
*Type*: String  
*Pattern*: `([0-2])\.([0-9]|([0-3][0-9]))((\.([0-9]+)){0,126})`  
*Minimum*: `0`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority CrlConfiguration
<a name="aws-properties-acmpca-certificateauthority-crlconfiguration"></a>

Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the **Enabled** parameter to `true`. Your private CA writes CRLs to an S3 bucket that you specify in the **S3BucketName** parameter. You can hide the name of your bucket by specifying a value for the **CustomCname** parameter. Your private CA by default copies the CNAME or the S3 bucket name to the **CRL Distribution Points** extension of each certificate it issues. If you want to configure this default behavior to be something different, you can set the **CrlDistributionPointExtensionConfiguration** parameter. Your S3 bucket policy must give write permission to AWS Private CA.

AWS Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see [Encrypting Your CRLs](https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption).

Your private CA uses the value in the **ExpirationInDays** parameter to calculate the **nextUpdate** field in the CRL. The CRL is refreshed prior to a certificate's expiration date or when a certificate is revoked. When a certificate is revoked, it appears in the CRL until the certificate expires, and then in one additional CRL after expiration, and it always appears in the audit report.

A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, AWS Private CA makes further attempts every 15 minutes.

CRLs contain the following fields:
+ **Version**: The current version number defined in RFC 5280 is V2. The integer value is 0x1. 
+ **Signature Algorithm**: The name of the algorithm used to sign the CRL.
+ **Issuer**: The X.500 distinguished name of your private CA that issued the CRL.
+ **Last Update**: The issue date and time of this CRL.
+ **Next Update**: The day and time by which the next CRL will be issued.
+ **Revoked Certificates**: List of revoked certificates. Each list item contains the following information.
  + **Serial Number**: The serial number, in hexadecimal format, of the revoked certificate.
  + **Revocation Date**: Date and time the certificate was revoked.
  + **CRL Entry Extensions**: Optional extensions for the CRL entry.
    + **X509v3 CRL Reason Code**: Reason the certificate was revoked.
+ **CRL Extensions**: Optional extensions for the CRL.
  + **X509v3 Authority Key Identifier**: Identifies the public key associated with the private key used to sign the certificate.
  + **X509v3 CRL Number:**: Decimal sequence number for the CRL.
+ **Signature Algorithm**: Algorithm used by your private CA to sign the CRL.
+ **Signature Value**: Signature computed over the CRL.

Certificate revocation lists created by AWS Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL.

 `openssl crl -inform DER -text -in crl_path -noout` 

For more information, see [Planning a certificate revocation list (CRL)](https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html) in the *AWS Private Certificate Authority User Guide*

## Syntax
<a name="aws-properties-acmpca-certificateauthority-crlconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-crlconfiguration-syntax.json"></a>

```
{
  "[CrlDistributionPointExtensionConfiguration](#cfn-acmpca-certificateauthority-crlconfiguration-crldistributionpointextensionconfiguration)" : CrlDistributionPointExtensionConfiguration,
  "[CrlType](#cfn-acmpca-certificateauthority-crlconfiguration-crltype)" : String,
  "[CustomCname](#cfn-acmpca-certificateauthority-crlconfiguration-customcname)" : String,
  "[CustomPath](#cfn-acmpca-certificateauthority-crlconfiguration-custompath)" : String,
  "[Enabled](#cfn-acmpca-certificateauthority-crlconfiguration-enabled)" : Boolean,
  "[ExpirationInDays](#cfn-acmpca-certificateauthority-crlconfiguration-expirationindays)" : Integer,
  "[S3BucketName](#cfn-acmpca-certificateauthority-crlconfiguration-s3bucketname)" : String,
  "[S3ObjectAcl](#cfn-acmpca-certificateauthority-crlconfiguration-s3objectacl)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-crlconfiguration-syntax.yaml"></a>

```
  [CrlDistributionPointExtensionConfiguration](#cfn-acmpca-certificateauthority-crlconfiguration-crldistributionpointextensionconfiguration): 
    CrlDistributionPointExtensionConfiguration
  [CrlType](#cfn-acmpca-certificateauthority-crlconfiguration-crltype): String
  [CustomCname](#cfn-acmpca-certificateauthority-crlconfiguration-customcname): String
  [CustomPath](#cfn-acmpca-certificateauthority-crlconfiguration-custompath): String
  [Enabled](#cfn-acmpca-certificateauthority-crlconfiguration-enabled): Boolean
  [ExpirationInDays](#cfn-acmpca-certificateauthority-crlconfiguration-expirationindays): Integer
  [S3BucketName](#cfn-acmpca-certificateauthority-crlconfiguration-s3bucketname): String
  [S3ObjectAcl](#cfn-acmpca-certificateauthority-crlconfiguration-s3objectacl): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-crlconfiguration-properties"></a>

`CrlDistributionPointExtensionConfiguration`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-crldistributionpointextensionconfiguration"></a>
Configures the default behavior of the CRL Distribution Point extension for certificates issued by your CA. If this field is not provided, then the CRL Distribution Point extension will be present and contain the default CRL URL.  
*Required*: No  
*Type*: [CrlDistributionPointExtensionConfiguration](aws-properties-acmpca-certificateauthority-crldistributionpointextensionconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CrlType`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-crltype"></a>
Specifies the type of CRL. This setting determines the maximum number of certificates that the certificate authority can issue and revoke. For more information, see [AWS Private CA quotas](https://docs.aws.amazon.com/general/latest/gr/pca.html#limits_pca).  
+ `COMPLETE` - The default setting. AWS Private CA maintains a single CRL file for all unexpired certificates issued by a CA that have been revoked for any reason. Each certificate that AWS Private CA issues is bound to a specific CRL through the CRL distribution point (CDP) defined in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280). 
+ `PARTITIONED` - Compared to complete CRLs, partitioned CRLs dramatically increase the number of certificates your private CA can issue. 
**Important**  
When using partitioned CRLs, you must validate that the CRL's associated issuing distribution point (IDP) URI matches the certiﬁcate's CDP URI to ensure the right CRL has been fetched. AWS Private CA marks the IDP extension as critical, which your client must be able to process. 
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomCname`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-customcname"></a>
Name inserted into the certificate **CRL Distribution Points** extension that enables the use of an alias for the CRL distribution point. Use this value if you don't want the name of your S3 bucket to be public.  
The content of a Canonical Name (CNAME) record must conform to [RFC2396](https://www.ietf.org/rfc/rfc2396.txt) restrictions on the use of special characters in URIs. Additionally, the value of the CNAME must not include a protocol prefix such as "http://" or "https://".
*Required*: No  
*Type*: String  
*Pattern*: `[-a-zA-Z0-9;/?:@&=+$,%_.!~*()']*`  
*Minimum*: `0`  
*Maximum*: `253`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomPath`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-custompath"></a>
Designates a custom file path in S3 for CRL(s). For example, `http://<CustomName>/<CustomPath>/<CrlPartition_GUID>.crl`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-enabled"></a>
Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. You can use this value to enable certificate revocation for a new CA when you call the `CreateCertificateAuthority` operation or for an existing CA when you call the `UpdateCertificateAuthority` operation.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExpirationInDays`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-expirationindays"></a>
Validity period of the CRL in days.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3BucketName`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-s3bucketname"></a>
Name of the S3 bucket that contains the CRL. If you do not provide a value for the **CustomCname** argument, the name of your S3 bucket is placed into the **CRL Distribution Points** extension of the issued certificate. You can change the name of your bucket by calling the [UpdateCertificateAuthority](https://docs.aws.amazon.com/privateca/latest/APIReference/API_UpdateCertificateAuthority.html) operation. You must specify a [bucket policy](https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html#s3-policies) that allows AWS Private CA to write the CRL to your bucket.  
The `S3BucketName` parameter must conform to the [S3 bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
*Required*: No  
*Type*: String  
*Pattern*: `[-a-zA-Z0-9._/]+`  
*Minimum*: `3`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3ObjectAcl`  <a name="cfn-acmpca-certificateauthority-crlconfiguration-s3objectacl"></a>
Determines whether the CRL will be publicly readable or privately held in the CRL Amazon S3 bucket. If you choose PUBLIC\$1READ, the CRL will be accessible over the public internet. If you choose BUCKET\$1OWNER\$1FULL\$1CONTROL, only the owner of the CRL S3 bucket can access the CRL, and your PKI clients may need an alternative method of access.  
If no value is specified, the default is PUBLIC\$1READ.  
*Note:* This default can cause CA creation to fail in some circumstances. If you have have enabled the Block Public Access (BPA) feature in your S3 account, then you must specify the value of this parameter as `BUCKET_OWNER_FULL_CONTROL`, and not doing so results in an error. If you have disabled BPA in S3, then you can specify either `BUCKET_OWNER_FULL_CONTROL` or `PUBLIC_READ` as the value.  
For more information, see [Blocking public access to the S3 bucket](https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#s3-bpa).  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ACMPCA::CertificateAuthority CrlDistributionPointExtensionConfiguration
<a name="aws-properties-acmpca-certificateauthority-crldistributionpointextensionconfiguration"></a>

Contains configuration information for the default behavior of the CRL Distribution Point (CDP) extension in certificates issued by your CA. This extension contains a link to download the CRL, so you can check whether a certificate has been revoked. To choose whether you want this extension omitted or not in certificates issued by your CA, you can set the **OmitExtension** parameter.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-crldistributionpointextensionconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-crldistributionpointextensionconfiguration-syntax.json"></a>

```
{
  "[OmitExtension](#cfn-acmpca-certificateauthority-crldistributionpointextensionconfiguration-omitextension)" : Boolean
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-crldistributionpointextensionconfiguration-syntax.yaml"></a>

```
  [OmitExtension](#cfn-acmpca-certificateauthority-crldistributionpointextensionconfiguration-omitextension): Boolean
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-crldistributionpointextensionconfiguration-properties"></a>

`OmitExtension`  <a name="cfn-acmpca-certificateauthority-crldistributionpointextensionconfiguration-omitextension"></a>
Configures whether the CRL Distribution Point extension should be populated with the default URL to the CRL. If set to `true`, then the CDP extension will not be present in any certificates issued by that CA unless otherwise specified through CSR or API passthrough.  
Only set this if you have another way to distribute the CRL Distribution Points for certificates issued by your CA, such as the Matter Distributed Compliance Ledger.  
This configuration cannot be enabled with a custom CNAME set.
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ACMPCA::CertificateAuthority CsrExtensions
<a name="aws-properties-acmpca-certificateauthority-csrextensions"></a>

Describes the certificate extensions to be added to the certificate signing request (CSR).

## Syntax
<a name="aws-properties-acmpca-certificateauthority-csrextensions-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-csrextensions-syntax.json"></a>

```
{
  "[KeyUsage](#cfn-acmpca-certificateauthority-csrextensions-keyusage)" : KeyUsage,
  "[SubjectInformationAccess](#cfn-acmpca-certificateauthority-csrextensions-subjectinformationaccess)" : [ AccessDescription, ... ]
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-csrextensions-syntax.yaml"></a>

```
  [KeyUsage](#cfn-acmpca-certificateauthority-csrextensions-keyusage): 
    KeyUsage
  [SubjectInformationAccess](#cfn-acmpca-certificateauthority-csrextensions-subjectinformationaccess): 
    - AccessDescription
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-csrextensions-properties"></a>

`KeyUsage`  <a name="cfn-acmpca-certificateauthority-csrextensions-keyusage"></a>
Indicates the purpose of the certificate and of the key contained in the certificate.  
*Required*: No  
*Type*: [KeyUsage](aws-properties-acmpca-certificateauthority-keyusage.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SubjectInformationAccess`  <a name="cfn-acmpca-certificateauthority-csrextensions-subjectinformationaccess"></a>
For CA certificates, provides a path to additional information pertaining to the CA, such as revocation and policy. For more information, see [Subject Information Access](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.2.2) in RFC 5280.  
*Required*: No  
*Type*: Array of [AccessDescription](aws-properties-acmpca-certificateauthority-accessdescription.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority CustomAttribute
<a name="aws-properties-acmpca-certificateauthority-customattribute"></a>

Defines the X.500 relative distinguished name (RDN).

## Syntax
<a name="aws-properties-acmpca-certificateauthority-customattribute-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-customattribute-syntax.json"></a>

```
{
  "[ObjectIdentifier](#cfn-acmpca-certificateauthority-customattribute-objectidentifier)" : String,
  "[Value](#cfn-acmpca-certificateauthority-customattribute-value)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-customattribute-syntax.yaml"></a>

```
  [ObjectIdentifier](#cfn-acmpca-certificateauthority-customattribute-objectidentifier): String
  [Value](#cfn-acmpca-certificateauthority-customattribute-value): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-customattribute-properties"></a>

`ObjectIdentifier`  <a name="cfn-acmpca-certificateauthority-customattribute-objectidentifier"></a>
Specifies the object identifier (OID) of the attribute type of the relative distinguished name (RDN).  
*Required*: Yes  
*Type*: String  
*Pattern*: `([0-2])\.([0-9]|([0-3][0-9]))((\.([0-9]+)){0,126})`  
*Minimum*: `0`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-acmpca-certificateauthority-customattribute-value"></a>
  
Specifies the attribute value of relative distinguished name (RDN).  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority EdiPartyName
<a name="aws-properties-acmpca-certificateauthority-edipartyname"></a>

Describes an Electronic Data Interchange (EDI) entity as described in as defined in [Subject Alternative Name](https://datatracker.ietf.org/doc/html/rfc5280) in RFC 5280.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-edipartyname-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-edipartyname-syntax.json"></a>

```
{
  "[NameAssigner](#cfn-acmpca-certificateauthority-edipartyname-nameassigner)" : String,
  "[PartyName](#cfn-acmpca-certificateauthority-edipartyname-partyname)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-edipartyname-syntax.yaml"></a>

```
  [NameAssigner](#cfn-acmpca-certificateauthority-edipartyname-nameassigner): String
  [PartyName](#cfn-acmpca-certificateauthority-edipartyname-partyname): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-edipartyname-properties"></a>

`NameAssigner`  <a name="cfn-acmpca-certificateauthority-edipartyname-nameassigner"></a>
Specifies the name assigner.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PartyName`  <a name="cfn-acmpca-certificateauthority-edipartyname-partyname"></a>
Specifies the party name.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority GeneralName
<a name="aws-properties-acmpca-certificateauthority-generalname"></a>

Describes an ASN.1 X.400 `GeneralName` as defined in [RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280). Only one of the following naming options should be provided. Providing more than one option results in an `InvalidArgsException` error.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-generalname-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-generalname-syntax.json"></a>

```
{
  "[DirectoryName](#cfn-acmpca-certificateauthority-generalname-directoryname)" : Subject,
  "[DnsName](#cfn-acmpca-certificateauthority-generalname-dnsname)" : String,
  "[EdiPartyName](#cfn-acmpca-certificateauthority-generalname-edipartyname)" : EdiPartyName,
  "[IpAddress](#cfn-acmpca-certificateauthority-generalname-ipaddress)" : String,
  "[OtherName](#cfn-acmpca-certificateauthority-generalname-othername)" : OtherName,
  "[RegisteredId](#cfn-acmpca-certificateauthority-generalname-registeredid)" : String,
  "[Rfc822Name](#cfn-acmpca-certificateauthority-generalname-rfc822name)" : String,
  "[UniformResourceIdentifier](#cfn-acmpca-certificateauthority-generalname-uniformresourceidentifier)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-generalname-syntax.yaml"></a>

```
  [DirectoryName](#cfn-acmpca-certificateauthority-generalname-directoryname): 
    Subject
  [DnsName](#cfn-acmpca-certificateauthority-generalname-dnsname): String
  [EdiPartyName](#cfn-acmpca-certificateauthority-generalname-edipartyname): 
    EdiPartyName
  [IpAddress](#cfn-acmpca-certificateauthority-generalname-ipaddress): String
  [OtherName](#cfn-acmpca-certificateauthority-generalname-othername): 
    OtherName
  [RegisteredId](#cfn-acmpca-certificateauthority-generalname-registeredid): String
  [Rfc822Name](#cfn-acmpca-certificateauthority-generalname-rfc822name): String
  [UniformResourceIdentifier](#cfn-acmpca-certificateauthority-generalname-uniformresourceidentifier): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-generalname-properties"></a>

`DirectoryName`  <a name="cfn-acmpca-certificateauthority-generalname-directoryname"></a>
Contains information about the certificate subject. The certificate can be one issued by your private certificate authority (CA) or it can be your private CA certificate. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. The DN must be unique for each entity, but your private CA can issue more than one certificate with the same DN to the same entity.  
*Required*: No  
*Type*: [Subject](aws-properties-acmpca-certificateauthority-subject.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DnsName`  <a name="cfn-acmpca-certificateauthority-generalname-dnsname"></a>
Represents `GeneralName` as a DNS name.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `253`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EdiPartyName`  <a name="cfn-acmpca-certificateauthority-generalname-edipartyname"></a>
Represents `GeneralName` as an `EdiPartyName` object.  
*Required*: No  
*Type*: [EdiPartyName](aws-properties-acmpca-certificateauthority-edipartyname.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IpAddress`  <a name="cfn-acmpca-certificateauthority-generalname-ipaddress"></a>
Represents `GeneralName` as an IPv4 or IPv6 address.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `39`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OtherName`  <a name="cfn-acmpca-certificateauthority-generalname-othername"></a>
Represents `GeneralName` using an `OtherName` object.  
*Required*: No  
*Type*: [OtherName](aws-properties-acmpca-certificateauthority-othername.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RegisteredId`  <a name="cfn-acmpca-certificateauthority-generalname-registeredid"></a>
 Represents `GeneralName` as an object identifier (OID).  
*Required*: No  
*Type*: String  
*Pattern*: `([0-2])\.([0-9]|([0-3][0-9]))((\.([0-9]+)){0,126})`  
*Minimum*: `0`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Rfc822Name`  <a name="cfn-acmpca-certificateauthority-generalname-rfc822name"></a>
Represents `GeneralName` as an [RFC 822](https://datatracker.ietf.org/doc/html/rfc822) email address.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`UniformResourceIdentifier`  <a name="cfn-acmpca-certificateauthority-generalname-uniformresourceidentifier"></a>
Represents `GeneralName` as a URI.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `253`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority KeyUsage
<a name="aws-properties-acmpca-certificateauthority-keyusage"></a>

Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-keyusage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-keyusage-syntax.json"></a>

```
{
  "[CRLSign](#cfn-acmpca-certificateauthority-keyusage-crlsign)" : Boolean,
  "[DataEncipherment](#cfn-acmpca-certificateauthority-keyusage-dataencipherment)" : Boolean,
  "[DecipherOnly](#cfn-acmpca-certificateauthority-keyusage-decipheronly)" : Boolean,
  "[DigitalSignature](#cfn-acmpca-certificateauthority-keyusage-digitalsignature)" : Boolean,
  "[EncipherOnly](#cfn-acmpca-certificateauthority-keyusage-encipheronly)" : Boolean,
  "[KeyAgreement](#cfn-acmpca-certificateauthority-keyusage-keyagreement)" : Boolean,
  "[KeyCertSign](#cfn-acmpca-certificateauthority-keyusage-keycertsign)" : Boolean,
  "[KeyEncipherment](#cfn-acmpca-certificateauthority-keyusage-keyencipherment)" : Boolean,
  "[NonRepudiation](#cfn-acmpca-certificateauthority-keyusage-nonrepudiation)" : Boolean
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-keyusage-syntax.yaml"></a>

```
  [CRLSign](#cfn-acmpca-certificateauthority-keyusage-crlsign): Boolean
  [DataEncipherment](#cfn-acmpca-certificateauthority-keyusage-dataencipherment): Boolean
  [DecipherOnly](#cfn-acmpca-certificateauthority-keyusage-decipheronly): Boolean
  [DigitalSignature](#cfn-acmpca-certificateauthority-keyusage-digitalsignature): Boolean
  [EncipherOnly](#cfn-acmpca-certificateauthority-keyusage-encipheronly): Boolean
  [KeyAgreement](#cfn-acmpca-certificateauthority-keyusage-keyagreement): Boolean
  [KeyCertSign](#cfn-acmpca-certificateauthority-keyusage-keycertsign): Boolean
  [KeyEncipherment](#cfn-acmpca-certificateauthority-keyusage-keyencipherment): Boolean
  [NonRepudiation](#cfn-acmpca-certificateauthority-keyusage-nonrepudiation): Boolean
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-keyusage-properties"></a>

`CRLSign`  <a name="cfn-acmpca-certificateauthority-keyusage-crlsign"></a>
Key can be used to sign CRLs.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DataEncipherment`  <a name="cfn-acmpca-certificateauthority-keyusage-dataencipherment"></a>
Key can be used to decipher data.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DecipherOnly`  <a name="cfn-acmpca-certificateauthority-keyusage-decipheronly"></a>
Key can be used only to decipher data.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DigitalSignature`  <a name="cfn-acmpca-certificateauthority-keyusage-digitalsignature"></a>
 Key can be used for digital signing.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EncipherOnly`  <a name="cfn-acmpca-certificateauthority-keyusage-encipheronly"></a>
Key can be used only to encipher data.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KeyAgreement`  <a name="cfn-acmpca-certificateauthority-keyusage-keyagreement"></a>
Key can be used in a key-agreement protocol.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KeyCertSign`  <a name="cfn-acmpca-certificateauthority-keyusage-keycertsign"></a>
Key can be used to sign certificates.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`KeyEncipherment`  <a name="cfn-acmpca-certificateauthority-keyusage-keyencipherment"></a>
Key can be used to encipher data.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NonRepudiation`  <a name="cfn-acmpca-certificateauthority-keyusage-nonrepudiation"></a>
Key can be used for non-repudiation.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority OcspConfiguration
<a name="aws-properties-acmpca-certificateauthority-ocspconfiguration"></a>

Contains information to enable and configure Online Certificate Status Protocol (OCSP) for validating certificate revocation status.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-ocspconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-ocspconfiguration-syntax.json"></a>

```
{
  "[Enabled](#cfn-acmpca-certificateauthority-ocspconfiguration-enabled)" : Boolean,
  "[OcspCustomCname](#cfn-acmpca-certificateauthority-ocspconfiguration-ocspcustomcname)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-ocspconfiguration-syntax.yaml"></a>

```
  [Enabled](#cfn-acmpca-certificateauthority-ocspconfiguration-enabled): Boolean
  [OcspCustomCname](#cfn-acmpca-certificateauthority-ocspconfiguration-ocspcustomcname): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-ocspconfiguration-properties"></a>

`Enabled`  <a name="cfn-acmpca-certificateauthority-ocspconfiguration-enabled"></a>
Flag enabling use of the Online Certificate Status Protocol (OCSP) for validating certificate revocation status.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OcspCustomCname`  <a name="cfn-acmpca-certificateauthority-ocspconfiguration-ocspcustomcname"></a>
By default, AWS Private CA injects an Amazon domain into certificates being validated by the Online Certificate Status Protocol (OCSP). A customer can alternatively use this object to define a CNAME specifying a customized OCSP domain.  
The content of a Canonical Name (CNAME) record must conform to [RFC2396](https://www.ietf.org/rfc/rfc2396.txt) restrictions on the use of special characters in URIs. Additionally, the value of the CNAME must not include a protocol prefix such as "http://" or "https://".
*Required*: No  
*Type*: String  
*Pattern*: `[-a-zA-Z0-9;/?:@&=+$,%_.!~*()']*`  
*Minimum*: `0`  
*Maximum*: `253`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ACMPCA::CertificateAuthority OtherName
<a name="aws-properties-acmpca-certificateauthority-othername"></a>

Defines a custom ASN.1 X.400 `GeneralName` using an object identifier (OID) and value. The OID must satisfy the regular expression shown below. For more information, see NIST's definition of [Object Identifier (OID)](https://csrc.nist.gov/glossary/term/Object_Identifier).

## Syntax
<a name="aws-properties-acmpca-certificateauthority-othername-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-othername-syntax.json"></a>

```
{
  "[TypeId](#cfn-acmpca-certificateauthority-othername-typeid)" : String,
  "[Value](#cfn-acmpca-certificateauthority-othername-value)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-othername-syntax.yaml"></a>

```
  [TypeId](#cfn-acmpca-certificateauthority-othername-typeid): String
  [Value](#cfn-acmpca-certificateauthority-othername-value): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-othername-properties"></a>

`TypeId`  <a name="cfn-acmpca-certificateauthority-othername-typeid"></a>
Specifies an OID.   
*Required*: Yes  
*Type*: String  
*Pattern*: `([0-2])\.([0-9]|([0-3][0-9]))((\.([0-9]+)){0,126})`  
*Minimum*: `0`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-acmpca-certificateauthority-othername-value"></a>
Specifies an OID value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority RevocationConfiguration
<a name="aws-properties-acmpca-certificateauthority-revocationconfiguration"></a>

Certificate revocation information used by the [CreateCertificateAuthority](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreateCertificateAuthority.html) and [UpdateCertificateAuthority](https://docs.aws.amazon.com/privateca/latest/APIReference/API_UpdateCertificateAuthority.html) actions. Your private certificate authority (CA) can configure Online Certificate Status Protocol (OCSP) support and/or maintain a certificate revocation list (CRL). OCSP returns validation information about certificates as requested by clients, and a CRL contains an updated list of certificates revoked by your CA. For more information, see [RevokeCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_RevokeCertificate.html) in the *AWS Private CA API Reference* and [Setting up a certificate revocation method](https://docs.aws.amazon.com/privateca/latest/userguide/revocation-setup.html) in the *AWS Private CA User Guide*.

The following requirements and constraints apply to revocation configurations.
+ A configuration disabling CRLs or OCSP must contain only the `Enabled=False` parameter, and will fail if other parameters such as `CustomCname` or `ExpirationInDays` are included.
+ In a CRL configuration, the `S3BucketName` parameter must conform to the [Amazon S3 bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
+ A configuration containing a custom Canonical Name (CNAME) parameter for CRLs or OCSP must conform to [RFC2396](https://www.ietf.org/rfc/rfc2396.txt) restrictions on the use of special characters in a CNAME. 
+ In a CRL or OCSP configuration, the value of a CNAME parameter must not include a protocol prefix such as "http://" or "https://".
+ To revoke a certificate, delete the resource from your template, and call the AWS Private CA[RevokeCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_RevokeCertificate.html) API and specify the resource's certificate authority ARN.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-revocationconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-revocationconfiguration-syntax.json"></a>

```
{
  "[CrlConfiguration](#cfn-acmpca-certificateauthority-revocationconfiguration-crlconfiguration)" : CrlConfiguration,
  "[OcspConfiguration](#cfn-acmpca-certificateauthority-revocationconfiguration-ocspconfiguration)" : OcspConfiguration
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-revocationconfiguration-syntax.yaml"></a>

```
  [CrlConfiguration](#cfn-acmpca-certificateauthority-revocationconfiguration-crlconfiguration): 
    CrlConfiguration
  [OcspConfiguration](#cfn-acmpca-certificateauthority-revocationconfiguration-ocspconfiguration): 
    OcspConfiguration
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-revocationconfiguration-properties"></a>

`CrlConfiguration`  <a name="cfn-acmpca-certificateauthority-revocationconfiguration-crlconfiguration"></a>
Configuration of the certificate revocation list (CRL), if any, maintained by your private CA.  
*Required*: No  
*Type*: [CrlConfiguration](aws-properties-acmpca-certificateauthority-crlconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OcspConfiguration`  <a name="cfn-acmpca-certificateauthority-revocationconfiguration-ocspconfiguration"></a>
Configuration of Online Certificate Status Protocol (OCSP) support, if any, maintained by your private CA.  
*Required*: No  
*Type*: [OcspConfiguration](aws-properties-acmpca-certificateauthority-ocspconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ACMPCA::CertificateAuthority Subject
<a name="aws-properties-acmpca-certificateauthority-subject"></a>

ASN1 subject for the certificate authority.

## Syntax
<a name="aws-properties-acmpca-certificateauthority-subject-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-subject-syntax.json"></a>

```
{
  "[CommonName](#cfn-acmpca-certificateauthority-subject-commonname)" : String,
  "[Country](#cfn-acmpca-certificateauthority-subject-country)" : String,
  "[CustomAttributes](#cfn-acmpca-certificateauthority-subject-customattributes)" : [ CustomAttribute, ... ],
  "[DistinguishedNameQualifier](#cfn-acmpca-certificateauthority-subject-distinguishednamequalifier)" : String,
  "[GenerationQualifier](#cfn-acmpca-certificateauthority-subject-generationqualifier)" : String,
  "[GivenName](#cfn-acmpca-certificateauthority-subject-givenname)" : String,
  "[Initials](#cfn-acmpca-certificateauthority-subject-initials)" : String,
  "[Locality](#cfn-acmpca-certificateauthority-subject-locality)" : String,
  "[Organization](#cfn-acmpca-certificateauthority-subject-organization)" : String,
  "[OrganizationalUnit](#cfn-acmpca-certificateauthority-subject-organizationalunit)" : String,
  "[Pseudonym](#cfn-acmpca-certificateauthority-subject-pseudonym)" : String,
  "[SerialNumber](#cfn-acmpca-certificateauthority-subject-serialnumber)" : String,
  "[State](#cfn-acmpca-certificateauthority-subject-state)" : String,
  "[Surname](#cfn-acmpca-certificateauthority-subject-surname)" : String,
  "[Title](#cfn-acmpca-certificateauthority-subject-title)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-subject-syntax.yaml"></a>

```
  [CommonName](#cfn-acmpca-certificateauthority-subject-commonname): String
  [Country](#cfn-acmpca-certificateauthority-subject-country): String
  [CustomAttributes](#cfn-acmpca-certificateauthority-subject-customattributes): 
    - CustomAttribute
  [DistinguishedNameQualifier](#cfn-acmpca-certificateauthority-subject-distinguishednamequalifier): String
  [GenerationQualifier](#cfn-acmpca-certificateauthority-subject-generationqualifier): String
  [GivenName](#cfn-acmpca-certificateauthority-subject-givenname): String
  [Initials](#cfn-acmpca-certificateauthority-subject-initials): String
  [Locality](#cfn-acmpca-certificateauthority-subject-locality): String
  [Organization](#cfn-acmpca-certificateauthority-subject-organization): String
  [OrganizationalUnit](#cfn-acmpca-certificateauthority-subject-organizationalunit): String
  [Pseudonym](#cfn-acmpca-certificateauthority-subject-pseudonym): String
  [SerialNumber](#cfn-acmpca-certificateauthority-subject-serialnumber): String
  [State](#cfn-acmpca-certificateauthority-subject-state): String
  [Surname](#cfn-acmpca-certificateauthority-subject-surname): String
  [Title](#cfn-acmpca-certificateauthority-subject-title): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-subject-properties"></a>

`CommonName`  <a name="cfn-acmpca-certificateauthority-subject-commonname"></a>
Fully qualified domain name (FQDN) associated with the certificate subject.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Country`  <a name="cfn-acmpca-certificateauthority-subject-country"></a>
Two-digit code that specifies the country in which the certificate subject located.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CustomAttributes`  <a name="cfn-acmpca-certificateauthority-subject-customattributes"></a>
  
Contains a sequence of one or more X.500 relative distinguished names (RDNs), each of which consists of an object identifier (OID) and a value. For more information, see NIST’s definition of [Object Identifier (OID)](https://csrc.nist.gov/glossary/term/Object_Identifier).  
Custom attributes cannot be used in combination with standard attributes.
*Required*: No  
*Type*: Array of [CustomAttribute](aws-properties-acmpca-certificateauthority-customattribute.md)  
*Minimum*: `1`  
*Maximum*: `150`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DistinguishedNameQualifier`  <a name="cfn-acmpca-certificateauthority-subject-distinguishednamequalifier"></a>
Disambiguating information for the certificate subject.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`GenerationQualifier`  <a name="cfn-acmpca-certificateauthority-subject-generationqualifier"></a>
Typically a qualifier appended to the name of an individual. Examples include Jr. for junior, Sr. for senior, and III for third.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`GivenName`  <a name="cfn-acmpca-certificateauthority-subject-givenname"></a>
First name.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Initials`  <a name="cfn-acmpca-certificateauthority-subject-initials"></a>
Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the first letter of the SurName.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Locality`  <a name="cfn-acmpca-certificateauthority-subject-locality"></a>
The locality (such as a city or town) in which the certificate subject is located.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Organization`  <a name="cfn-acmpca-certificateauthority-subject-organization"></a>
Legal name of the organization with which the certificate subject is affiliated.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OrganizationalUnit`  <a name="cfn-acmpca-certificateauthority-subject-organizationalunit"></a>
A subdivision or unit of the organization (such as sales or finance) with which the certificate subject is affiliated.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Pseudonym`  <a name="cfn-acmpca-certificateauthority-subject-pseudonym"></a>
Typically a shortened version of a longer GivenName. For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, Liz, or Eliza.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SerialNumber`  <a name="cfn-acmpca-certificateauthority-subject-serialnumber"></a>
The certificate serial number.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`State`  <a name="cfn-acmpca-certificateauthority-subject-state"></a>
State in which the subject of the certificate is located.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Surname`  <a name="cfn-acmpca-certificateauthority-subject-surname"></a>
Family name.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Title`  <a name="cfn-acmpca-certificateauthority-subject-title"></a>
A personal title such as Mr.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::ACMPCA::CertificateAuthority Tag
<a name="aws-properties-acmpca-certificateauthority-tag"></a>

Tags are labels that you can use to identify and organize your private CAs. Each tag consists of a key and an optional value. You can associate up to 50 tags with a private CA. To add one or more tags to a private CA, call the [TagCertificateAuthority](https://docs.aws.amazon.com/privateca/latest/APIReference/API_TagCertificateAuthority.html) action. To remove a tag, call the [UntagCertificateAuthority](https://docs.aws.amazon.com/privateca/latest/APIReference/API_UntagCertificateAuthority.html) action. 

## Syntax
<a name="aws-properties-acmpca-certificateauthority-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-acmpca-certificateauthority-tag-syntax.json"></a>

```
{
  "[Key](#cfn-acmpca-certificateauthority-tag-key)" : String,
  "[Value](#cfn-acmpca-certificateauthority-tag-value)" : String
}
```

### YAML
<a name="aws-properties-acmpca-certificateauthority-tag-syntax.yaml"></a>

```
  [Key](#cfn-acmpca-certificateauthority-tag-key): String
  [Value](#cfn-acmpca-certificateauthority-tag-value): String
```

## Properties
<a name="aws-properties-acmpca-certificateauthority-tag-properties"></a>

`Key`  <a name="cfn-acmpca-certificateauthority-tag-key"></a>
Key (name) of the tag.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-acmpca-certificateauthority-tag-value"></a>
Value of the tag.  
*Required*: No  
*Type*: String  
*Pattern*: `([\p{L}\p{Z}\p{N}_.:/=+\-@]*)`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)