REST形式の場合

Signature生成方法

1. Signature以外のリクエストパラメータを確定します。

2. HTTPリクエストヘッダ文字列を以下の手順で正規化して生成します。

  1. リクエストヘッダキーをUTF-8の辞書順でソートします。
  2. リクエストヘッダ文字列を改行文字(「\n」、LF、0x0A)で連結します。
    1. リクエストヘッダキーが「Content-MD5」または「Content-Type」の場合は、値をそのまま連結します。

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

    3. 上記以外のリクエストヘッダキーは連結しません。

3. パス部分をURLエンコードする。

4. HTTPリクエストメソッド、正規化したHTTPリクエストヘッダ文字列、URLエンコードしたパス部分を以下の順序で結合した文字列を生成します。

HTTPリクエストメソッド+\n
正規化したHTTPリクエストヘッダ文字列+\n
URLエンコードしたパス部分

5. 生成した文字列に対し、SignatureMethodで指定したハッシュアルゴリズムに従いHMACを算出します。

HMACを算出する際のキーとして、アクセスキーと同時に作成されるシークレットキーを指定します。

6. 算出したHMACをBase64エンコードします。

リクエスト方法

各パラメータはURLまたはHTTPリクエストで指定します。

サンプル

HTTPメソッドにPOSTを指定する場合

POST /r/(APIVersion)/(Action).json
Host: uom.api.iij.jp
Content-MD5: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
Date: Mon, 20 Jan 2014 12:34:56 UTC
x-iijapi-Expire: (x-iijapi-Expire)
x-iijapi-SignatureMethod: (x-iijapi-SignatureMethod)
x-iijapi-SignatureVersion: (x-iijapi-SignatureVersion)
Authorization: IIJAPI (AccessKeyId):(Signature)
(HTTPリクエストボディ: JSON形式のAPIごとに指定されたパラメータ)