本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 AWS CLI 的 Signer 示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 Signer 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 cancel-signing-profile
。
- AWS CLI
-
删除签名配置文件
以下
cancel-signing-profile
示例从 AWS Signer 中移除现有签名配置文件。aws signer cancel-signing-profile \ --profile-name
MyProfile1
此命令不生成任何输出。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CancelSigningProfile
。
-
以下代码示例演示如何使用 describe-signing-job
。
- AWS CLI
-
显示签名任务的详细信息
以下
describe-signing-job
示例显示关于指定签名任务的详细信息。aws signer describe-signing-job \ --job-id
2065c468-73e2-4385-a6c9-0123456789abc
输出:
{ "status": "Succeeded", "completedAt": 1568412037, "platformId": "AmazonFreeRTOS-Default", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" }, "statusReason": "Signing Succeeded", "jobId": "2065c468-73e2-4385-a6c9-0123456789abc", "source": { "s3": { "version": "PNyFaUTgsQh5ZdMCcoCe6pT1gOpgB_M4", "bucketName": "signer-source", "key": "MyCode.rb" } }, "profileName": "MyProfile2", "signedObject": { "s3": { "bucketName": "signer-destination", "key": "signed-2065c468-73e2-4385-a6c9-0123456789abc" } }, "requestedBy": "arn:aws:iam::123456789012:user/maria", "createdAt": 1568412036 }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeSigningJob
。
-
以下代码示例演示如何使用 get-signing-platform
。
- AWS CLI
-
显示签名平台的详细信息
以下
get-signing-platform
示例显示关于指定签名平台的详细信息。aws signer get-signing-platform \ --platform-id
AmazonFreeRTOS-TI-CC3220SF
输出:
{ "category": "AWS", "displayName": "Amazon FreeRTOS SHA1-RSA CC3220SF-Format", "target": "SHA1-RSA-TISHA1", "platformId": "AmazonFreeRTOS-TI-CC3220SF", "signingConfiguration": { "encryptionAlgorithmOptions": { "defaultValue": "RSA", "allowedValues": [ "RSA" ] }, "hashAlgorithmOptions": { "defaultValue": "SHA1", "allowedValues": [ "SHA1" ] } }, "maxSizeInMB": 16, "partner": "AmazonFreeRTOS", "signingImageFormat": { "defaultFormat": "JSONEmbedded", "supportedFormats": [ "JSONEmbedded" ] } }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSigningPlatform
。
-
以下代码示例演示如何使用 get-signing-profile
。
- AWS CLI
-
显示签名配置文件的详细信息
以下
get-signing-profile
示例显示关于指定签名配置文件的详细信息。aws signer get-signing-profile \ --profile-name
MyProfile3
输出:
{ "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile3", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSigningProfile
。
-
以下代码示例演示如何使用 list-signing-jobs
。
- AWS CLI
-
列出所有签名任务
以下
list-signing-jobs
示例显示账户所有签名任务的详细信息。aws signer list-signing-jobs
在此示例中,返回了两个任务,一个成功,一个失败。
{ "jobs": [ { "status": "Succeeded", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" }, "jobId": "2065c468-73e2-4385-a6c9-0123456789abc", "source": { "s3": { "version": "PNyFaUTgsQh5ZdMCcoCe6pT1gOpgB_M4", "bucketName": "signer-source", "key": "MyCode.rb" } }, "signedObject": { "s3": { "bucketName": "signer-destination", "key": "signed-2065c468-73e2-4385-a6c9-0123456789abc" } }, "createdAt": 1568412036 }, { "status": "Failed", "source": { "s3": { "version": "PNyFaUTgsQh5ZdMCcoCe6pT1gOpgB_M4", "bucketName": "signer-source", "key": "MyOtherCode.rb" } }, "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" }, "createdAt": 1568402690, "jobId": "74d9825e-22fc-4a0d-b962-0123456789abc" } ] }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSigningJobs
。
-
以下代码示例演示如何使用 list-signing-platforms
。
- AWS CLI
-
列出所有签名平台
以下
list-signing-platforms
示例显示所有可用签名平台的详细信息。aws signer list-signing-platforms
输出:
{ "platforms": [ { "category": "AWS", "displayName": "AWS IoT Device Management SHA256-ECDSA ", "target": "SHA256-ECDSA", "platformId": "AWSIoTDeviceManagement-SHA256-ECDSA", "signingConfiguration": { "encryptionAlgorithmOptions": { "defaultValue": "ECDSA", "allowedValues": [ "ECDSA" ] }, "hashAlgorithmOptions": { "defaultValue": "SHA256", "allowedValues": [ "SHA256" ] } }, "maxSizeInMB": 2048, "partner": "AWSIoTDeviceManagement", "signingImageFormat": { "defaultFormat": "JSONDetached", "supportedFormats": [ "JSONDetached" ] } }, { "category": "AWS", "displayName": "Amazon FreeRTOS SHA1-RSA CC3220SF-Format", "target": "SHA1-RSA-TISHA1", "platformId": "AmazonFreeRTOS-TI-CC3220SF", "signingConfiguration": { "encryptionAlgorithmOptions": { "defaultValue": "RSA", "allowedValues": [ "RSA" ] }, "hashAlgorithmOptions": { "defaultValue": "SHA1", "allowedValues": [ "SHA1" ] } }, "maxSizeInMB": 16, "partner": "AmazonFreeRTOS", "signingImageFormat": { "defaultFormat": "JSONEmbedded", "supportedFormats": [ "JSONEmbedded" ] } }, { "category": "AWS", "displayName": "Amazon FreeRTOS SHA256-ECDSA", "target": "SHA256-ECDSA", "platformId": "AmazonFreeRTOS-Default", "signingConfiguration": { "encryptionAlgorithmOptions": { "defaultValue": "ECDSA", "allowedValues": [ "ECDSA" ] }, "hashAlgorithmOptions": { "defaultValue": "SHA256", "allowedValues": [ "SHA256" ] } }, "maxSizeInMB": 16, "partner": "AmazonFreeRTOS", "signingImageFormat": { "defaultFormat": "JSONEmbedded", "supportedFormats": [ "JSONEmbedded" ] } } ] }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSigningPlatforms
。
-
以下代码示例演示如何使用 list-signing-profiles
。
- AWS CLI
-
列出所有签名配置文件
以下
list-signing-profiles
示例显示账户所有签名配置文件的详细信息。aws signer list-signing-profiles
输出:
{ "profiles": [ { "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile4", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }, { "platformId": "AWSIoTDeviceManagement-SHA256-ECDSA", "profileName": "MyProfile5", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } } ] }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSigningProfiles
。
-
以下代码示例演示如何使用 put-signing-profile
。
- AWS CLI
-
创建签名配置文件
以下
put-signing-profile
示例使用指定证书和平台创建签名配置文件。aws signer put-signing-profile \ --profile-name
MyProfile6
\ --signing-materialcertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc
\ --platformAmazonFreeRTOS-TI-CC3220SF
输出:
{ "arn": "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile6" }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutSigningProfile
。
-
以下代码示例演示如何使用 start-signing-job
。
- AWS CLI
-
启动签名任务
以下
start-signing-job
示例对在指定源中找到的代码执行签名任务。它使用指定的配置文件进行签名,并将签名的代码放置在指定目的地。aws signer start-signing-job \ --source '
s3={bucketName=signer-source,key=MyCode.rb,version=PNyFaUTgsQh5ZdMCcoCe6pT1gOpgB_M4}
' \ --destination 's3={bucketName=signer-destination,prefix=signed-}
' \ --profile-nameMyProfile7
输出是签名任务的 ID。
{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StartSigningJob
。
-