cn.signit.sdk.util
类 HmacSignatureBuilder

java.lang.Object
  继承者 cn.signit.sdk.util.HmacSignatureBuilder

public class HmacSignatureBuilder
extends Object


嵌套类摘要
static class HmacSignatureBuilder.BuilderMode
          构建模式的枚举.
 
字段摘要
static String DEFAULT_ALGORITHM
           
static String DEFAULT_CHARSET
           
static byte DEFAULT_DELIMITER
           
 
构造方法摘要
HmacSignatureBuilder()
          默认无参构造方法.
HmacSignatureBuilder(String algorithm, String charset, byte delimiter)
          基础信息的构造方法.
HmacSignatureBuilder(String algorithm, String charset, byte delimiter, String apiKey, byte[] apiSecret)
          基础信息和认证密钥对初始化的构造方法.
 
方法摘要
 HmacSignatureBuilder algorithm(String algorithm)
          设置HMAC的算法.
 HmacSignatureBuilder apiKey(String apiKey)
          设置需要加入运算的服务器授权给客户端的唯一公开标识.
 HmacSignatureBuilder apiSecret(byte[] apiSecret)
          设置需要加入运算的服务器授权给客户端的私密密钥.
 void assertAuthFail(byte[] expectedSignature)
          断言认证失败.
 void assertAuthFail(byte[] expectedSignature, HmacSignatureBuilder.BuilderMode builderMode)
          断言认证失败.
 void assertAuthFail(byte[] expectedSignature, HmacSignatureBuilder.BuilderMode builderMode, String errorMessage)
          断言认证失败.
 void assertAuthFail(byte[] expectedSignature, String errorMessage)
          断言认证失败.
 void assertAuthSuccess(byte[] expectedSignature)
          断言认证成功.
 void assertAuthSuccess(byte[] expectedSignature, HmacSignatureBuilder.BuilderMode builderMode)
          断言认证成功.
 void assertAuthSuccess(byte[] expectedSignature, HmacSignatureBuilder.BuilderMode builderMode, String errorMessage)
          断言认证成功.
 void assertAuthSuccess(byte[] expectedSignature, String errorMessage)
          断言认证成功.
 byte[] build()
          完成HMAC认证消息的构建,并获得签名摘要值.
 byte[] build(HmacSignatureBuilder.BuilderMode builderMode)
          完成HMAC认证消息的构建,并获得签名摘要值.
 String buildAsBase64()
          完成HMAC认证消息的构建,并获得base64编码表示的签名摘要值.
 String buildAsBase64(HmacSignatureBuilder.BuilderMode builderMode)
          完成HMAC认证消息的构建,并获得base64编码表示的签名摘要值.
 String buildAsHex()
          完成HMAC认证消息的构建,并获得16进制编码表示的签名摘要值.
 String buildAsHex(HmacSignatureBuilder.BuilderMode builderMode)
          完成HMAC认证消息的构建,并获得16进制编码表示的签名摘要值.
 HmacSignatureBuilder charset(String charset)
          设置加入运算的相关字符的字符集编码规则.
 HmacSignatureBuilder contentType(String contentType)
          设置需要加入运算的请求内容类型(Content-Type).
 HmacSignatureBuilder date(String date)
          设置需要加入运算的请求时间(Date).
 HmacSignatureBuilder delimiter(byte delimiter)
          设置加入运算的字符间的分隔符.
 String getDefaultAlgorithm()
          获取默认的HMAC的算法.
 String getDefaultCharset()
          获取默认加入运算的相关字符的字符集编码规则.
 byte getDefaultDelimiter()
          获取默认加入运算的字符间的分隔符.
 HmacSignatureBuilder host(String host)
          设置需要加入运算的主机名称.
 boolean isHashEquals(byte[] expectedSignature)
          判断期望摘要是否与已构建的摘要相等.
 boolean isHashEquals(byte[] expectedSignature, HmacSignatureBuilder.BuilderMode builderMode)
          判断期望摘要是否与已构建的摘要相等.
 boolean isHashEqualsWithBase64(String expectedSignatureBase64)
          判断期望摘要是否与已构建的摘要相等.
 boolean isHashEqualsWithBase64(String expectedSignatureBase64, HmacSignatureBuilder.BuilderMode builderMode)
          判断期望摘要是否与已构建的摘要相等.
 boolean isHashEqualsWithHex(String expectedSignatureHex)
          判断期望摘要是否与已构建的摘要相等.
 boolean isHashEqualsWithHex(String expectedSignatureHex, HmacSignatureBuilder.BuilderMode builderMode)
          判断期望摘要是否与已构建的摘要相等.
 HmacSignatureBuilder method(String method)
          设置需要加入运算的请求方法.
 HmacSignatureBuilder nonce(String nonce)
          设置需要加入运算的随机数.
 HmacSignatureBuilder payload(byte[] payload)
          设置需要加入运算的请求数据.
 HmacSignatureBuilder resource(String resource)
          设置需要加入运算的请求资源地址(URI).
 HmacSignatureBuilder scheme(String scheme)
          设置需要加入运算的协议名称.
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

DEFAULT_ALGORITHM

public static final String DEFAULT_ALGORITHM
另请参见:
常量字段值

DEFAULT_CHARSET

public static final String DEFAULT_CHARSET
另请参见:
常量字段值

DEFAULT_DELIMITER

public static final byte DEFAULT_DELIMITER
另请参见:
常量字段值
构造方法详细信息

HmacSignatureBuilder

public HmacSignatureBuilder()
默认无参构造方法.


HmacSignatureBuilder

public HmacSignatureBuilder(String algorithm,
                            String charset,
                            byte delimiter)
基础信息的构造方法.

参数:
algorithm - HMAC的算法(默认:HmacSHA512
charset - 指定加入运算的相关字符的字符集编码(默认:UTF-8
delimiter - 指定加入运算的字符间的分隔符(默认:\n

HmacSignatureBuilder

public HmacSignatureBuilder(String algorithm,
                            String charset,
                            byte delimiter,
                            String apiKey,
                            byte[] apiSecret)
基础信息和认证密钥对初始化的构造方法.

参数:
algorithm - HMAC的算法(默认:HmacSHA512
charset - 指定加入运算的相关字符的字符集编码(默认:UTF-8
delimiter - 指定加入运算的字符间的分隔符(默认:\n
apiKey - 需要加入运算的服务器授权给客户端的唯一公开标识.(与apiSecret配套,允许公开)
apiSecret - 需要加入运算的服务器授权给客户端的私密密钥.(与apiKey配套,但不公开)
方法详细信息

getDefaultAlgorithm

public String getDefaultAlgorithm()
获取默认的HMAC的算法.

返回:
默认HMAC的算法字符串表示
从以下版本开始:
1.0.0

getDefaultCharset

public String getDefaultCharset()
获取默认加入运算的相关字符的字符集编码规则.

返回:
默认加入运算的相关字符的字符集编码规则字符串表示
从以下版本开始:
1.0.0

getDefaultDelimiter

public byte getDefaultDelimiter()
获取默认加入运算的字符间的分隔符.

返回:
默认加入运算的字符间的分隔符字节表示
从以下版本开始:
1.0.0

charset

public HmacSignatureBuilder charset(String charset)
设置加入运算的相关字符的字符集编码规则.

参数:
charset - 字符集编码规则
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

delimiter

public HmacSignatureBuilder delimiter(byte delimiter)
设置加入运算的字符间的分隔符.

参数:
delimiter - 字符间的分隔符
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

algorithm

public HmacSignatureBuilder algorithm(String algorithm)
设置HMAC的算法.

参数:
algorithm - HMAC的算法
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

scheme

public HmacSignatureBuilder scheme(String scheme)
设置需要加入运算的协议名称.

参数:
scheme - 协议名称(如: http/https/ftp/...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

host

public HmacSignatureBuilder host(String host)
设置需要加入运算的主机名称.

参数:
host - 主机名称(如: signit.cn/10.10.10.10/...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

apiKey

public HmacSignatureBuilder apiKey(String apiKey)
设置需要加入运算的服务器授权给客户端的唯一公开标识.(与apiSecret配套,允许公开).

参数:
apiKey - 服务器授权给客户端的唯一公开标识.(与apiSecret配套,允许公开)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

method

public HmacSignatureBuilder method(String method)
设置需要加入运算的请求方法.

参数:
method - 请求方法(如: GET/POST/PUT/DELETE/...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

resource

public HmacSignatureBuilder resource(String resource)
设置需要加入运算的请求资源地址(URI).

参数:
resource - 请求资源地址(URI)(如: '/v1/users','/v1/users/123',...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

contentType

public HmacSignatureBuilder contentType(String contentType)
设置需要加入运算的请求内容类型(Content-Type).

参数:
contentType - 请求内容类型(Content-Type)(如: 'application/json','image/jpeg',...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

date

public HmacSignatureBuilder date(String date)
设置需要加入运算的请求时间(Date).

参数:
date - 请求时间(Date)(如: 'Sat, 02 Jul 2011 20:45:57 GMT','Wed, 02 Nov 2016 03:25:54 GMT',...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

nonce

public HmacSignatureBuilder nonce(String nonce)
设置需要加入运算的随机数.

参数:
nonce - 随机数(如: '6m0S4nyH1dg7K2gh','8NQq53cLR4g5Y52I',...)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

apiSecret

public HmacSignatureBuilder apiSecret(byte[] apiSecret)
设置需要加入运算的服务器授权给客户端的私密密钥.(与apiKey配套,但不公开).

参数:
apiSecret - 服务器授权给客户端的私密密钥.(与apiKey配套,但不公开)
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

payload

public HmacSignatureBuilder payload(byte[] payload)
设置需要加入运算的请求数据.

参数:
payload - 请求数据
返回:
当前HMAC建造器对象
从以下版本开始:
1.0.0

build

public byte[] build()
完成HMAC认证消息的构建,并获得签名摘要值. 默认采用:BuilderMode.FULL 方式构建加入运算的数据.

返回:
HMAC原始签名摘要值的内存数据字节.若构建失败,则返回null
从以下版本开始:
1.0.0

build

public byte[] build(HmacSignatureBuilder.BuilderMode builderMode)
完成HMAC认证消息的构建,并获得签名摘要值.

参数:
builderMode - 构建模式的枚举
返回:
HMAC原始签名摘要值的内存数据字节.若构建失败,则返回null
从以下版本开始:
1.0.0

buildAsHex

public String buildAsHex()
完成HMAC认证消息的构建,并获得16进制编码表示的签名摘要值.
默认采用:BuilderMode.FULL 方式构建加入运算的数据.

返回:
HMAC的16进制编码表示的签名摘要值字符串.若构建失败,则返回null
从以下版本开始:
1.0.0

buildAsHex

public String buildAsHex(HmacSignatureBuilder.BuilderMode builderMode)
完成HMAC认证消息的构建,并获得16进制编码表示的签名摘要值.

参数:
builderMode - 构建模式的枚举
返回:
HMAC的16进制编码表示的签名摘要值字符串.若构建失败,则返回null
从以下版本开始:
1.0.0

buildAsBase64

public String buildAsBase64()
完成HMAC认证消息的构建,并获得base64编码表示的签名摘要值.
默认采用:BuilderMode.FULL 方式构建加入运算的数据.

返回:
HMAC的base64编码表示的签名摘要值字符串.若构建失败,则返回null
从以下版本开始:
1.0.0

buildAsBase64

public String buildAsBase64(HmacSignatureBuilder.BuilderMode builderMode)
完成HMAC认证消息的构建,并获得base64编码表示的签名摘要值.

参数:
builderMode - 构建模式的枚举
返回:
HMAC的base64编码表示的签名摘要值字符串.若构建失败,则返回null
从以下版本开始:
1.0.0

assertAuthSuccess

public void assertAuthSuccess(byte[] expectedSignature)
断言认证成功.
若认证不成功,则抛出异常IllegalArgumentException.
默认采用:BuilderMode.FULL 方式构建加入运算的数据.

参数:
expectedSignature - 传入的期望摘要
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthSuccess

public void assertAuthSuccess(byte[] expectedSignature,
                              String errorMessage)
断言认证成功.
若认证不成功,则抛出异常IllegalArgumentException.
默认采用:BuilderMode.FULL 方式构建加入运算的数据.

参数:
expectedSignature - 传入的期望摘要
errorMessage - 自定义异常抛出的消息
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthSuccess

public void assertAuthSuccess(byte[] expectedSignature,
                              HmacSignatureBuilder.BuilderMode builderMode)
断言认证成功.
若认证不成功,则抛出异常IllegalArgumentException.

参数:
expectedSignature - 传入的期望摘要
builderMode - 采用的构建模式
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthSuccess

public void assertAuthSuccess(byte[] expectedSignature,
                              HmacSignatureBuilder.BuilderMode builderMode,
                              String errorMessage)
断言认证成功.
若认证不成功,则抛出异常IllegalArgumentException.

参数:
expectedSignature - 传入的期望摘要
builderMode - 采用的构建模式
errorMessage - 自定义异常抛出的消息
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthFail

public void assertAuthFail(byte[] expectedSignature)
断言认证失败.
若认证成功,则抛出异常IllegalArgumentException.
默认采用:BuilderMode.FULL 方式构建加入运算的数据.

参数:
expectedSignature - 传入的期望摘要
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthFail

public void assertAuthFail(byte[] expectedSignature,
                           String errorMessage)
断言认证失败.
若认证成功,则抛出异常IllegalArgumentException.
默认采用:BuilderMode.FULL 方式构建加入运算的数据.

参数:
expectedSignature - 传入的期望摘要
errorMessage - 自定义异常抛出的消息
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthFail

public void assertAuthFail(byte[] expectedSignature,
                           HmacSignatureBuilder.BuilderMode builderMode)
断言认证失败.
若认证成功,则抛出异常IllegalArgumentException.

参数:
expectedSignature - 传入的期望摘要
builderMode - 采用的构建模式
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

assertAuthFail

public void assertAuthFail(byte[] expectedSignature,
                           HmacSignatureBuilder.BuilderMode builderMode,
                           String errorMessage)
断言认证失败.
若认证成功,则抛出异常IllegalArgumentException.

参数:
expectedSignature - 传入的期望摘要
builderMode - 采用的构建模式
errorMessage - 自定义异常抛出的消息
抛出:
IllegalArgumentException - 参数不合法异常
从以下版本开始:
1.0.0

isHashEquals

public boolean isHashEquals(byte[] expectedSignature)
判断期望摘要是否与已构建的摘要相等.
默认基于构建模式: BuilderMode.FULL 的方式判断

参数:
expectedSignature - 传入的期望摘要
返回:
true - 期望摘要与已构建的摘要相等; false - 期望摘要与已构建的摘要不相等
从以下版本开始:
1.0.0

isHashEquals

public boolean isHashEquals(byte[] expectedSignature,
                            HmacSignatureBuilder.BuilderMode builderMode)
判断期望摘要是否与已构建的摘要相等.

参数:
expectedSignature - 传入的期望摘要
builderMode - 采用的构建模式
返回:
true - 期望摘要与已构建的摘要相等; false - 期望摘要与已构建的摘要不相等
从以下版本开始:
1.0.0

isHashEqualsWithHex

public boolean isHashEqualsWithHex(String expectedSignatureHex)
判断期望摘要是否与已构建的摘要相等.
默认基于构建模式: BuilderMode.FULL 的方式判断

参数:
expectedSignatureHex - 传入的期望摘要16进制编码表示的字符串
返回:
true - 期望摘要与已构建的摘要相等; false - 期望摘要与已构建的摘要不相等
从以下版本开始:
1.0.0

isHashEqualsWithHex

public boolean isHashEqualsWithHex(String expectedSignatureHex,
                                   HmacSignatureBuilder.BuilderMode builderMode)
判断期望摘要是否与已构建的摘要相等.

参数:
expectedSignatureHex - 传入的期望摘要16进制编码表示的字符串
builderMode - 采用的构建模式
返回:
true - 期望摘要与已构建的摘要相等; false - 期望摘要与已构建的摘要不相等
从以下版本开始:
1.0.0

isHashEqualsWithBase64

public boolean isHashEqualsWithBase64(String expectedSignatureBase64)
判断期望摘要是否与已构建的摘要相等.
默认基于构建模式: BuilderMode.FULL 的方式判断

参数:
expectedSignatureBase64 - 传入的期望摘要base64编码表示的字符串
返回:
true - 期望摘要与已构建的摘要相等; false - 期望摘要与已构建的摘要不相等
从以下版本开始:
1.0.0

isHashEqualsWithBase64

public boolean isHashEqualsWithBase64(String expectedSignatureBase64,
                                      HmacSignatureBuilder.BuilderMode builderMode)
判断期望摘要是否与已构建的摘要相等.

参数:
expectedSignatureBase64 - 传入的期望摘要base64编码表示的字符串
builderMode - 采用的构建模式
返回:
true - 期望摘要与已构建的摘要相等; false - 期望摘要与已构建的摘要不相等
从以下版本开始:
1.0.0


Copyright © 2019. All rights reserved.