를 사용한 서명자 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

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

를 사용한 서명자 예제 AWS CLI

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

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

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

주제

작업

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

AWS CLI

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

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

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 }
  • 자세한 API 내용은 명령 참조DescribeSigningJob의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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" ] } }
  • 자세한 API 내용은 명령 참조GetSigningPlatform의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조GetSigningProfile의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조ListSigningJobs의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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" } } ] }
  • 자세한 API 내용은 명령 참조ListSigningProfiles의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조PutSigningProfile의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 내용은 명령 참조StartSigningJob의 섹션을 참조하세요. AWS CLI