AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

CreateCertificateFromCsr

CreateCertificateFromCsr

使用指定的证书签名请求创建 X.509 证书。

注意:CSR 必须包含一个公有密钥,该密钥可以是长度至少为 2048 位的 RSA 密钥,或者是来自 NIST P-256 或 NIST P-384 曲线的 ECC 密钥。

注意:重新使用同一证书签名请求 (CSR) 会生成不同的证书。

您可以通过创建一个目录,将多个 .csr 文件复制到该目录中,然后在命令行上指定该目录,以此来成批创建多个证书。以下命令显示如何通过提供一批 CSR 来创建一批证书。

假设一组 CSR 位于目录 my-csr-directory 中:

在 Linux 和 OS X 上,命令是:

$ ls my-csr-directory/ | xargs -I aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/

此命令列出 my-csr-directory 中的所有 CSR 并将各个 CSR 文件名以管道方式传输到 aws iot create-certificate-from-csr AWS CLI 命令,以便为对应的 CSR 创建证书。

命令的 aws iot create-certificate-from-csr 部分也可以并行运行,以加快证书创建过程:

$ ls my-csr-directory/ | xargs -P 10 -I aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/

在 Windows PowerShell 上,为 my-csr-directory 中的所有 CSR 创建证书的命令为:

> ls -Name my-csr-directory | % aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_

在 Windows 命令提示符中,为 my-csr-directory 中的所有 CSR 创建证书的命令为:

> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"

https

请求语法:

POST /certificates?setAsActive=setAsActive Content-type: application/json { "certificateSigningRequest": "string" }

URI 请求参数:

名称

类型

请求?

描述

setAsActive

SetAsActive

指定证书是否活动。

请求正文参数:

名称

类型

请求?

描述

certificateSigningRequest

CertificateSigningRequest

证书签名请求 (CSR)。

响应语法:

Content-type: application/json { "certificateArn": "string", "certificateId": "string", "certificatePem": "string" }

响应正文参数:

名称

类型

请求?

描述

certificateArn

CertificateArn

证书的 Amazon 资源名称 (ARN)。您可以将 ARN 用作策略操作的委托人。

certificateId

CertificateId

证书的 ID。证书管理操作仅接受 certificateId。

certificatePem

CertificatePem

PEM 格式的证书数据。

错误:

InvalidRequestException

请求的内容无效。例如,UpdateJobExecution 请求包含无效状态详细信息时,将返回此代码。消息包含有关错误的详细信息。

HTTP 响应代码:400

ThrottlingException

速率超过限制。

HTTP 响应代码:429

UnauthorizedException

您没有权限执行此操作。

HTTP 响应代码:401

ServiceUnavailableException

服务暂时不可用。

HTTP 响应代码:503

InternalFailureException

出现意外错误。

HTTP 响应代码:500

cli

摘要:

aws iot create-certificate-from-csr \ --certificate-signing-request <value> \ [--set-as-active | --no-set-as-active] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json format:

{ "certificateSigningRequest": "string", "setAsActive": "boolean" }

cli-input-json 字段:

名称

类型

描述

certificateSigningRequest

字符串

最小长度:1

证书签名请求 (CSR)。

setAsActive

布尔值

指定证书是否活动。

输出:

{ "certificateArn": "string", "certificateId": "string", "certificatePem": "string" }

cli 输出字段:

名称

类型

描述

certificateArn

字符串

证书的 Amazon 资源名称 (ARN)。您可以将 ARN 用作策略操作的委托人。

certificateId

字符串

最大长度:64,最小长度:64

模式:(0x)?[a-fA-F0-9]+

证书的 ID。证书管理操作仅接受 certificateId。

certificatePem

字符串

最大长度:65536,最小长度:1

PEM 格式的证书数据。

错误:

InvalidRequestException

请求的内容无效。例如,UpdateJobExecution 请求包含无效状态详细信息时,将返回此代码。消息包含有关错误的详细信息。

ThrottlingException

速率超过限制。

UnauthorizedException

您没有权限执行此操作。

ServiceUnavailableException

服务暂时不可用。

InternalFailureException

出现意外错误。