Exemplos de signatários usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de signatários usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with 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 funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

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 cancel-signing-profile exemplo 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

Para exibir detalhes sobre um trabalho de assinatura

O describe-signing-job exemplo a seguir exibe detalhes sobre o 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 }

O código de exemplo a seguir mostra como usar get-signing-platform.

AWS CLI

Para exibir detalhes sobre uma plataforma de assinatura

O get-signing-platform exemplo a seguir exibe detalhes sobre a 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" ] } }

O código de exemplo a seguir mostra como usar get-signing-profile.

AWS CLI

Para exibir detalhes sobre um perfil de assinatura

O get-signing-profile exemplo a seguir exibe detalhes sobre o 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 API obter detalhes, consulte GetSigningProfilena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-signing-jobs.

AWS CLI

Para listar todos os trabalhos de assinatura

O list-signing-jobs exemplo 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 API obter detalhes, consulte ListSigningJobsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-signing-platforms.

AWS CLI

Para listar todas as plataformas de assinatura

O list-signing-platforms exemplo 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 list-signing-profiles exemplo 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" } } ] }

O código de exemplo a seguir mostra como usar put-signing-profile.

AWS CLI

Para criar um perfil de assinatura

O put-signing-profile exemplo 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 API obter detalhes, consulte PutSigningProfilena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar start-signing-job.

AWS CLI

Para começar um trabalho de assinatura

O start-signing-job exemplo 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 é a ID do trabalho de assinatura.

{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
  • Para API obter detalhes, consulte StartSigningJobna Referência de AWS CLI Comandos.