를 사용한 서명자 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 서명자 예제 AWS CLI

다음 코드 예제에서는 서명자와 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 cancel-signing-profile을 사용하는 방법을 보여 줍니다.

AWS CLI

서명 프로파일을 삭제하려면

다음 cancel-signing-profile 예제에서는 AWS Signer에서 기존 서명 프로파일을 제거합니다.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 describe-signing-job을 사용하는 방법을 보여 줍니다.

AWS CLI

서명 작업에 대한 세부 정보를 표시하려면

다음 describe-signing-job 예제에서는 지정된 서명 작업에 대한 세부 정보를 표시합니다.

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

출력:

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

다음 코드 예시에서는 get-signing-platform을 사용하는 방법을 보여 줍니다.

AWS CLI

서명 플랫폼에 대한 세부 정보를 표시하려면

다음 get-signing-platform 예제에서는 지정된 서명 플랫폼에 대한 세부 정보를 표시합니다.

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

출력:

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

다음 코드 예시에서는 get-signing-profile을 사용하는 방법을 보여 줍니다.

AWS CLI

서명 프로필에 대한 세부 정보를 표시하려면

다음 get-signing-profile 예제에서는 지정된 서명 프로파일에 대한 세부 정보를 표시합니다.

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

출력:

{ "platformId": "AmazonFreeRTOS-TI-CC3220SF", "profileName": "MyProfile3", "status": "Active", "signingMaterial": { "certificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/6a55389b-306b-4e8c-a95c-0123456789abc" } }
  • API 세부 정보는 AWS CLI 명령 참조GetSigningProfile를 참조하세요.

다음 코드 예시에서는 list-signing-jobs을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 서명 작업을 나열하려면

다음 list-signing-jobs 예제에서는 계정의 모든 서명 작업에 대한 세부 정보를 표시합니다.

aws signer list-signing-jobs

이 예제에서는 두 개의 작업이 반환됩니다. 하나는 성공이고 다른 하나는 실패입니다.

{ "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 세부 정보는 AWS CLI 명령 참조ListSigningJobs를 참조하세요.

다음 코드 예시에서는 list-signing-platforms을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 서명 플랫폼을 나열하려면

다음 list-signing-platforms 예제에서는 사용 가능한 모든 서명 플랫폼에 대한 세부 정보를 표시합니다.

aws signer list-signing-platforms

출력:

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

다음 코드 예시에서는 list-signing-profiles을 사용하는 방법을 보여 줍니다.

AWS CLI

모든 서명 프로파일을 나열하려면

다음 list-signing-profiles 예제에서는 계정의 모든 서명 프로파일에 대한 세부 정보를 표시합니다.

aws signer list-signing-profiles

출력:

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

다음 코드 예시에서는 put-signing-profile을 사용하는 방법을 보여 줍니다.

AWS CLI

서명 프로파일을 생성하려면

다음 put-signing-profile 예제에서는 지정된 인증서 및 플랫폼을 사용하여 서명 프로파일을 생성합니다.

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

출력:

{ "arn": "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile6" }
  • API 세부 정보는 AWS CLI 명령 참조PutSigningProfile를 참조하세요.

다음 코드 예시에서는 start-signing-job을 사용하는 방법을 보여 줍니다.

AWS CLI

서명 작업을 시작하려면

다음 start-signing-job 예제에서는 지정된 소스에 있는 코드에서 서명 작업을 시작합니다. 지정된 프로파일을 사용하여 서명을 수행하고 서명된 코드를 지정된 대상에 배치합니다.

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

출력은 서명 작업의 ID입니다.

{ "jobId": "2065c468-73e2-4385-a6c9-0123456789abc" }
  • API 세부 정보는 AWS CLI 명령 참조StartSigningJob를 참조하세요.