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を利用します。SecretKeyについて詳しくは、「AccessKeyとSecretKey」をご覧ください。

4.手順3で生成したHMACをBase64エンコードし、Signatureを作成します。