

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将设备证书传输到其它账户。
<a name="transfer-cert"></a>

属于一个证书的 X.509 证书 AWS 账户 可以转移到另一个证书。 AWS 账户

**将 X.509 证书从一个证书转移到另一个证书 AWS 账户**

1. [开始证书传输](#transfer-cert-init)

   在启动传输之前，必须停用证书并从所有策略和事物中分离。

1. [接受或拒绝证书传输](#transfer-cert-accept)

   接收账户必须明确接受或拒绝传输的证书。接收账户接受证书后，必须激活证书才能使用。

1. [取消证书传输](#transfer-cert-cancel)

   如果证书未被接受，原始账户可以取消传输。

## 开始证书传输
<a name="transfer-cert-init"></a>

您可以使用[AWS IoT 控制台](https://console.aws.amazon.com/iot/home)或开始将证书转移 AWS 账户 到另一个证书 AWS CLI。

### 开始证书传输（控制台）
<a name="transfer-cert-init-console"></a>

要完成此流程，您需要提供您要传输的证书 ID。

在带有要传输证书的账户执行此流程。

**开始将证书转移到另一个证书 AWS 账户**

1. 登录 AWS 管理控制台并打开[AWS IoT 控制台](https://console.aws.amazon.com/iot/home)。

1. 在左侧导航窗格中，选择**安全**，然后选择**证书**。

   选择您打算传输并带有 **Active**（活动）或者 **Inactive**（非活动）状态的证书并打开其详细信息页面。

1. 在证书**详细信息**页面的**操作**菜单中，如果**停用**选项可用，则选择**停用**选项来停用证书。

1. 在证书的 **Details**（详细信息）页面中，在左侧菜单中，选择 **Policies**（策略）。

1. 在证书的 **Policies**（策略）页面上，如果证书附加了任何策略，请打开策略的选项菜单，然后选择 **Detach**（分离）以分离各个证书。

   在您继续操作前，该证书不能附加有任何策略。

1. 在证书的 **Policies**（策略）页面中，在左侧菜单中，选择 **Thins**（事物）。

1. 在证书的 **Things**（事物）页面，如果证书附加了任何事物，请打开事物的选项菜单并选择 **Detach**（分离）以分离各个事物。

   在您继续操作前，该证书不能附加有任何事物。

1. 在证书的 **Things**（事物）页面中，在左侧菜单中，选择 **Details**（详细信息）。

1. 在证书**详细信息**页面的**操作**菜单中，选择**开始传输**来打开**开始传输**对话框。

1. 在 “**开始转移**” 对话框中，输入要接收证书的账户号和一条可选的短消息。 AWS 账户 

1. 选择 **Start transfer**（开始传输）以传输证书。

控制台应显示一条消息，指示传输成功或失败。如果传输开始，证书的状态将更新为 **Transferred**（已传输）。

### 开始证书传输（CLI）
<a name="transfer-cert-init-cli"></a>

要完成此过程，您需要要转移*certificateArn*的证书的*certificateId*和。

在带有要传输证书的账户执行此流程。

**开始将证书转移到另一个 AWS 账户**

1. 使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) 命令来停用证书。

   ```
   aws iot update-certificate --certificate-id certificateId --new-status INACTIVE
   ```

1. 分离所有策略。

   1. 使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-attached-policies.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-attached-policies.html) 命令列出附加到该证书的策略。

      ```
      aws iot list-attached-policies --target certificateArn
      ```

   1. 对于每个附加的策略，请使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-policy.html) 命令予以分离。

      ```
      aws iot detach-policy --target certificateArn --policy-name policy-name
      ```

1. 分离所有事物。

   1. 使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-things.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-things.html) 命令列示附加到证书上的事物。

      ```
      aws iot list-principal-things --principal certificateArn
      ```

   1. 对于每个附加的事物，请使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-thing-principal.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/detach-thing-principal.html) 命令予以分离。

      ```
      aws iot detach-thing-principal --principal certificateArn --thing-name thing-name
      ```

1. 使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/transfer-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/transfer-certificate.html) 命令启动证书传输。

   ```
   aws iot transfer-certificate --certificate-id certificateId --target-aws-account account-id
   ```

## 接受或拒绝证书传输
<a name="transfer-cert-accept"></a>

您可以使用[AWS IoT 控制台](https://console.aws.amazon.com/iot/home)或，接受或拒绝 AWS 账户 从他 AWS 账户 人转移给您的证书 AWS CLI。

### 接受或拒绝证书传输（控制台）
<a name="transfer-cert-accept-console"></a>

要完成此流程，您需要提供已转移到您的账户的证书 ID。

在接收已转移证书的账户执行此流程。

**接受或拒绝已转移到您的证书 AWS 账户**

1. 登录 AWS 管理控制台并打开[AWS IoT 控制台](https://console.aws.amazon.com/iot/home)。

1. 在左侧导航窗格中，选择**安全**，然后选择**证书**。

   选择您想要接受或拒绝且状态为 **Pending transfer**（待转移）的证书，并打开其详细信息页面。

1. 在证书的 **Details**（详细信息）页面上，在 **Actions**（操作）菜单中，
   + 如要接受证书，请选择 **Accept transfer**（接受传输）。
   + 如不接受证书，请选择 **Reject transfer**（拒绝传输）。

### 接受或拒绝证书传输（CLI）
<a name="transfer-cert-accept-cli"></a>

要完成此过程，您需要要接受或拒绝*certificateId*的证书转移。

在接收已转移证书的账户执行此流程。

**接受或拒绝已转移到您的证书 AWS 账户**

1. 使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/accept-certificate-transfer.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/accept-certificate-transfer.html) 命令以接受证书。

   ```
   aws iot accept-certificate-transfer --certificate-id certificateId
   ```

1. 使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/reject-certificate-transfer.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/reject-certificate-transfer.html) 命令以拒绝证书。

   ```
   aws iot reject-certificate-transfer --certificate-id certificateId
   ```

## 取消证书传输
<a name="transfer-cert-cancel"></a>

您可以使用 [AWS IoT 控制台](https://console.aws.amazon.com/iot/home)或 AWS CLI在证书传输被接受之前将其取消。

### 取消证书传输（控制台）
<a name="transfer-cert-cancel-console"></a>

要完成此流程，您需要提供要取消的证书传输的 ID。

在启动证书传输的账户执行此流程。

**取消证书传输**

1. 登录 AWS 管理控制台并打开[AWS IoT 控制台](https://console.aws.amazon.com/iot/home)。

1. 在左侧导航窗格中，选择**安全**，然后选择**证书**。

   选择状态为 **Transferred**（已传输）且您想要取消传输的证书，并打开其选项菜单。

1. 在证书的选项菜单上，选择 **Revoke transfer**（撤销传输）选项来取消证书传输。
**重要**  
请谨慎处理，不要将 **Revoke transfer**（撤销传输）选项与 **Revoke**（撤销）选项混淆。  
**Revoke transfer**（撤销传输）选项用于取消证书传输，而 **Revoke**（撤销）选项使证书无法为 AWS IoT所用，且操作不可逆。

### 取消证书传输（CLI）
<a name="transfer-cert-cancel-cli"></a>

要完成此过程，您需要要取消*certificateId*的证书转移。

在启动证书传输的账户执行此流程。

使用 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/cancel-certificate-transfer.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/cancel-certificate-transfer.html) 命令取消证书传输。

```
aws iot cancel-certificate-transfer --certificate-id certificateId
```