如何下载通过 CloudFormation 创建的 IoT 证书?
How do I download my IoT certificate created via CloudFormation?
我正在使用 AWS CloudFormation 创建物联网 Thing
、Policy
和 Certificate
。我的堆栈创建成功,但是,我无法访问 CloudFormation 创建的证书文件。
查看 aws 文档 here 您可以通过 CloudFormation 从证书获得的唯一输出是 ARN
和 Certificate ID
。但是,无法使用我看到的 ARN
或 Certificate ID
检索您的证书。
如果您通过 AWS IoT 控制台上传您的证书签名请求 (CSR),它会显示一个下载 link,您可以获取您的证书文件。
不幸的是,我需要使用 CloudFormation 来创建物联网 Certificate
。但是看起来您可以在创建证书后下载证书。具体来说:
Certificates can be retrieved at any time
我一直在搜索文档和 Web 界面以弄清楚如何下载我的证书,但没有成功 "at any time"。我对证书和私钥的整个世界还比较陌生,所以希望我错过了一些简单的东西。
有谁知道是否可以从 CloudFormation 创建的 IoT Certificate
获取证书?
啊,我找到了使用 AWS CLI 的方法。但确实需要一种通过 CloudFormation 获取它的方法:(
http://docs.aws.amazon.com/cli/latest/reference/iot/describe-certificate.html
可以通过以下方式检索使用 CloudFormation(通过 CSR)创建的证书
Aws 物联网网页
只需导航到安全 - 证书,单击 ...
和 select 下载。
AWS CLI
正如您提到的 CLI 也是一个选项
aws iot describe-certificate --certificate-id fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd3
会return
{
"certificateDescription": {
"certificateArn": "arn:aws:iot:eu-central-1:xxxxxx",
"status": "ACTIVE",
"certificateId": "fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd3",
"lastModifiedDate": 1519840881.49,
"certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDsTCCApmg.....VsAzFQ==\n-----END CERTIFICATE-----\n",
"transferData": {},
"ownedBy": "123456789",
"creationDate": 1519840820.888
}
亚马逊物联网 SDK
也可用于根据证书 ID(您可以通过 cloudformation 输出)将证书内容(PEM 格式)检索为字符串
import com.amazonaws.services.iot.AWSIot;
import com.amazonaws.services.iot.AWSIotClientBuilder;
import com.amazonaws.services.iot.model.DescribeCertificateRequest;
import com.amazonaws.services.iot.model.DescribeCertificateResult;
DescribeCertificateRequest describeCertificateRequest = new DescribeCertificateRequest();
describeCertificateRequest.setCertificateId("fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd3");
DescribeCertificateResult describeCertificateResult = awsIot.describeCertificate(describeCertificateRequest);
describeCertificateResult.getCertificateDescription().getCertificatePem();
据我所知,无法将其输出为 cloudformation 模板中的变量。
我正在使用 AWS CloudFormation 创建物联网 Thing
、Policy
和 Certificate
。我的堆栈创建成功,但是,我无法访问 CloudFormation 创建的证书文件。
查看 aws 文档 here 您可以通过 CloudFormation 从证书获得的唯一输出是 ARN
和 Certificate ID
。但是,无法使用我看到的 ARN
或 Certificate ID
检索您的证书。
如果您通过 AWS IoT 控制台上传您的证书签名请求 (CSR),它会显示一个下载 link,您可以获取您的证书文件。
不幸的是,我需要使用 CloudFormation 来创建物联网 Certificate
。但是看起来您可以在创建证书后下载证书。具体来说:
Certificates can be retrieved at any time
我一直在搜索文档和 Web 界面以弄清楚如何下载我的证书,但没有成功 "at any time"。我对证书和私钥的整个世界还比较陌生,所以希望我错过了一些简单的东西。
有谁知道是否可以从 CloudFormation 创建的 IoT Certificate
获取证书?
啊,我找到了使用 AWS CLI 的方法。但确实需要一种通过 CloudFormation 获取它的方法:(
http://docs.aws.amazon.com/cli/latest/reference/iot/describe-certificate.html
可以通过以下方式检索使用 CloudFormation(通过 CSR)创建的证书
Aws 物联网网页
只需导航到安全 - 证书,单击 ...
和 select 下载。
AWS CLI
正如您提到的 CLI 也是一个选项
aws iot describe-certificate --certificate-id fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd3
会return
{
"certificateDescription": {
"certificateArn": "arn:aws:iot:eu-central-1:xxxxxx",
"status": "ACTIVE",
"certificateId": "fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd3",
"lastModifiedDate": 1519840881.49,
"certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDsTCCApmg.....VsAzFQ==\n-----END CERTIFICATE-----\n",
"transferData": {},
"ownedBy": "123456789",
"creationDate": 1519840820.888
}
亚马逊物联网 SDK
也可用于根据证书 ID(您可以通过 cloudformation 输出)将证书内容(PEM 格式)检索为字符串
import com.amazonaws.services.iot.AWSIot;
import com.amazonaws.services.iot.AWSIotClientBuilder;
import com.amazonaws.services.iot.model.DescribeCertificateRequest;
import com.amazonaws.services.iot.model.DescribeCertificateResult;
DescribeCertificateRequest describeCertificateRequest = new DescribeCertificateRequest();
describeCertificateRequest.setCertificateId("fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd371fcd3");
DescribeCertificateResult describeCertificateResult = awsIot.describeCertificate(describeCertificateRequest);
describeCertificateResult.getCertificateDescription().getCertificatePem();
据我所知,无法将其输出为 cloudformation 模板中的变量。