# 个人证书 UV1
由企业或代理商发起申请,且将企业或代理商指定经办人信息共同写入的,核验姓名,证件号一致后,经大识蛛平台签发的数字证书。(注:使用该服务需要确保用户已经进行过企业认证)
# 一、请求说明
- 请求地址:http://api.spiderid.cn/api/router/rest,https://api.spiderid.cn/api/router/rest
- 服务接口名称(即公共参数method的值): certificate.issue.personUV1
- 请求方式:POST
# 二、请求参数
- 请求参数以表单形式提交,Content-Type值为: application/x-www-form-urlencoded;charset=utf-8
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
realname | String | 是 | 持有人姓名 |
idcard | String | 是 | 持有人身份证号 |
p10 | String | 是 | 证书P10 |
mobile | String | 否 | 持有人手机号 |
String | 否 | 持有人邮箱 | |
managerName | String | 否 | 经办人姓名 |
managerIdcard | String | 否 | 经办人证件号 |
managerMobile | String | 否 | 经办人手机号 |
managerEmail | String | 否 | 经办人邮箱 |
请求示例:
http或https://api.spiderid.cn/api/router/rest?
<[公共请求参数]>
realname=XXX&idcard=XXX&p10=XXX...
# 三、响应参数
data结果信息 | 类型 | 存在 | 描述 |
---|---|---|---|
incorrect | Integer | 是 | 返回码 |
message | String | 是 | 返回说明 |
certificate | String | 否 | 签名证书,incorrect=100时,一定存在 |
privateKey | String | 否 | 加密密钥 |
privateCert | String | 否 | 加密证书 |
# 四、成功示例
JSON示例
{
"code": 0,
"message": "success",
"requestId": "f1005e7b2bca5908010001e12e19",
"data": {
"incorrect": 100,
"message": "发证成功",
"certificate": "MIICejC...Q=",
"privateKey": "AQA...AAAA==",
"privateCert": "MIICez...4V553"
}
}
# 五、失败示例
JSON示例
{
"code": 0,
"message": "success",
"requestId": "f1005e7b29e65908010001e12e18",
"data": {
"incorrect": 101,
"message": "证书已申请,不予重复发证(人证合一)"
}
}
# 六、返回码说明(incorrect)
返回码 | 描述 | 是否收费 |
---|---|---|
100 | 发证成功 | 是 |
101 | 证书已申请,不予重复发证(人证一致) | 是 |
102 | 证书已申请,信息不一致,不予重复发证 | 是 |
103 | 信息不一致,不予发证 | 是 |
104 | 库中无此号 | 是 |
105 | 人证一致,发证失败 | 是 |
# SDK 请求示例
public static void main(String[] args) {
try {
//提供的url
String url = "http://api.spiderid.cn/api/router/rest";
//您的appKey
String appkey = "XXX";
//您的appSecret
String secretKey = "XXX";
//1.默认客户端
ApiClient apiClient = new DefaultApiClient(url, appkey, secretKey);
//2.调用出错自动重试客户端
//AutoRetryApiClient apiClient = new AutoRetryApiClient(url, appkey, secretKey);
CertificateIssuePersonUV1Request req = new CertificateIssuePersonUV1Request();
req.setIdcard("XXX");
req.setRealname("XXX");
req.setP10(PKCS10Utils.generateP10("CN=" +req.getRealname() + ",2.5.4.20=" + req.getIdcard() + ",OU=YZT,C=CN"));
CertificateIssuePersonUV1Response res = apiClient.execute(req);
if (res.getData().incorrect == 100) {
//后续业务处理
}
} catch (ApiException e) {
e.printStackTrace();
}
}