Exemplos do Signer usando a AWS CLI - AWS Command Line Interface

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.

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" ] } } ] }

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-material certificateArn=arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc \ --platform AmazonFreeRTOS-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-name MyProfile7

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.