Ejemplos de Signer que utilizan la AWS CLI - AWS Command Line Interface

Ejemplos de Signer que utilizan la AWS CLI

En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Signer.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar cancel-signing-profile.

AWS CLI

Para eliminar un perfil de firma

En el siguiente ejemplo de cancel-signing-profile, se elimina un perfil de firma existente de AWS Signer.

aws signer cancel-signing-profile \ --profile-name MyProfile1

Este comando no genera ninguna salida.

  • Para obtener información sobre la API, consulte CancelSigningProfile en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-signing-job.

AWS CLI

Para mostrar los detalles de un trabajo de firma

En el siguiente ejemplo de describe-signing-job, se muestran los detalles del trabajo de firma especificado.

aws signer describe-signing-job \ --job-id 2065c468-73e2-4385-a6c9-0123456789abc

Salida:

{ "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 obtener información sobre la API, consulte DescribeSigningJob en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-signing-platform.

AWS CLI

Para mostrar los detalles de una plataforma de firma

En el siguiente ejemplo de get-signing-platform, se muestran los detalles de la plataforma de firma especificada.

aws signer get-signing-platform \ --platform-id AmazonFreeRTOS-TI-CC3220SF

Salida:

{ "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 obtener información sobre la API, consulte GetSigningPlatform en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-signing-profile.

AWS CLI

Para mostrar los detalles de un perfil de firma

En el siguiente ejemplo de get-signing-profile, se muestran los detalles del perfil de firma especificado.

aws signer get-signing-profile \ --profile-name MyProfile3

Salida:

{ "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile3", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }
  • Para obtener información sobre la API, consulte GetSigningProfile en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-signing-jobs.

AWS CLI

Para enumerar todos los trabajos de firma

En el siguiente ejemplo de list-signing-jobs, se muestran los detalles de todos los trabajos de firma de la cuenta.

aws signer list-signing-jobs

En este ejemplo, se devuelven dos trabajos, uno correcto y otro erróneo.

{ "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 obtener información sobre la API, consulte ListSigningJobs en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-signing-platforms.

AWS CLI

Para enumerar todas las plataformas de firma

En el siguiente ejemplo de list-signing-platforms, se muestran los detalles de todas las plataformas de firma disponibles.

aws signer list-signing-platforms

Salida:

{ "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 obtener información sobre la API, consulte ListSigningPlatforms en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-signing-profiles.

AWS CLI

Para enumerar todos los perfiles de firma

En el siguiente ejemplo de list-signing-profiles, se muestran los detalles de todos los perfiles de firma de la cuenta.

aws signer list-signing-profiles

Salida:

{ "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 obtener información sobre la API, consulte ListSigningProfiles en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar put-signing-profile.

AWS CLI

Para crear un perfil de firma

En el siguiente ejemplo de put-signing-profile, se crea un perfil de firma con el certificado y la 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

Salida:

{ "arn": "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile6" }
  • Para obtener información sobre la API, consulte PutSigningProfile en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar start-signing-job.

AWS CLI

Para iniciar un trabajo de firma

En el siguiente ejemplo de start-signing-job, se inicia un trabajo de firma en el código que se encuentra en el origen especificado. Utiliza el perfil especificado para firmar y coloca el código firmado en el 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

El resultado es el ID del trabajo de firma.

{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
  • Para obtener información sobre la API, consulte StartSigningJob en la Referencia de comandos de la AWS CLI.