Calculating a Signature
You can create a signature that enables you to secure and authenticate your API requests.
To calculate this signature, you first need to create a signing key from your secret key. The signing key is more secure since it is specific to the date, the service and the Region.
You must hash this signing key and the string to sign created in Creating a String to Sign with a cryptographic hash function. The result of this hash is the signature.
You can then add the signature to your request in Adding a Signature to Your API Request.
You do not need to do this procedure if you use OSC CLI, AWS CLI, or an SDK for your API request.
Before you begin: Complete the Creating a String to Sign procedure. |
-
Create the signing key. To do so, refer to the following pseudocode:
Example of creation of a signing keykSecret = your secret key kDate = HMAC("AWS4" + kSecret, Date) kRegion = HMAC(kDate, Region) kService = HMAC(kRegion, Service) kSigning = HMAC(kService, "aws4_request")
Example of creation of a signing key with the example parametersHMAC(HMAC(HMAC(HMAC("AWS4" + kSecret,"20180915"),"eu-west-2"),"ec2"),"aws4_request")
To create the signing key, you hash your secret key with a cryptographic hash function in order to create authentication messages (HMAC).
Ensure you comply with the following rules:
-
The date must be in the
YYYYMMDD
format. The time is not included. -
The order of the parameters can change depending on the function you use. Ensure you specify the parameters in the correct order.
-
The hash function must calculate a binary format hash.
The signing key is created.
Example of signing key94ba451c3de6da68ea51d42482c5c51b7503b74e4933a36717817d7c5c1fa4bc
-
-
Calculate the signature. To do so, refer to the following pseudocode:
signature = HexEncode(HMAC(signing key, string to sign))
-
To calculate the signature, you hash the signing key that you have created and the string to sign created in Creating a String to Sign with a cryptographic hash function.
-
The order of the parameters can change depending on the function that you use. Ensure you specify the parameters in the correct order.
The signature is created.
Example of signature8522c3bcf28f7c39dd7667ccf86a8d31718ca04d56d39d48649119d48021f567
You can add the signature to your request in Adding a Signature to Your API Request.
-
Related Pages
AWS™ and Amazon Web Services™ are trademarks of Amazon Technologies, Inc or its affiliates in the United States and/or other countries.