Calculer une signature

Vous pouvez créer une signature qui vous permet de sécuriser et d’authentifier vos demandes d’API.

Pour calculer cette signature, vous devez d’abord créer une signing key à partir de votre secret key. La signing key est davantage sécurisée car elle est spécifique à la date, au service et à la Région.

Vous devez hacher cette signing key et la chaîne à signer créée dans Créer une chaîne à signer avec une fonction de hachage cryptographique. Le résultat de ce hachage est la signature.

Vous pouvez ensuite ajouter la signature à votre demande dans Ajouter une signature à votre demande d’API.

Vous n’avez pas besoin de faire cette procédure si vous utilisez AWS CLI ou un SDK pour votre demande d’API.

Avant de commencer : Vous devez avoir complété la procédure Créer une chaîne à signer.

  1. Créez la signing key. Pour cela, référez-vous au pseudo-code suivant :

    Exemple de création d’une signing key
    kSecret = votre secret key
    kDate = HMAC("AWS4" + kSecret, Date)
    kRegion = HMAC(kDate, Region)
    kService = HMAC(kRegion, Service)
    kSigning = HMAC(kService, "aws4_request")
    Exemple de création d’une signing key avec les paramètres utilisés en exemple
    HMAC(HMAC(HMAC(HMAC("AWS4" + kSecret,"20180915"),"eu-west-2"),"ec2"),"aws4_request")

    Pour créer la signing key, vous hachez votre secret key avec une fonction de hachage cryptographique pour créer des messages d’authentification (HMAC).

    Assurez-vous de respecter les règles suivantes pour le hachage :

    • La date doit suivre le format YYYYMMDD. L’heure n’est pas incluse.

    • L’ordre des paramètres peut différer selon la fonction que vous utilisez. Assurez-vous donc de spécifier les paramètres dans le bon ordre.

    • La fonction de hachage utilisée doit calculer un hachage au format binaire.

    La signing key est créée.

    Exemple de signing key
    94ba451c3de6da68ea51d42482c5c51b7503b74e4933a36717817d7c5c1fa4bc
  2. Calculez la signature. Pour cela, référez-vous au pseudo code suivant :

    signature = HexEncode(HMAC(signing key, chaîne à signer))
    • Pour calculer la signature, vous utilisez la signing key que vous avez créée et la chaîne à signer créée dans Créer une chaîne à signer dans une fonction de hachage cryptographique.

    • L’ordre des paramètres peut différer selon la fonction que vous utilisez. Assurez-vous donc de spécifier les paramètres dans le bon ordre.

    La signature est créée.

    Exemple de signature
    8522c3bcf28f7c39dd7667ccf86a8d31718ca04d56d39d48649119d48021f567

    Vous pouvez ajouter la signature à votre demande dans Ajouter une signature à votre demande d’API.

Pages connexes

AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.