Signatureの生成方法

EP-APIでは、APIを利用する際の認証にAccessKeyとSignatureを利用します。

本ページではSignatureの生成方法について説明します。

Signature生成手順

  1. Signature以外のリクエストパラメータを確定します
  2. HTTPリクエストメソッド、HTTPリクエストヘッダ、APIごとのパスを結合した文字列を生成します
    必ず以下の順序で結合してください

    HTTPリクエストメソッド+\n
    HTTPリクエストヘッダ+\n
    APIのパス
    結合パラメータ内容
    HTTPリクエストメソッドGET、POSTのいずれかを連結します
    HTTPリクエストヘッダ

    リクエストパラメータを以下の手順で正規化して作成します
    i.  リクエストヘッダのキーをUTF-8の辞書順でソートします
    ii. リクエストヘッダ値を改行文字(\n、LF、0x0A)で連結します

    リクエストヘッダキーが"Content-MD5"または"Content-Type"の場合は、値を連結します

    リクエストヘッダキーの接頭文字が"x-iijapi-"の場合は、リクエストヘッダキーを小文字に変換してリクエストヘッダ値とコロン(":"、0x3A)記号で連結します

    上記以外のリクエストヘッダキーは連結しないでください。

    APIのパスAPIごとのパスを連結します
    参照: API一覧
  3. 手順2で生成した文字列に対して、SignatureMethodで指定したハッシュアルゴリズムに従ってHMACを算出します
    • HMACを算出する際のKeyにはSecretKeyを利用します
  4. 手順3で生成したHMACをBase64エンコードしたものがSignatureとなります