public abstract class AbstractIIJGIOSigner extends Object implements Signer
Constructor and Description |
---|
AbstractIIJGIOSigner() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
addSessionCredentials(Request<?> request,
IIJGIOSessionCredentials credentials)
所定のリクエストにセッション資格情報を加えます。
|
protected byte[] |
getBinaryRequestPayload(Request<?> request)
リクエストのペイロードをバイナリデータとして返します。
|
protected InputStream |
getBinaryRequestPayloadStream(Request<?> request) |
protected InputStream |
getBinaryRequestPayloadStreamWithoutQueryParams(Request<?> request) |
protected byte[] |
getBinaryRequestPayloadWithoutQueryParams(Request<?> request)
リクエストのペイロード内容をバイナリデータとして返します。
どんなクエリ文字列のパラメータを処理しません。
(すなわち、クエリ・パラメータに対してエンコードを行いません)
|
protected String |
getCanonicalizedEndpoint(URI endpoint) |
protected String |
getCanonicalizedQueryString(Map<String,String> parameters)
指定されたクエリ文字列のパラメータを分析し、正規化されたフォームを返します。
|
protected String |
getCanonicalizedQueryString(Request<?> request) |
protected String |
getCanonicalizedResourcePath(String resourcePath) |
protected String |
getCanonicalizedResourcePath(String resourcePath,
boolean urlEncode) |
protected String |
getRequestPayload(Request<?> request)
リクエストのペイロードを文字列として返します。
|
protected String |
getRequestPayloadWithoutQueryParams(Request<?> request)
リクエストのペイロード内容を文字列として返します。
どんなクエリ文字列のパラメータを処理しません。
(すなわち、クエリ・パラメータに対してエンコードを行いません)
|
protected Date |
getSignatureDate(int timeOffset) |
protected int |
getTimeOffset(Request<?> request) |
byte[] |
hash(byte[] data)
バイナリデータをSHA-256アルゴリズムを使ってハッシュ化します。
|
protected byte[] |
hash(InputStream input) |
byte[] |
hash(String text)
(UTF-8想定の)文字列コンテンツをSHA-256アルゴリズムを使ってハッシュ化します。
|
protected String |
newString(byte[] bytes)
UTF-8でエンコードされたバイト配列を文字列に安全に変換します。
|
protected IIJGIOCredentials |
sanitizeCredentials(IIJGIOCredentials credentials)
指定した資格情報から個々のアクセスキーIDとシークレットキーをロードし、
資格情報へのアクセスが資格情報オブジェクト自身上で同期化されていることを保証し、
資格情報の余分な空白をトリミングします。
|
protected byte[] |
sign(byte[] data,
byte[] key,
SigningAlgorithm algorithm) |
byte[] |
sign(String stringData,
byte[] key,
SigningAlgorithm algorithm)
バイト配列に対してRFC 2104準拠のHMACシグニチャを計算します。
|
protected String |
signAndBase64Encode(byte[] data,
String key,
SigningAlgorithm algorithm)
バイト配列に対してRFC 2104準拠HMACシグニチャを計算し、BASE64エンコード文字列として結果を返します。
|
protected String |
signAndBase64Encode(String data,
String key,
SigningAlgorithm algorithm)
RFC 2104準拠HMACシグニチャを計算し、BASE64エンコード文字列として結果を返します。
|
protected String signAndBase64Encode(String data, String key, SigningAlgorithm algorithm) throws IIJGIOClientException
data
- MAC値の生成に用いるメッセージの文字列key
- MAC値の生成に用いる秘密鍵algorithm
- ハッシュアルゴリズムIIJGIOClientException
protected String signAndBase64Encode(byte[] data, String key, SigningAlgorithm algorithm) throws IIJGIOClientException
data
- MAC値の生成に用いるデータkey
- MAC値の生成に用いる秘密鍵algorithm
- ハッシュアルゴリズムIIJGIOClientException
public byte[] sign(String stringData, byte[] key, SigningAlgorithm algorithm) throws IIJGIOClientException
stringData
- MAC値の生成に用いるデータkey
- MAC値の生成に用いる秘密鍵algorithm
- ハッシュアルゴリズムIIJGIOClientException
- ハッシュが計算できなかった場合protected byte[] sign(byte[] data, byte[] key, SigningAlgorithm algorithm) throws IIJGIOClientException
IIJGIOClientException
public byte[] hash(String text) throws IIJGIOClientException
text
- ハッシュ化する文字列IIJGIOClientException
- ハッシュが計算できなかった場合protected byte[] hash(InputStream input) throws IIJGIOClientException
IIJGIOClientException
public byte[] hash(byte[] data) throws IIJGIOClientException
data
- ハッシュ化するバイナリデータIIJGIOClientException
- ハッシュが計算できなかった場合protected String getCanonicalizedQueryString(Map<String,String> parameters)
正規化クエリ文字列は下記の手順で形成されます。 まずクエリ文字列のパラメータをソートし、 キーとバリューをURIエンコーディングし、 &でキー・バリューのペアを区切って順番に結合します。
parameters
- 正規化されるクエリ文字列のパラメータprotected byte[] getBinaryRequestPayload(Request<?> request)
request
- リクエストprotected String getRequestPayload(Request<?> request)
request
- リクエストprotected String getRequestPayloadWithoutQueryParams(Request<?> request)
request
- リクエストprotected byte[] getBinaryRequestPayloadWithoutQueryParams(Request<?> request)
request
- リクエストprotected InputStream getBinaryRequestPayloadStream(Request<?> request)
protected InputStream getBinaryRequestPayloadStreamWithoutQueryParams(Request<?> request)
protected String getCanonicalizedResourcePath(String resourcePath, boolean urlEncode)
protected IIJGIOCredentials sanitizeCredentials(IIJGIOCredentials credentials)
入力種別に従い、BasicSessionCredentials
オブジェクトか
BasicIIJGIOCredentials
オブジェクトのどちらかを返します。
credentials
- 資格情報protected String newString(byte[] bytes)
bytes
- UTF-8でエンコードされたバイト配列protected Date getSignatureDate(int timeOffset)
protected int getTimeOffset(Request<?> request)
protected abstract void addSessionCredentials(Request<?> request, IIJGIOSessionCredentials credentials)
request
- セッション資格情報を加えるリクエストcredentials
- リクエストに加えるセッション資格情報Copyright © 2018. All rights reserved.