Exemplos do Signer usando a AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Signer.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar cancel-signing-profile
.
- AWS CLI
-
Para excluir um perfil de assinatura
O exemplo
cancel-signing-profile
a seguir remove um perfil de assinatura existente do AWS Signer.aws signer cancel-signing-profile \ --profile-name
MyProfile1
Este comando não produz saída.
-
Para ver detalhes da API, consulte CancelSigningProfile
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar describe-signing-job
.
- AWS CLI
-
Como exibir detalhes sobre um trabalho de assinatura
O exemplo
describe-signing-job
a seguir exibe os detalhes do trabalho de assinatura especificado.aws signer describe-signing-job \ --job-id
2065c468-73e2-4385-a6c9-0123456789abc
Saída:
{ "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 }
-
Para ver detalhes da API, consulte DescribeSigningJob
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-signing-platform
.
- AWS CLI
-
Como exibir detalhes sobre uma plataforma de assinatura
O exemplo
get-signing-platform
a seguir exibe os detalhes da plataforma de assinatura especificada.aws signer get-signing-platform \ --platform-id
AmazonFreeRTOS-TI-CC3220SF
Saída:
{ "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" ] } }
-
Para ver detalhes da API, consulte GetSigningPlatform
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar get-signing-profile
.
- AWS CLI
-
Como exibir detalhes sobre um perfil de assinatura
O exemplo
get-signing-profile
a seguir exibe os detalhes do perfil de assinatura especificado.aws signer get-signing-profile \ --profile-name
MyProfile3
Saída:
{ "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile3", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }
-
Para ver detalhes da API, consulte GetSigningProfile
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-signing-jobs
.
- AWS CLI
-
Para listar todos os trabalhos de assinatura
O exemplo
list-signing-jobs
a seguir exibe detalhes sobre todos os trabalhos de assinatura da conta.aws signer list-signing-jobs
Neste exemplo, dois trabalhos são retornados, um bem-sucedido e outro com falha.
{ "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" } ] }
-
Para ver detalhes da API, consulte ListSigningJobs
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-signing-platforms
.
- AWS CLI
-
Para listar todas as plataformas de assinatura
O exemplo
list-signing-platforms
a seguir exibe detalhes sobre todas as plataformas de assinatura disponíveis.aws signer list-signing-platforms
Saída:
{ "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" ] } } ] }
-
Para ver detalhes da API, consulte ListSigningPlatforms
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar list-signing-profiles
.
- AWS CLI
-
Para listar todos os perfis de assinatura
O exemplo
list-signing-profiles
a seguir exibe detalhes sobre todos os perfis de assinatura da conta.aws signer list-signing-profiles
Saída:
{ "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" } } ] }
-
Para ver detalhes da API, consulte ListSigningProfiles
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar put-signing-profile
.
- AWS CLI
-
Para criar um perfil de assinatura
O exemplo
put-signing-profile
a seguir cria um perfil de assinatura usando o certificado e a plataforma especificados.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
Saída:
{ "arn": "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile6" }
-
Para ver detalhes da API, consulte PutSigningProfile
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar start-signing-job
.
- AWS CLI
-
Como começar um trabalho de assinatura
O exemplo
start-signing-job
a seguir inicia um trabalho de assinatura no código encontrado na fonte especificada. Ele usa o perfil especificado para fazer a assinatura e coloca o código assinado no destino especificado.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
A saída é o ID do trabalho de assinatura.
{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
-
Para ver detalhes da API, consulte StartSigningJob
na Referência de comandos da AWS CLI.
-