[ aws . iot ]



Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--ca-certificate <value>
--verification-certificate <value>
[--set-as-active | --no-set-as-active]
[--allow-auto-registration | --no-allow-auto-registration]
[--registration-config <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--ca-certificate (string)

The CA certificate.

--verification-certificate (string)

The private key verification certificate.

--set-as-active | --no-set-as-active (boolean)

A boolean value that specifies if the CA certificate is set to active.

--allow-auto-registration | --no-allow-auto-registration (boolean)

Allows this CA certificate to be used for auto registration of device certificates.

--registration-config (structure)

Information about the registration configuration.

templateBody -> (string)

The template body.

roleArn -> (string)

The ARN of the role.

Shorthand Syntax:


JSON Syntax:

  "templateBody": "string",
  "roleArn": "string"

--tags (list)

Metadata which can be used to manage the CA certificate.


For URI Request parameters use format: …key1=value1&key2=value2…

For the CLI command-line parameter use format: &&tags “key1=value1&key2=value2…”

For the cli-input-json file use format: “tags”: “key1=value1&key2=value2…”


A set of key/value pairs that are used to manage the resource.

Key -> (string)

The tag’s key.

Value -> (string)

The tag’s value.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

    "Key": "string",
    "Value": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


To register a certificate authority (CA) certificate

The following register-ca-certificate example registers a CA certificate. The command supplies the CA certificate and a key verification certificate that proves you own the private key associated with the CA certificate.

aws iot register-ca-certificate \
    --ca-certificate file://rootCA.pem \
    --verification-cert file://verificationCert.pem


    "certificateArn": "arn:aws:iot:us-west-2:123456789012:cacert/f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467",
    "certificateId": "f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467"

For more information, see RegisterCACertificate in the AWS IoT API Reference.


certificateArn -> (string)

The CA certificate ARN.

certificateId -> (string)

The CA certificate identifier.