Esempi di Signer con AWS CLI - AWS Command Line Interface

Esempi di Signer con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Signer.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare cancel-signing-profile.

AWS CLI

Come eliminare un profilo di firma

L’esempio cancel-signing-profile seguente rimuove un profilo di firma esistente da Signer.

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

Questo comando non produce alcun output.

  • Per informazioni dettagliate sull’API, consulta CancelSigningProfile in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare describe-signing-job.

AWS CLI

Come visualizzare i dettagli su un processo di firma

Nell’esempio seguente describe-signing-job visualizza i dettagli del processo di firma specificato.

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

Output:

{ "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 }
  • Per informazioni dettagliate sull’API, consulta DescribeSigningJob in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-signing-platform.

AWS CLI

Come visualizzare i dettagli su una piattaforma di firma

Nell’esempio seguente get-signing-platform visualizza i dettagli del processo di firma specificato.

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

Output:

{ "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" ] } }
  • Per informazioni dettagliate sull’API, consulta GetSigningPlatform in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-signing-profile.

AWS CLI

Come visualizzare i dettagli su un profilo di firma

Nell’esempio seguente get-signing-profile visualizza i dettagli del processo di firma specificato.

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

Output:

{ "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile3", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }
  • Per informazioni dettagliate sull’API, consulta GetSigningProfile in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-signing-jobs.

AWS CLI

Come elencare tutti i processi di firma

Nell’esempio seguente list-signing-jobs visualizza i dettagli di tutti i processi di firma per l’account.

aws signer list-signing-jobs

In questo esempio, vengono restituiti due processi, uno riuscito e uno no.

{ "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" } ] }
  • Per informazioni dettagliate sull’API, consulta ListSigningJobs in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-signing-platforms.

AWS CLI

Come elencare tutte le piattaforme di firma

Nell’esempio seguente list-signing-platforms visualizza i dettagli di tutte le piattaforme di firma specificate.

aws signer list-signing-platforms

Output:

{ "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" ] } } ] }
  • Per informazioni dettagliate sull’API, consulta ListSigningPlatforms in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-signing-profiles.

AWS CLI

Come elencare tutti i profili di firma

Nell’esempio seguente list-signing-profiles visualizza i dettagli di tutti i processi di firma per l’account.

aws signer list-signing-profiles

Output:

{ "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" } } ] }
  • Per informazioni dettagliate sull’API, consulta ListSigningProfiles in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-signing-profile.

AWS CLI

Come creare un profilo di firmare

L’esempio put-signing-profile seguente crea un profilo di firma utilizzando il certificato e la piattaforma specificati.

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

Output:

{ "arn": "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile6" }
  • Per informazioni dettagliate sull’API, consulta PutSigningProfile in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare start-signing-job.

AWS CLI

Come avviare un processo di firma

L’esempio start-signing-job seguente avvia un processo di firma sul codice trovato nella fonte specificata. Utilizza il profilo specificato per eseguire la firma e inserisce il codice firmato nella destinazione specificata.

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

L’output è l’ID del processo di firma.

{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
  • Per informazioni dettagliate sull’API, consulta StartSigningJob in AWS CLI Command Reference.