业务说明和提示

获取token:此操作通过提交调用api的url和用户名,私钥生成token,Token有效时常为15分钟。


API_FUNCTION_NAME
构造后的API Endpoint
getToken https://mall.okcert.cn/jeecg/okcertController.do?getToken

业务参数

参数名称 类型 是否必填 数据说明及要求 数据举例
username String 必填 调用api的用户名。 张三
signed String 必填 用户根据私钥签名值。 结果由私钥签名方法sign返回。

获取token序列图

私钥签名方法

私钥签名方法

public static String sign(String userName,String privateKey) {
    try {
       String pre="-----BEGIN RSA PRIVATE KEY-----";
       String end="-----END RSA PRIVATE KEY-----";
       if(privateKey.indexOf(pre)!=-1) {
          int prelength = pre.length();
          int endlength=privateKey.length()-end.length();
          privateKey=privateKey.substring(prelength, endlength);
       }
       privateKey=privateKey.replaceAll("\\r|\\n", "");
       PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(Base64.decode(privateKey));
       KeyFactory keyf = KeyFactory.getInstance("RSA");
       PrivateKey prikey=keyf.generatePrivate(priPKCS8);
       String content=userName;
       java.security.Signature signature=java.security.Signature.getInstance("SHA256WithRSA");
       signature.initSign(prikey);
       signature.update(content.getBytes());
       byte[] sign=signature.sign();
       String signed=Base64.encodeToString(sign);
       return signed;
   }catch(Exception e) {
       e.printStackTrace();
       return null;
   }
}

响应参数

参数 类型 描述 示例
token String 携带返回的数据。 /
msg String 返回携带的提示信息。 获取token成功
code String 当正确时,返回的为0, 其他参数代表具体含义,详见码表。 0

成功响应

成功响应
{
     "attributes" : {
         "token" : "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1Nzg2NDY4NjMsInN1YiI6InVuaXNpbXMiLCJzaWdu
                    ZWQiOiJLdzRyS05hRlJrMDJ3V0t2SG4xZjRMS3pZNG5qMVB4dXFMVzJ6SVJUeHU0Y1ZRVE4vW
                    k1hWUxXYUFkTHV4WG5CTWFxOWZaKzk3K1BOaitYNjArYzdCUzZscUNSTHVwcXAyOEpNaEgwRF
                    VyWWYweGhEN094S1dPR1B4aXVjZjlYZXZjYTF5MkJXUGZ3ajJET2Rqc2xMK3c1eDRNL0UrZ21
                    5anNyYmVTajZhd3FrNkxVYmhCakhDb1dnYStTZmdFVFMzUzk5c0tCTzk1Uyt0TXl4OTVQM1c2
                    WmhsYzFENmhaSHovVDdXamZXNzl2MUZXdDBQdGZQRkxLRU11SklMTGJ2QmZGS1g0bDRSZEE3V
                    WlVMnpvU21VWWVub2IwZU5ndVQ5eHVqalBEVGRuSFhzTXpYc2w4U0VnR21RL0hoYk1lN2tiNz
                    VvbnpBOERxYzFvMHpSOG43Tmc9PSIsInVzZXJOYW1lIjoiMTU3OTc3MzAzMDUiLCJpYXQiOjE
                    1Nzg2NDUwNjN9.huCu-wArMZL3tGBjFk5WCy5Dgu9LWHVZVrJNqWp2XC0"
     } ,
     "code" : "0" ,
     "msg" : "获取token成功"
}

失败响应

失败响应
{
     "attributes" : "null" ,
     "code" : "1" ,
     "msg" : "获取token失败"
}