开放平台

手机端图

开放平台

帮助开发者快速了解天威诚信服务流程和调用规则

业务文档


5.1 RFC3161标准协议接口定义

名称

内容

接口说明

RFC3161协议签发时间戳

请求地址

生产环境: https://open.itruscloud.com/apigate/timestampapi?serviceCode=TSA0005

测试环境: https://demo-open.itruscloud.com/apigate/timestampapi?serviceCode=TSA0005

账号

应用appid

密码

JSON

输出示例

1. 成功返回

会在指定的路径下生产pdf文件

2. 失败返回

2.1 app没有添加服务或者购买数量不足

java.io.IOException: Server returned HTTP response code: 401 for URL: https://demo-open.itruscloud.com/apigate/timestampapi?serviceCode=TSA0005

如果还是不能确定问题在哪,需要看apigate网关的日志排查,因为这个401是网关返回的。

 

5.2 签戳服务接口定义

基本信息:

名称

内容

接口说明

签发时间戳

请求地址

生产环境: https://open.itruscloud.com/apigate/timestampapi

测试环境: https://demo-open.itruscloud.com/apigate/timestampapi

请求方法

POST

应答格式

JSON

HEAD参数

Content-Signature:“HMAC-SHA1 ”加hmac签名值,采用HmacSHA1算法

 

请求参数:

名称

类型

约束

描述

plainHash

String

必选

原文hash的hex编码

hashAlg

String

必选

原文Hash算法。可选值为“SHA1”或者“SM3”

 

返回值:

名称

类型

描述

status

String

status的值为1表示签戳成功, 其他表示签戳失败

message

String

对应状态信息说明 或 失败原因

serialNumber

String

流水号

b64TimeStamp

String

base64编码后的时间戳数据。如果签戳失败,返回为“”。

signTime

Date

时间戳签发时间,格式为"yyyy-MM-dd HH:mm:ss"。如果签戳失败,返回为“”。

输出示例


1. 成功返回

{

    "serialNumber":"TSA202007131445390545087",

    "b64TimeStamp":"时间戳base64字符串",

    "signTime":"2020-07-13 14:45:39",

    "message":"success.",

    "status":"1"

}

2. 失败返回

2.1原文字符串plainHash错误

{

    "serialNumber":"TSA202007131632418306001",

    "b64TimeStamp":"",

    "signTime":"",

    "message":"generated timestamp failed. errCode : 65547,  errMsg  : 1000B.",

    "status":"251658246"

} 注: 目前这个错在错误码中没有

2.2原文hash算法hashAlg错误

{"data":"101003","message":"原文的hash算法不支持","status":200}

 

5.3 验戳接口定义

名称

内容

接口说明

验证时间戳

请求地址

生产环境: https://open.itruscloud.com/apigate/timestampapi

测试环境: https://demo-open.itruscloud.com/apigate/timestampapi

请求方法

POST

应答格式

JSON

HEAD参数

Content-Signature:“HMAC-SHA1 ”加hmac签名值,采用HmacSHA1算法

 

请求参数:

名称

类型

约束

描述

plainHash

String

必选

原文hash的hex编码

hashAlg

String

必选

原文Hash算法。可选值为“SHA1”或者“SM3”

b64TimeStamp

String

必选

base64编码后的时间戳数据


返回值:

名称

类型

描述

status

Long

1表示调用成功,其他表示调用失败

message

String

对应状态信息说明 或 失败原因

verifyResult

Boolean

验证结果,true表示时间戳验证通过,false表示时间戳验证未通过

verifyResultStr

String

验证结果信息

serialNumber

String

流水号

signAlg

String

采用的签名算法,SHA1withRSA或SM3withSM2。如果验证失败,返回为“”。

signTime

Date

时间戳签发时间,格式为"yyyy-MM-dd HH:mm:ss"。如果验证失败,返回为“”。

输出示例


3. 成功返回

{

    "orderNumber":"TSA202007131650128508820",

    "signTime":"2020-07-06 14:05:12",

    "verifyResultStr":"verify success",

    "signAlg":"SHA1withRSA",

    "verifyResult":true,

    "message":"success",

    "status":"1"

}

4. 失败返回

2.1原文字符串plainHash错误

{

    "orderNumber":"TSA202007131811018147744",

    "signTime":"",

    "verifyResultStr":"",

    "signAlg":"",

    "verifyResult":false,

    "message":"success. errCode : 65547,  errMsg  : 1000B.",

    "status":"251658244"

}

注: 目前这个错在错误码中没有

 

2.2 原文hash算法hashAlg错误

{

    "orderNumber":"TSA202007131808545736474",

    "signTime":"",

    "verifyResultStr":"wrong plain hash or hash alg.",

    "signAlg":"",

    "verifyResult":false,

    "message":"success",

    "status":"1"

}

 

2.3待验证的时间戳b64TimeStamp错误

{"message":"接口调用异常","status":100008}

 

2.4 验戳时使用的serviceCode与签戳时使用的serviceCode的证书算法不一致

比如,签戳时用TSA0001(这个产品使用的是rsa证书),验戳时使用TSA0004(这个产品使用的是SM2证书)或者其他编码,两者使用的证书算法不一致。

{

    "orderNumber":"TSA202007141855201804606",

    "signTime":"",

    "verifyResultStr":"no found match cert.",

    "signAlg":"",

    "verifyResult":false,

    "message":"success",

    "status":"1"

}

 


服务热线:400-666-3999

完善信息立即免费体验