Code Signing for Amazon FreeRTOS
API Reference
API Version 2017-08-25
Code Signing for Amazon FreeRTOS: API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
Welcome ... 1
Actions ... 2
AddProfilePermission ... 3
Request Syntax ... 3
URI Request Parameters ... 3
Request Body ... 3
Response Syntax ... 4
Response Elements ... 4
Errors ... 4
See Also ... 5
CancelSigningProfile ... 6
Request Syntax ... 6
URI Request Parameters ... 6
Request Body ... 6
Response Syntax ... 6
Response Elements ... 6
Errors ... 6
See Also ... 7
DescribeSigningJob ... 8
Request Syntax ... 8
URI Request Parameters ... 8
Request Body ... 8
Response Syntax ... 8
Response Elements ... 9
Errors ... 11
Examples ... 11
See Also ... 12
GetSigningPlatform ... 14
Request Syntax ... 14
URI Request Parameters ... 14
Request Body ... 14
Response Syntax ... 14
Response Elements ... 14
Errors ... 15
See Also ... 16
GetSigningProfile ... 17
Request Syntax ... 17
URI Request Parameters ... 17
Request Body ... 17
Response Syntax ... 17
Response Elements ... 18
Errors ... 19
See Also ... 20
ListProfilePermissions ... 21
Request Syntax ... 21
URI Request Parameters ... 21
Request Body ... 21
Response Syntax ... 21
Response Elements ... 21
Errors ... 22
See Also ... 22
ListSigningJobs ... 24
Request Syntax ... 24
URI Request Parameters ... 24
Request Body ... 25
Response Syntax ... 25
Response Elements ... 25
Errors ... 26
Examples ... 26
See Also ... 28
ListSigningPlatforms ... 29
Request Syntax ... 29
URI Request Parameters ... 29
Request Body ... 29
Response Syntax ... 29
Response Elements ... 30
Errors ... 30
See Also ... 31
ListSigningProfiles ... 32
Request Syntax ... 32
URI Request Parameters ... 32
Request Body ... 32
Response Syntax ... 32
Response Elements ... 33
Errors ... 33
See Also ... 34
ListTagsForResource ... 35
Request Syntax ... 35
URI Request Parameters ... 35
Request Body ... 35
Response Syntax ... 35
Response Elements ... 35
Errors ... 36
See Also ... 36
PutSigningProfile ... 37
Request Syntax ... 37
URI Request Parameters ... 37
Request Body ... 37
Response Syntax ... 38
Response Elements ... 39
Errors ... 39
See Also ... 40
RemoveProfilePermission ... 41
Request Syntax ... 41
URI Request Parameters ... 41
Request Body ... 41
Response Syntax ... 41
Response Elements ... 41
Errors ... 42
See Also ... 42
RevokeSignature ... 43
Request Syntax ... 43
URI Request Parameters ... 43
Request Body ... 43
Response Syntax ... 43
Response Elements ... 44
Errors ... 44
See Also ... 44
RevokeSigningProfile ... 45
Request Syntax ... 45
URI Request Parameters ... 45
Request Body ... 45
Response Syntax ... 46
Response Elements ... 46
Errors ... 46
See Also ... 46
StartSigningJob ... 48
Request Syntax ... 48
URI Request Parameters ... 48
Request Body ... 48
Response Syntax ... 49
Response Elements ... 49
Errors ... 50
Examples ... 50
See Also ... 51
TagResource ... 53
Request Syntax ... 53
URI Request Parameters ... 53
Request Body ... 53
Response Syntax ... 53
Response Elements ... 53
Errors ... 54
See Also ... 54
UntagResource ... 55
Request Syntax ... 55
URI Request Parameters ... 55
Request Body ... 55
Response Syntax ... 55
Response Elements ... 55
Errors ... 55
See Also ... 56
Data Types ... 57
Destination ... 58
Contents ... 58
See Also ... 58
EncryptionAlgorithmOptions ... 59
Contents ... 59
See Also ... 59
HashAlgorithmOptions ... 60
Contents ... 60
See Also ... 60
Permission ... 61
Contents ... 61
See Also ... 61
S3Destination ... 62
Contents ... 62
See Also ... 62
S3SignedObject ... 63
Contents ... 63
See Also ... 63
S3Source ... 64
Contents ... 64
See Also ... 64
SignatureValidityPeriod ... 65
Contents ... 65
See Also ... 65
SignedObject ... 66
Contents ... 66
See Also ... 66
SigningConfiguration ... 67
Contents ... 67
See Also ... 67
SigningConfigurationOverrides ... 68
Contents ... 68
See Also ... 68
SigningImageFormat ... 69
Contents ... 69
See Also ... 69
SigningJob ... 70
Contents ... 70
See Also ... 72
SigningJobRevocationRecord ... 73
Contents ... 73
See Also ... 73
SigningMaterial ... 74
Contents ... 74
See Also ... 74
SigningPlatform ... 75
Contents ... 75
See Also ... 76
SigningPlatformOverrides ... 77
Contents ... 77
See Also ... 77
SigningProfile ... 78
Contents ... 78
See Also ... 79
SigningProfileRevocationRecord ... 80
Contents ... 80
See Also ... 80
Source ... 81
Contents ... 81
See Also ... 81
Common Parameters ... 82
Common Errors ... 84
Welcome
AWS Signer is a fully managed code signing service to help you ensure the trust and integrity of your code.
AWS Signer supports the following applications:
With code signing for AWS Lambda, you can sign AWS Lambda deployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch, and AWS CloudTrail. In order to sign code, you create a signing profile and then use Signer to sign Lambda zip files in S3.
With code signing for IoT, you can sign code for any IoT device that is supported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is integrated with AWS Certificate Manager (ACM). In order to sign code, you import a third-party code signing certificate using ACM, and use that to sign updates in Amazon FreeRTOS and AWS IoT Device Management.
For more information about AWS Signer, see the AWS Signer Developer Guide.
This document was last published on March 6, 2022.
Actions
The following actions are supported:
• AddProfilePermission (p. 3)
• CancelSigningProfile (p. 6)
• DescribeSigningJob (p. 8)
• GetSigningPlatform (p. 14)
• GetSigningProfile (p. 17)
• ListProfilePermissions (p. 21)
• ListSigningJobs (p. 24)
• ListSigningPlatforms (p. 29)
• ListSigningProfiles (p. 32)
• ListTagsForResource (p. 35)
• PutSigningProfile (p. 37)
• RemoveProfilePermission (p. 41)
• RevokeSignature (p. 43)
• RevokeSigningProfile (p. 45)
• StartSigningJob (p. 48)
• TagResource (p. 53)
• UntagResource (p. 55)
AddProfilePermission
AddProfilePermission
Adds cross-account permissions to a signing profile.
Request Syntax
POST /signing-profiles/profileName/permissions HTTP/1.1 Content-type: application/json
{ "action": "string", "principal": "string", "profileVersion": "string", "revisionId": "string", "statementId": "string"
}
URI Request Parameters
The request uses the following URI parameters.
profileName (p. 3)
The human-readable name of the signing profile.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes
Request Body
The request accepts the following data in JSON format.
action (p. 3)
The AWS Signer action permitted as part of cross-account permissions.
Type: String Required: Yes principal (p. 3)
The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID.
Type: String Required: Yes profileVersion (p. 3)
The version of the signing profile.
Type: String
Response Syntax
Length Constraints: Fixed length of 10.
Pattern: ^[a-zA-Z0-9]{10}$
Required: No revisionId (p. 3)
A unique identifier for the current profile revision.
Type: String Required: No statementId (p. 3)
A unique identifier for the cross-account permission statement.
Type: String Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"revisionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
revisionId (p. 4)
A unique identifier for the current profile revision.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 ConflictException
The resource encountered a conflicting state.
HTTP Status Code: 409
See Also
InternalServiceErrorException An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 ServiceLimitExceededException
The client is making a request that exceeds service limits.
HTTP Status Code: 402 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CancelSigningProfile
CancelSigningProfile
Changes the state of an ACTIVE signing profile to CANCELED. A canceled profile is still viewable with the ListSigningProfiles operation, but it cannot perform new signing jobs, and is deleted two years after cancelation.
Request Syntax
DELETE /signing-profiles/profileName HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
profileName (p. 6)
The name of the signing profile to be canceled.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500
See Also
ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DescribeSigningJob
DescribeSigningJob
Returns information about a specific code signing job. You specify the job by using the jobId value that is returned by the StartSigningJob (p. 48) operation.
Request Syntax
GET /signing-jobs/jobId HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
jobId (p. 8)
The ID of the signing job on input.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"completedAt": number, "createdAt": number, "jobId": "string", "jobInvoker": "string", "jobOwner": "string", "overrides": {
"signingConfiguration": {
"encryptionAlgorithm": "string", "hashAlgorithm": "string"
},
"signingImageFormat": "string"
},
"platformDisplayName": "string", "platformId": "string",
"profileName": "string", "profileVersion": "string", "requestedBy": "string", "revocationRecord": { "reason": "string", "revokedAt": number, "revokedBy": "string"
},
"signatureExpiresAt": number, "signedObject": {
"s3": {
"bucketName": "string", "key": "string"
Response Elements
} },
"signingMaterial": {
"certificateArn": "string"
},
"signingParameters": { "string" : "string"
},
"source": { "s3": {
"bucketName": "string", "key": "string",
"version": "string"
} },
"status": "string", "statusReason": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
completedAt (p. 8)
Date and time that the signing job was completed.
Type: Timestamp createdAt (p. 8)
Date and time that the signing job was created.
Type: Timestamp jobId (p. 8)
The ID of the signing job on output.
Type: String jobInvoker (p. 8)
The IAM entity that initiated the signing job.
Type: String
Length Constraints: Fixed length of 12.
Pattern: ^[0-9]{12}$
jobOwner (p. 8)
The AWS account ID of the job owner.
Type: String
Length Constraints: Fixed length of 12.
Pattern: ^[0-9]{12}$
overrides (p. 8)
A list of any overrides that were applied to the signing operation.
Response Elements
Type: SigningPlatformOverrides (p. 77) object platformDisplayName (p. 8)
A human-readable name for the signing platform associated with the signing job.
Type: String platformId (p. 8)
The microcontroller platform to which your signed code image will be distributed.
Type: String profileName (p. 8)
The name of the profile that initiated the signing operation.
Type: String
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
profileVersion (p. 8)
The version of the signing profile used to initiate the signing job.
Type: String
Length Constraints: Fixed length of 10.
Pattern: ^[a-zA-Z0-9]{10}$
requestedBy (p. 8)
The IAM principal that requested the signing job.
Type: String revocationRecord (p. 8)
A revocation record if the signature generated by the signing job has been revoked. Contains a timestamp and the ID of the IAM entity that revoked the signature.
Type: SigningJobRevocationRecord (p. 73) object signatureExpiresAt (p. 8)
Thr expiration timestamp for the signature generated by the signing job.
Type: Timestamp signedObject (p. 8)
Name of the S3 bucket where the signed code image is saved by code signing.
Type: SignedObject (p. 66) object signingMaterial (p. 8)
The Amazon Resource Name (ARN) of your code signing certificate.
Type: SigningMaterial (p. 74) object signingParameters (p. 8)
Map of user-assigned key-value pairs used during signing. These values contain any information that you specified for use in your signing job.
Errors
Type: String to string map source (p. 8)
The object that contains the name of your S3 bucket or your raw code.
Type: Source (p. 81) object status (p. 8)
Status of the signing job.
Type: String
Valid Values: InProgress | Failed | Succeeded statusReason (p. 8)
String value that contains the status reason.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429
Examples
Describe a signing job
This example illustrates one usage of DescribeSigningJob.
Sample Request
GET /Prod/signing-jobs/9052caa6-1d8d-43b5-9ead-0cb8621c8c74 HTTP/1.1 Host: signer.us-east-1.amazonaws.com
See Also
Accept-Encoding: identity
Authorization: AWS4-HMAC-SHA256 Credential=access_key/us- east-1/signer/aws4_request, SignedHeaders=host;x-amz-date,
Signature=93e24ab743082913abfb466a13b2f65a7f3eec9893aa2dcbdc91d160b3d7ff67 X-Amz-Date: 20171115T165923Z
User-Agent: aws-cli/1.11.132 Python/2.7.9 Windows/8 botocore/1.5.95
Sample Response
HTTP/1.1 200 OK
Content-Type: application/json Content-Length: 631
Date: Wed, 15 Nov 2017 16:59:31 GMT
x-amzn-RequestId: 5946a79a-ca26-11e7-ae27-cda958f39b26
X-Amzn-Trace-Id: sampled=0;root=1-5a0c7273-fd33420b90425c1dc4b94bcc X-Cache: Miss from cloudfront
Via: 1.1 ce270f4a88edde7438864bc44406e83a.cloudfront.net (CloudFront) X-Amz-Cf-Id: hAkstXf07ycoa3HgI2MebhYgvyZ39K7zn2Z9mpqxsRlPjPphgaHZUQ==
Connection: Keep-alive
{ "jobId": "9052caa6-1d8d-43b5-9ead-0cb8621c8c74", "source": {
"s3": {
"bucketName": "signer-test-source", "key": "my-example-code.java",
"version": "W.OIrIFmjIFeuNXOaBJzPee66.wRg4GR"
}
}, "signingMaterial": {
"certificateArn": "arn:aws:acm:region:123456789012:certificate/9ec626ca-0bbb-4be5-83a2- ee563f8386ca"
},
"platform": "TexasInstruments", "signingParameters": null, "createdAt": 1510695622, "completedAt": 1510695623,
"requestedBy": "arn:aws:iam::123456789012:root", "status": "Succeeded",
"statusReason": "Signing success", "signedObject": {
"s3": {
"bucketName": "signer-test-dest",
"key": "9052caa6-1d8d-43b5-9ead-0cb8621c8c74"
} }}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
See Also
• AWS SDK for Python
• AWS SDK for Ruby V3
GetSigningPlatform
GetSigningPlatform
Returns information on a specific signing platform.
Request Syntax
GET /signing-platforms/platformId HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
platformId (p. 14)
The ID of the target signing platform.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"category": "string", "displayName": "string", "maxSizeInMB": number, "partner": "string", "platformId": "string",
"revocationSupported": boolean, "signingConfiguration": {
"encryptionAlgorithmOptions": { "allowedValues": [ "string" ], "defaultValue": "string"
},
"hashAlgorithmOptions": { "allowedValues": [ "string" ], "defaultValue": "string"
} },
"signingImageFormat": { "defaultFormat": "string", "supportedFormats": [ "string" ] },
"target": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Errors
The following data is returned in JSON format by the service.
category (p. 14)
The category type of the target signing platform.
Type: String
Valid Values: AWSIoT displayName (p. 14)
The display name of the target signing platform.
Type: String maxSizeInMB (p. 14)
The maximum size (in MB) of the payload that can be signed by the target platform.
Type: Integer partner (p. 14)
A list of partner entities that use the target signing platform.
Type: String platformId (p. 14)
The ID of the target signing platform.
Type: String
revocationSupported (p. 14)
A flag indicating whether signatures generated for the signing platform can be revoked.
Type: Boolean
signingConfiguration (p. 14)
A list of configurations applied to the target platform at signing.
Type: SigningConfiguration (p. 67) object signingImageFormat (p. 14)
The format of the target platform's signing image.
Type: SigningImageFormat (p. 69) object target (p. 14)
The validation template that is used by the target signing platform.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
See Also
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
GetSigningProfile
GetSigningProfile
Returns information on a specific signing profile.
Request Syntax
GET /signing-profiles/profileName?profileOwner=profileOwner HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
profileName (p. 17)
The name of the target signing profile.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes profileOwner (p. 17)
The AWS account ID of the profile owner.
Length Constraints: Fixed length of 12.
Pattern: ^[0-9]{12}$
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"arn": "string", "overrides": {
"signingConfiguration": {
"encryptionAlgorithm": "string", "hashAlgorithm": "string"
},
"signingImageFormat": "string"
},
"platformDisplayName": "string", "platformId": "string",
"profileName": "string", "profileVersion": "string", "profileVersionArn": "string", "revocationRecord": {
"revocationEffectiveFrom": number, "revokedAt": number,
"revokedBy": "string"
Response Elements
},
"signatureValidityPeriod": { "type": "string",
"value": number },
"signingMaterial": {
"certificateArn": "string"
},
"signingParameters": { "string" : "string"
},
"status": "string", "statusReason": "string", "tags": {
"string" : "string"
} }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
arn (p. 17)
The Amazon Resource Name (ARN) for the signing profile.
Type: String overrides (p. 17)
A list of overrides applied by the target signing profile for signing operations.
Type: SigningPlatformOverrides (p. 77) object platformDisplayName (p. 17)
A human-readable name for the signing platform associated with the signing profile.
Type: String platformId (p. 17)
The ID of the platform that is used by the target signing profile.
Type: String profileName (p. 17)
The name of the target signing profile.
Type: String
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
profileVersion (p. 17)
The current version of the signing profile.
Type: String
Length Constraints: Fixed length of 10.
Errors
Pattern: ^[a-zA-Z0-9]{10}$
profileVersionArn (p. 17)
The signing profile ARN, including the profile version.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
revocationRecord (p. 17)
Revocation information for a signing profile.
Type: SigningProfileRevocationRecord (p. 80) object signatureValidityPeriod (p. 17)
The validity period for a signing job.
Type: SignatureValidityPeriod (p. 65) object signingMaterial (p. 17)
The ARN of the certificate that the target profile uses for signing operations.
Type: SigningMaterial (p. 74) object signingParameters (p. 17)
A map of key-value pairs for signing operations that is attached to the target signing profile.
Type: String to string map status (p. 17)
The status of the target signing profile.
Type: String
Valid Values: Active | Canceled | Revoked statusReason (p. 17)
Reason for the status of the target signing profile.
Type: String tags (p. 17)
A list of tags associated with the signing profile.
Type: String to string map
Map Entries: Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
See Also
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListProfilePermissions
ListProfilePermissions
Lists the cross-account permissions associated with a signing profile.
Request Syntax
GET /signing-profiles/profileName/permissions?nextToken=nextToken HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
nextToken (p. 21)
String for specifying the next set of paginated results.
profileName (p. 21)
Name of the signing profile containing the cross-account permissions.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json { "nextToken": "string", "permissions": [ {
"action": "string", "principal": "string", "profileVersion": "string", "statementId": "string"
} ],
"policySizeBytes": number, "revisionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Errors
nextToken (p. 21)
String for specifying the next set of paginated results.
Type: String permissions (p. 21)
List of permissions associated with the Signing Profile.
Type: Array of Permission (p. 61) objects policySizeBytes (p. 21)
Total size of the policy associated with the Signing Profile in bytes.
Type: Integer revisionId (p. 21)
The identifier for the current revision of profile permissions.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
See Also
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListSigningJobs
ListSigningJobs
Lists all your signing jobs. You can use the maxResults parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.
Request Syntax
GET /signing-jobs?
isRevoked=isRevoked&jobInvoker=jobInvoker&maxResults=maxResults&nextToken=nextToken&platformId=platformId&requestedBy=requestedBy&signatureExpiresAfter=signatureExpiresAfter&signatureExpiresBefore=signatureExpiresBefore&status=status HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
isRevoked (p. 24)
Filters results to return only signing jobs with revoked signatures.
jobInvoker (p. 24)
Filters results to return only signing jobs initiated by a specified IAM entity.
Length Constraints: Fixed length of 12.
Pattern: ^[0-9]{12}$
maxResults (p. 24)
Specifies the maximum number of items to return in the response. Use this parameter when
paginating results. If additional items exist beyond the number you specify, the nextToken element is set in the response. Use the nextToken value in a subsequent request to retrieve additional items.
Valid Range: Minimum value of 1. Maximum value of 25.
nextToken (p. 24)
String for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.
platformId (p. 24)
The ID of microcontroller platform that you specified for the distribution of your code image.
requestedBy (p. 24)
The IAM principal that requested the signing job.
signatureExpiresAfter (p. 24)
Filters results to return only signing jobs with signatures expiring after a specified timestamp.
signatureExpiresBefore (p. 24)
Filters results to return only signing jobs with signatures expiring before a specified timestamp.
Request Body
status (p. 24)
A status value with which to filter your results.
Valid Values: InProgress | Failed | Succeeded
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"jobs": [ {
"createdAt": number, "isRevoked": boolean, "jobId": "string", "jobInvoker": "string", "jobOwner": "string",
"platformDisplayName": "string", "platformId": "string",
"profileName": "string", "profileVersion": "string", "signatureExpiresAt": number, "signedObject": {
"s3": {
"bucketName": "string", "key": "string"
} },
"signingMaterial": {
"certificateArn": "string"
},
"source": { "s3": {
"bucketName": "string", "key": "string", "version": "string"
} },
"status": "string"
} ],
"nextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
jobs (p. 25)
A list of your signing jobs.
Errors
Type: Array of SigningJob (p. 70) objects nextToken (p. 25)
String for specifying the next set of paginated results.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of ListSigningJobs.
Sample Request
GET /Prod/signing-jobs?status=InProgress&platform=TexasInstruments&maxResults=10 HTTP/1.1 Host: qvvi640b53.execute-api.us-east-1.amazonaws.com
Accept-Encoding: identity
Authorization: AWS4-HMAC-SHA256 Credential=access_key/20171115/
us-east-1/signer/aws4_request, SignedHeaders=host;x-amz-date,
Signature=59e5f7ac6c2193c1eb163b0a8f3b2b3ec47fc5687631aa4d42bdcfacc14d626a X-Amz-Date: 20171115T173358Z
User-Agent: aws-cli/1.11.132 Python/2.7.9 Windows/8 botocore/1.5.95
Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
Examples
Content-Length: 1896
Date: Wed, 15 Nov 2017 17:34:06 GMT
x-amzn-RequestId: 2e5eaaf7-ca2b-11e7-bfa0-e7cd77b24597
X-Amzn-Trace-Id: sampled=0;root=1-5a0c7a8e-66a88aa1083a4631ce1a9e45 X-Cache: Miss from cloudfront
Via: 1.1 9ba06853e586727720bf0a1bf763bad7.cloudfront.net (CloudFront) X-Amz-Cf-Id: BtaBXTGIVWfSRurtkK7aMOcg39oiA1Uz3UCoPPQm5LWu5bt72gV_cA==
Connection: Keep-alive { "jobs": [{
"jobId": "ade0f15c-5857-4fcd-b731-43530bbd2d7d", "source": {
"s3": {
"bucketName": "signer-test-source", "key": "my-example-code.java", "version": null
} },
"signedObject": { "s3": {
"bucketName": "signer-test-dest",
"key": "signed_images/ade0f15c-5857-4fcd-b731-43530bbd2d7d"
}
}, "signingMaterial": { "certificateArn":
"arn:aws:acm:region:123456789012:certificate/7a0ed941-64dd-419b-8b59-24378756fee3"
},
"createdAt": 1508345543, "status": "Succeeded"
}, {
"jobId": "9052caa6-1d8d-43b5-9ead-0cb8621c8c74", "source": {
"s3": {
"bucketName": "signer-test-source", "key": "my-example-code.java",
"version": "W.OIrIFmjIFeuNXOaBJzPee66.wRg4GR"
} },
"signedObject": { "s3": {
"bucketName": "signer-test-dest",
"key": "9052caa6-1d8d-43b5-9ead-0cb8621c8c74"
}
}, "signingMaterial": {
"certificateArn": "arn:aws:acm:region:123456789012:certificate/9ec626ca-0bbb-4be5-83a2- ee563f8386ca"
},
"createdAt": 1510695622, "status": "Succeeded"
},
{ "jobId": "cc9067a9-9258-489a-abae-1c3408191071", "source": {
"s3": {
"bucketName": "signer-test-source", "key": "my-example-code.java",
"version": "W.OIrIFmjIFeuNXOaBJzPee66.wRg4GR"
} },
"signedObject": { "s3": {
"bucketName": "signer-test-dest",
See Also
"key": "cc9067a9-9258-489a-abae-1c3408191071"
} },
"signingMaterial": {
"certificateArn": "arn:aws:acm:region:123456789012:certificate/9ec626ca-0bbb-4be5-83a2- ee563f8386ca"
}, "createdAt": 1510698374, "status": "Succeeded"
}, {
"jobId": "ba506303-848d-4fb7-a07f-e8049eb5faa6", "source": {
"s3": {
"bucketName": "signer-test-source", "key": "my-example-code.java",
"version": "W.OIrIFmjIFeuNXOaBJzPee66.wRg4GR"
} },
"signedObject": { "s3": {
"bucketName": "signer-test-dest",
"key": "ba506303-848d-4fb7-a07f-e8049eb5faa6"
}
}, "signingMaterial": {
"certificateArn": "arn:aws:acm:region:123456789012:certificate/9ec626ca-0bbb-4be5-83a2- ee563f8386ca"
},
"createdAt": 1510760837, "status": "Succeeded"
}], "nextToken": null }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListSigningPlatforms
ListSigningPlatforms
Lists all signing platforms available in code signing that match the request parameters. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.
Request Syntax
GET /signing-platforms?
category=category&maxResults=maxResults&nextToken=nextToken&partner=partner&target=target HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
category (p. 29)
The category type of a signing platform.
maxResults (p. 29)
The maximum number of results to be returned by this operation.
Valid Range: Minimum value of 1. Maximum value of 25.
nextToken (p. 29)
Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.
partner (p. 29)
Any partner entities connected to a signing platform.
target (p. 29)
The validation template that is used by the target signing platform.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"nextToken": "string", "platforms": [ {
"category": "string", "displayName": "string",
Response Elements
"maxSizeInMB": number, "partner": "string", "platformId": "string",
"revocationSupported": boolean, "signingConfiguration": {
"encryptionAlgorithmOptions": { "allowedValues": [ "string" ], "defaultValue": "string"
},
"hashAlgorithmOptions": { "allowedValues": [ "string" ], "defaultValue": "string"
} },
"signingImageFormat": { "defaultFormat": "string", "supportedFormats": [ "string" ] },
"target": "string"
} ] }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
nextToken (p. 29)
Value for specifying the next set of paginated results to return.
Type: String platforms (p. 29)
A list of all platforms that match the request parameters.
Type: Array of SigningPlatform (p. 75) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
See Also
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListSigningProfiles
ListSigningProfiles
Lists all available signing profiles in your AWS account. Returns only profiles with an ACTIVE status unless the includeCanceled request field is set to true. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.
Request Syntax
GET /signing-profiles?
includeCanceled=includeCanceled&maxResults=maxResults&nextToken=nextToken&platformId=platformId&statuses=statuses HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
includeCanceled (p. 32)
Designates whether to include profiles with the status of CANCELED.
maxResults (p. 32)
The maximum number of profiles to be returned.
Valid Range: Minimum value of 1. Maximum value of 25.
nextToken (p. 32)
Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.
platformId (p. 32)
Filters results to return only signing jobs initiated for a specified signing platform.
statuses (p. 32)
Filters results to return only signing jobs with statuses in the specified list.
Valid Values: Active | Canceled | Revoked
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json { "nextToken": "string", "profiles": [
{
Response Elements
"arn": "string",
"platformDisplayName": "string", "platformId": "string",
"profileName": "string", "profileVersion": "string", "profileVersionArn": "string", "signatureValidityPeriod": { "type": "string",
"value": number },
"signingMaterial": {
"certificateArn": "string"
},
"signingParameters": { "string" : "string"
},
"status": "string", "tags": {
"string" : "string"
} } ]}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
nextToken (p. 32)
Value for specifying the next set of paginated results to return.
Type: String profiles (p. 32)
A list of profiles that are available in the AWS account. This includes profiles with the status of CANCELED if the includeCanceled parameter is set to true.
Type: Array of SigningProfile (p. 78) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
See Also
This error supersedes the error ThrottlingException.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListTagsForResource
ListTagsForResource
Returns a list of the tags associated with a signing profile resource.
Request Syntax
GET /tags/resourceArn HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
resourceArn (p. 35)
The Amazon Resource Name (ARN) for the signing profile.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json { "tags": {
"string" : "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
tags (p. 35)
A list of tags associated with the signing profile.
Type: String to string map
Map Entries: Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
Errors
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
BadRequestException
The request contains invalid parameters for the ARN or tags. This exception also occurs when you call a tagging API on a cancelled signing profile.
HTTP Status Code: 400 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 NotFoundException
The signing profile was not found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
PutSigningProfile
PutSigningProfile
Creates a signing profile. A signing profile is a code signing template that can be used to carry out a pre- defined signing job.
Request Syntax
PUT /signing-profiles/profileName HTTP/1.1 Content-type: application/json
{ "overrides": {
"signingConfiguration": {
"encryptionAlgorithm": "string", "hashAlgorithm": "string"
},
"signingImageFormat": "string"
},
"platformId": "string", "signatureValidityPeriod": { "type": "string",
"value": number },
"signingMaterial": {
"certificateArn": "string"
},
"signingParameters": { "string" : "string"
},
"tags": {
"string" : "string"
} }
URI Request Parameters
The request uses the following URI parameters.
profileName (p. 37)
The name of the signing profile to be created.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes
Request Body
The request accepts the following data in JSON format.
overrides (p. 37)
A subfield of platform. This specifies any different configuration options that you want to apply to the chosen platform (such as a different hash-algorithm or signing-algorithm).
Type: SigningPlatformOverrides (p. 77) object
Response Syntax
Required: No platformId (p. 37)
The ID of the signing platform to be created.
Type: String Required: Yes
signatureValidityPeriod (p. 37)
The default validity period override for any signature generated using this signing profile. If unspecified, the default is 135 months.
Type: SignatureValidityPeriod (p. 65) object Required: No
signingMaterial (p. 37)
The AWS Certificate Manager certificate that will be used to sign code with the new signing profile.
Type: SigningMaterial (p. 74) object Required: No
signingParameters (p. 37)
Map of key-value pairs for signing. These can include any information that you want to use during signing.
Type: String to string map Required: No
tags (p. 37)
Tags to be associated with the signing profile that is being created.
Type: String to string map
Map Entries: Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json { "arn": "string",
"profileVersion": "string", "profileVersionArn": "string"
}
Response Elements
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
arn (p. 38)
The Amazon Resource Name (ARN) of the signing profile created.
Type: String profileVersion (p. 38)
The version of the signing profile being created.
Type: String
Length Constraints: Fixed length of 10.
Pattern: ^[a-zA-Z0-9]{10}$
profileVersionArn (p. 38)
The signing profile ARN, including the profile version.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
See Also
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
RemoveProfilePermission
RemoveProfilePermission
Removes cross-account permissions from a signing profile.
Request Syntax
DELETE /signing-profiles/profileName/permissions/statementId?revisionId=revisionId HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
profileName (p. 41)
A human-readable name for the signing profile with permissions to be removed.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes revisionId (p. 41)
An identifier for the current revision of the signing profile permissions.
Required: Yes statementId (p. 41)
A unique identifier for the cross-account permissions statement.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json { "revisionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
revisionId (p. 41)
An identifier for the current revision of the profile permissions.
Errors
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 ConflictException
The resource encountered a conflicting state.
HTTP Status Code: 409 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
RevokeSignature
RevokeSignature
Changes the state of a signing job to REVOKED. This indicates that the signature is no longer valid.
Request Syntax
PUT /signing-jobs/jobId/revoke HTTP/1.1 Content-type: application/json
{ "jobOwner": "string", "reason": "string"
}
URI Request Parameters
The request uses the following URI parameters.
jobId (p. 43)
ID of the signing job to be revoked.
Required: Yes
Request Body
The request accepts the following data in JSON format.
jobOwner (p. 43)
AWS account ID of the job owner.
Type: String
Length Constraints: Fixed length of 12.
Pattern: ^[0-9]{12}$
Required: No reason (p. 43)
The reason for revoking the signing job.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 500.
Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
RevokeSigningProfile
RevokeSigningProfile
Changes the state of a signing profile to REVOKED. This indicates that signatures generated using the signing profile after an effective start date are no longer valid.
Request Syntax
PUT /signing-profiles/profileName/revoke HTTP/1.1 Content-type: application/json
{ "effectiveTime": number, "profileVersion": "string", "reason": "string"
}
URI Request Parameters
The request uses the following URI parameters.
profileName (p. 45)
The name of the signing profile to be revoked.
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes
Request Body
The request accepts the following data in JSON format.
effectiveTime (p. 45)
A timestamp for when revocation of a Signing Profile should become effective. Signatures generated using the signing profile after this timestamp are not trusted.
Type: Timestamp Required: Yes profileVersion (p. 45)
The version of the signing profile to be revoked.
Type: String
Length Constraints: Fixed length of 10.
Pattern: ^[a-zA-Z0-9]{10}$
Required: Yes reason (p. 45)
The reason for revoking a signing profile.
Response Syntax
Type: String
Length Constraints: Minimum length of 1. Maximum length of 500.
Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 84).
AccessDeniedException
You do not have sufficient access to perform this action.
HTTP Status Code: 403 InternalServiceErrorException
An internal error occurred.
HTTP Status Code: 500 ResourceNotFoundException
A specified resource could not be found.
HTTP Status Code: 404 TooManyRequestsException
The allowed number of job-signing requests has been exceeded.
This error supersedes the error ThrottlingException.
HTTP Status Code: 429 ValidationException
You signing certificate could not be validated.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
See Also
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
StartSigningJob
StartSigningJob
Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the
ListSigningJobs operation for two years after they are performed. Note the following requirements:
• You must create an Amazon S3 source bucket. For more information, see Creating a Bucket in the Amazon S3 Getting Started Guide.
• Your S3 source bucket must be version enabled.
• You must create an S3 destination bucket. Code signing uses your S3 destination bucket to write your signed code.
• You specify the name of the source and destination buckets when calling the StartSigningJob operation.
• You must also specify a request token that identifies your request to code signing.
You can call the DescribeSigningJob (p. 8) and the ListSigningJobs (p. 24) actions after you call StartSigningJob.
For a Java example that shows how to use this action, see StartSigningJob.
Request Syntax
POST /signing-jobs HTTP/1.1 Content-type: application/json { "clientRequestToken": "string", "destination": {
"s3": {
"bucketName": "string", "prefix": "string"
} },
"profileName": "string", "profileOwner": "string", "source": {
"s3": {
"bucketName": "string", "key": "string",
"version": "string"
} } }
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
clientRequestToken (p. 48)
String that identifies the signing request. All calls after the first that use this token return the same response as the first call.
Response Syntax
Type: String Required: Yes destination (p. 48)
The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix.
Type: Destination (p. 58) object Required: Yes
profileName (p. 48)
The name of the signing profile.
Type: String
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern: ^[a-zA-Z0-9_]{2,}
Required: Yes profileOwner (p. 48)
The AWS account ID of the signing profile owner.
Type: String
Length Constraints: Fixed length of 12.
Pattern: ^[0-9]{12}$
Required: No source (p. 48)
The S3 bucket that contains the object to sign or a BLOB that contains your raw code.
Type: Source (p. 81) object Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json {
"jobId": "string", "jobOwner": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
jobId (p. 49)
The ID of your signing job.