REST形式の場合
Signature生成方法
1. Signature以外のリクエストパラメータを確定します。
2. HTTPリクエストヘッダ文字列を以下の手順で正規化して生成します。
- リクエストヘッダキーをUTF-8の辞書順でソートします。
- リクエストヘッダ文字列を改行文字(「\n」、LF、0x0A)で連結します。
リクエストヘッダキーが「Content-MD5」または「Content-Type」の場合は、値をそのまま連結します。
リクエストヘッダキーの接頭文字が「x-iijapi-」の場合は、リクエストヘッダキーを小文字に変換してリクエストヘッダ値と「:(コロン)」(0x3A)で連結します。
上記以外のリクエストヘッダキーは連結しません。
3. パス部分をURLエンコードする。
- パスの形式 : /r/(APIVersion)/(Action).json
詳しくは、「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ごとに指定されたパラメータ)