Beispiele für die Verwendung von Signer mit AWS CLI - AWS Command Line Interface

Beispiele für die Verwendung von Signer mit AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie AWS Command Line Interface mit Signer nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie cancel-signing-profile verwendet wird.

AWS CLI

So löschen ein Signaturprofil

Im folgenden Beispiel für cancel-signing-profile wird ein vorhandenes Signaturprofil aus AWS-Signer entfernt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie describe-signing-job verwendet wird.

AWS CLI

So zeigen Sie Details zu einem Signaturauftrag an

Im folgenden Beispiel für describe-signing-job werden die Details für den angegebenen Signaturauftrag angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie get-signing-platform verwendet wird.

AWS CLI

So zeigen Sie Details zu einer Signaturplattform an

Im folgenden Beispiel für get-signing-platform werden die Details für die angegebene Signaturplattform angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie get-signing-profile verwendet wird.

AWS CLI

So zeigen Sie Details zu einem Signaturprofil an

Im folgenden Beispiel für get-signing-profile werden die Details für das angegebene Signaturprofil angezeigt.

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

Ausgabe:

{ "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile3", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }

Das folgende Codebeispiel zeigt, wie list-signing-jobs verwendet wird.

AWS CLI

So listen Sie alle Signaturaufträge auf

Im folgenden Beispiel für list-signing-jobs werden Details zu allen Signaturaufträgen für das Konto angezeigt.

aws signer list-signing-jobs

In diesem Beispiel werden zwei Aufträge zurückgegeben, einer erfolgreich und einer fehlgeschlagen.

{ "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" } ] }
  • API-Details finden Sie unter ListSigningJobs in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-signing-platforms verwendet wird.

AWS CLI

So listen Sie alle Signierungsplattformen auf

Im folgenden Beispiel für list-signing-platforms werden Details zu allen verfügbaren Signaturplattformen angezeigt.

aws signer list-signing-platforms

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-signing-profiles verwendet wird.

AWS CLI

So listen Sie alle Signaturprofile auf

Im folgenden Beispiel für list-signing-profiles werden Details zu allen Signaturprofilen für das Konto angezeigt.

aws signer list-signing-profiles

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie put-signing-profile verwendet wird.

AWS CLI

So erstellen Sie ein Signaturprofil

Im folgenden Beispiel für put-signing-profile wird ein Signaturprofil unter Verwendung des angegebenen Zertifikats und der angegebenen Plattform erstellt.

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

Ausgabe:

{ "arn": "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile6" }

Das folgende Codebeispiel zeigt, wie start-signing-job verwendet wird.

AWS CLI

So starten Sie einen Signaturauftrag

Im folgenden Beispiel für start-signing-job wird ein Signaturauftrag für den Code gestartet, der in der angegebenen Quelle aufgefunden wurde. Dabei wird das angegebene Profil für die Signatur verwendet und der signierte Code wird im angegebenen Ziel platziert.

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

Die Ausgabe ist die ID des signierenden Auftrags.

{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
  • API-Details finden Sie unter StartSigningJob in der AWS CLI-Befehlsreferenz.