認証・リクエストの署名
認証・リクエストの署名
P2PUB-APIを呼び出す際には、認証のためにAccessKeyとSignatureを利用します。
AccessKeyはサービスオンラインの画面から取得することができます。AccessKeyの取得方法については、AccessKeyを参照してください。
Signatureはリクエストパラメータから一定の手順で生成した文字列です。Singatureを生成する際に、AccessKeyと同時に発行されるSecretKeyを利用します。
Signatureは以下の手順で生成します。
- Signature以外のリクエストパラメータを確定します。
HTTPリクエストメソッド、HTTPリクエストヘッダ文字列、URIエンコードしたパス部分を以下の順序で結合した文字列を生成し、StringToSignとします。
HTTPリクエストメソッド+\n HTTPリクエストヘッダ文字列+\n URIエンコードしたパス部分
- HTTPリクエストメソッドGET、POST、PUT、DELETEのいずれかを連結します。
- HTTPリクエストヘッダ文字列リクエストパラメータを以下の手順で正規化して作成します。
- リクエストヘッダキーをUTF-8の辞書順でソートします。
- リクエストヘッダ値を改行文字("\n"、LF、0x0A)で連結します。
- リクエストヘッダキーが"Content-MD5"または"Content-Type"の場合は、値を連結します。リクエストヘッダキーの接頭文字が"x-iijapi-"の場合は、リクエストヘッダキーを小文字に変換してリクエストヘッダ値とコロン(":"、0x3A)記号で連結します。上記以外のリクエストヘッダキーは連結しないでください。
- URIエンコード(Signature生成時のURLエンコード方法)したパス部分を連結します。クエリストリングは含みません。
- /r/(APIVersion)/(個別パラメータ)/(API名).json。
- 生成したStringToSignに対し、SignatureMethodで指定したオブジェクトアルゴリズムに従いHMACを算出します。
- HMACを算出する際の Keyとして、AccessKeyと同時に取得したSecrectKeyを指定します。
- 算出したHMACをBase64エンコードします。