密码中台SVS服务API接口文档
申请密钥对
申请密钥对。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/get-secret
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| keySize | Integer | 否 | 密钥长度 |
| cryptogramEngineType | CryptogramEngineType | 否 | 加密引擎类型 |
| algorithm | Algorithm | 是 | 加密算法 |
| privateKey | String | 否 | 私钥base64 当(SM2 RSA)可以传,如不传自动生成 |
| publicKey | String | 否 | 公钥base64 |
- 字段解释
- CryptogramEngineType 介绍
| 字段 | 类型介绍 |
|---|---|
| FILE | 文件引擎 |
| FM_CARD | 加密卡引擎 |
注意:当该参数为空时,默认选择加密卡引擎。 |
- 字段解释
- Algorithm 介绍
| 字段 | 类型介绍 |
|---|---|
| SM2 | SM2加密算法 |
| RSA | RSA加密算法 |
| AES | AES加密算法 |
| SM4 | SM4加密算法 |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| code | Integer | 验证结果 0-成功 其他-失败 详见失败信息 |
| message | String | 验证信息 |
| indexId | String | 密钥对对应id |
三、响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest {
//您的url
String url = "http://172.16.3.128:30240/rest/cip/kitty/%s/sop";
//您的appKey
String appKey = "w8MuGC9C";
//您的appSecret
String secretKey = "4wVznIMB";
//构造接口实例D
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
// 实例化接口
SvsSopApi svsSopApi = new SvsSopApiImpl(apiClient);
public SvsSopApiTest() throws ApiException {
}
/**
* 申请密钥对
*
* @throws Exception
*/
@Test
public void appleSecret() throws Exception {
//构造申请密钥对请求
KeyPairGenerateRequest request = new KeyPairGenerateRequest();
//设置请求算法
request.setAlgorithm(Algorithm.SM2);
//设置加密引擎
request.setCryptogramEngineType(CryptogramEngineType.FM_CARD);
//设置key的长度
request.setKeySize(256);
try{
SvsApplySecretResponse response = svsSopApi.keyPairGenerate(request);
if(null != response && response.isSuccess()){
System.out.println("申请密钥对应id: "+response.getResult().getIndexId());
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
注销密钥对
注销密钥对。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/revoke-secret
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| indexId | String | 是 | 对应密钥id |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| code | Integer | 验证结果 0-成功 其他-失败 详见失败信息 |
| message | String | 验证信息 |
| check | Boolean | 注销结果,true-注销成功,false-注销失败 |
三、响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest {
//您的url
String url = "http://172.16.3.128:30240/rest/cip/kitty/%s/sop";
//您的appKey
String appKey = "w8MuGC9C";
//您的appSecret
String secretKey = "4wVznIMB";
//构造接口实例D
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
// 实例化接口
SvsSopApi svsSopApi = new SvsSopApiImpl(apiClient);
public SvsSopApiTest() throws ApiException {
}
/**
* 注销密钥对
*
* @throws Exception
*/
@Test
public void appleSecret() throws Exception {
KeypairRevokeRequest request = new KeypairRevokeRequest();
//设置注销的密钥对id
request.setIndexId("qhwdriK011");
try{
CommonSvsResponse response = svsSopApi.revokeKeyPair(request);
if(null != response && response.isSuccess()){
System.out.println("注销密钥对结果: "+response.getResult().getCheck());
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
验证证书
对证书进行校验。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/cert-verify
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| cert | String | 是 | 证书(base64) |
| verifyNotBefore | Boolean | 否 | 验证证书是否生效 |
| verifyNotAfter | Boolean | 否 | 验证证书是否失效 |
| verifyChain | Boolean | 是 | 是否验证证书链 默认验证 |
| subject | SubjectEnum | 是 | 验证证书的DN是否为指定内容 |
| subjectValue | String | 是 | 证书的主题内容 |
| ocsp | Boolean | 是 | 通过OCSP校验证书 |
| caCert | String | 否 | 签发该证书的CA证书(base64) |
注意:先安请求只需要cert参数。 |
- 字段解释
- SubjectEnum 介绍
| 字段 | 类型介绍 |
|---|---|
| C | 国家 |
| S | 省份 |
| L | 城市 |
| O | 组织名称 |
| OU | 部门名称 |
| CN | 证书持有者名称 |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_EXPIRED | 1 | 证书已过期 |
| CERT_INEFFECTIVE | 2 | 证书未生效 |
| CERT_USAGE_DEFICIENCY | 3 | 证书密钥用法错误 |
| CERT_OU_MISMATCHING | 4 | 证书主题项不匹配 |
| CERT_REVOKED | 5 | 证书已注销 |
| CERT_UNTRUSTED | 6 | 证书不可信 |
| SIGN_INVALID | 7 | 数字签名验证不通过 |
| EXTENDED_KEYS_ARE_NOT_SUPPORTED | 8 | 证书密钥扩展用法不支持 |
| UNKNOWN_STATUS | 9 | 证书状态未知 |
| EXCEPTION | 10 | 验证异常 |
| CERT_SERIAL_MISMATCHING | 11 | 证书序列号不匹配 |
三、响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest {
//您的url
String url = "http://172.16.3.128:30240/rest/cip/kitty/%s/sop";
//您的appKey
String appKey = "w8MuGC9C";
//您的appSecret
String secretKey = "4wVznIMB";
//构造接口实例D
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
// 实例化接口
SvsSopApi svsSopApi = new SvsSopApiImpl(apiClient);
public SvsSopApiTest() throws ApiException {
}
/**
* 验证证书
*
* @throws Exception
*/
@Test
public void certVerify() throws Exception {
String certBase64 = "MIICODCCAd2gAwIBAgINAL+mrZV1HyNwYRErlzAKBggqgRzPVQGDdTBJMQswCQYDVQQGEwJDTjESMBAGA1UECAwJ5rGf6IuP55yBMRIwEAYDVQQHDAnljZfkuqzluIIxEjAQBgNVBAMMCXRlc3RTTTJDQTAeFw0yMjA2MjgxMTM4MjlaFw0yMzA2MjgxMTM4MjlaMFUxCzAJBgNVBAYTAkNOMS8wLQYDVQQtDCY5MGE2MDA2ODZjNmQ0YjY2YjNmODk3NjhmNDUyMzU1NTIwMjIwNjEVMBMGA1UEAwwMMDAwMDIwMjExMTI0MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAENo7y+sv6fNjZpsZ8FqdD+vN6CbrEicu/miiuBJYHHlUSUCjMPF0BXyjLoN3Vu38oTRhmRrLMGXKZbimbLBKmuaOBnTCBmjAJBgNVHRMEAjAAMB0GA1UdDgQWBBTjVSTNS4yo8FyFH7Viof/7geXWtzAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDgYDVR0PAQH/BAQDAgbAMB4GCCqBHNAUBAEDBBIMEDM3MDI4MTAwMDAwMDAwMDAwHwYDVR0jBBgwFoAUE3GRQ7iygyrxFixllDZ6SqWNJicwCgYIKoEcz1UBg3UDSQAwRgIhALdBrt2oW36BMDhexa/fLHdL5nJZ6aZB9PH0ditQS+2OAiEA62KWrC4V5F0X4CAaHu9AZAyitv4/B0aX2dPZ4pBi7Fk=";
String ou = "智慧CA";
CertVerifyContentRequest request = new CertVerifyContentRequest();
// 证书内容
request.setCert(certBase64);
// 验证证书是否失效
request.setVerifyNotAfter(true);
// 验证证书是否生效
request.setVerifyNotBefore(true);
// 是否验证证书链
request.setVerifyChain(true);
// 验证证书的ou是否为指定内容
request.setSubject(SubjectEnum.OU);
request.setSubjectValue(ou);
// OCSP 验证
request.setOcsp(true);
request.setCaCert("MIIBzTCCAXCgAwIBAgIGAXKnMKNyMAwGCCqBHM9VAYN1BQAwSTELMAkGA1UEBhMC\n" +
"Q04xDjAMBgNVBAoTBUdNU1NMMRAwDgYDVQQLEwdQS0kvU00yMRgwFgYDVQQDEw9S\n" +
"b290Q0EgZm9yIFRlc3QwIhgPMjAxNTEyMzExNjAwMDBaGA8yMDM1MTIzMDE2MDAw\n" +
"MFowSTELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBUdNU1NMMRAwDgYDVQQLEwdQS0kv\n" +
"U00yMRgwFgYDVQQDEw9Sb290Q0EgZm9yIFRlc3QwWTATBgcqhkjOPQIBBggqgRzP\n" +
"VQGCLQNCAATj+apYlL+ddWXZ7+mFZXZJGbcJFXUN+Fszz6humeyWZP4qEEr2N0+a\n" +
"Zdwo/21ft232yo0jPLzdscKB261zSQXSoz4wPDAZBgNVHQ4EEgQQnGnsD7oaOcWv\n" +
"6CTrspwSBDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIAxjAMBggqgRzP\n" +
"VQGDdQUAA0kAMEYCIQCEnW5BlQh0vmsOLxSoXYc/7zs++wWyFc1tnBHENR4ElwIh\n" +
"AI1Lwu6in1ruflZhzseWulXwcITf3bm/Y5X1g1XFWQUH");
CertVerifyContentResponse response = svsSopApi.certVerify(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + response);
System.out.println("================================");
System.out.println("SDK请求ID:" + response.getRequestId());
System.out.println("SDK响应消息:" + response.getMsg());
System.out.println("SDK响应码:" + response.getErrorCode());
System.out.println("================================");
if (null != response.getResult()) {
System.out.println("verification:" + response.getResult().getVerification());
System.out.println("message:" + response.getResult().getMessage());
}
}
}
P1验证签名
对P1签名进行验证。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/p1-verify
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| templateId | String | 否 | 验证模板id,不填写则仅验证签名 |
| signType | CertSearchEnum | 是 | 验证签名方式 |
| signItemValue | String | 是 | 验证签名方式的值 |
| cert | String | 否 | 签名证书base64 |
| signature | String | 是 | 签名值base64 |
| data | String | 是 | 原文数据 |
| dataType | DataType | 是 | 原文数据格式 |
| digestAlgorithm | DigestAlgorithm | 否 | 摘要算法,SM2证书签名固定为SM3,RSA默认SHA256 |
| returnCert | Boolean | 否 | 响应中是否包含证书内容 |
注意:先安请求只需要data、signature、digestAlgorithm、dataType、cert参数。 |
- 字段解释
- CertSearchEnum 验证签名方式
| 类型字段 | 介绍 |
|---|---|
| CERT | 证书 |
| CERT_ID | 证书ID |
| KEY_INDEX | 密钥索引 |
| SN_HEX | 证书序列号(十六进制格式) |
| SN_DEC | 证书序列号(十进制格式) |
| TN_HASH | 证书指纹 |
| CERT_CN | 证书CN项 |
| CERT_DN | 证书主题项 |
- DigestAlgorithm 摘要算法
| 字段 | 状态介绍 |
|---|---|
| SM3withSM2 | SM2签名算法必须指定 SM3摘要 |
| SHA1withRSA | SHA1摘要算法 |
| SHA256withRSA | SHA256摘要算法 |
- DataType 数据类型介绍
| 字段 | 类型介绍 |
|---|---|
| BASE64 | 原文BASE64 |
| HEX | 原文Hex |
| ORIGINAL | 原文 |
注意:先安暂不支持原文Hex |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| cert | String | 签名证书 (仅在配置时返回) |
| original | String | 原文数据 |
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_EXPIRED | 1 | 证书已过期 |
| CERT_INEFFECTIVE | 2 | 证书未生效 |
| CERT_USAGE_DEFICIENCY | 3 | 证书密钥用法错误 |
| CERT_OU_MISMATCHING | 4 | 证书主题项不匹配 |
| CERT_REVOKED | 5 | 证书已注销 |
| CERT_UNTRUSTED | 6 | 证书不可信 |
| SIGN_INVALID | 7 | 数字签名验证不通过 |
| EXTENDED_KEYS_ARE_NOT_SUPPORTED | 8 | 证书密钥扩展用法不支持 |
| UNKNOWN_STATUS | 9 | 证书状态未知 |
| EXCEPTION | 10 | 验证异常 |
| CERT_SERIAL_MISMATCHING | 11 | 证书序列号不匹配 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
P7验证签名
对P7签名进行验证。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/p7-verify
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| templateId | String | 否 | 验证模板id,不填写则仅验证签名 |
| signature | String | 是 | P7签名值(base64) |
| data | String | 是 | 原文数据 |
| dataType | DataType | 是 | 原文数据格式 |
| attach | Boolean | 是 | 签名结果中是否包含原文 (true:attached模式/false:detached模式) |
| returnCert | Boolean | 否 | 响应中是否包含证书内容 |
注意:先安在attached模式只需要signature、attach,在detached模式只需要signature、data、dataType、attach。 |
字段解释
当attach为true时,原文数据和原文数据格式无需填写;
当attach为falsel时,才需要填写原文数据和原文数据格式DataType 数据类型介绍
| 字段 | 类型介绍 |
|---|---|
| BASE64 | 原文BASE64 |
| HEX | 原文Hex |
| ORIGINAL | 原文 |
注意:先安暂不支持原文Hex |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| cert | String | 签名证书 (仅在配置时返回) |
| original | String | 原文数据 |
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_EXPIRED | 1 | 证书已过期 |
| CERT_INEFFECTIVE | 2 | 证书未生效 |
| CERT_USAGE_DEFICIENCY | 3 | 证书密钥用法错误 |
| CERT_OU_MISMATCHING | 4 | 证书主题项不匹配 |
| CERT_REVOKED | 5 | 证书已注销 |
| CERT_UNTRUSTED | 6 | 证书不可信 |
| SIGN_INVALID | 7 | 数字签名验证不通过 |
| EXTENDED_KEYS_ARE_NOT_SUPPORTED | 8 | 证书密钥扩展用法不支持 |
| UNKNOWN_STATUS | 9 | 证书状态未知 |
| EXCEPTION | 10 | 验证异常 |
| CERT_SERIAL_MISMATCHING | 11 | 证书序列号不匹配 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
证书模板校验
使用证书模板校验证书内容。注意:先安不支持。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/template-verify
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| templateId | String | 是 | 验证模板id |
| cert | String | 是 | 证书base64 |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_EXPIRED | 1 | 证书已过期 |
| CERT_INEFFECTIVE | 2 | 证书未生效 |
| CERT_USAGE_DEFICIENCY | 3 | 证书密钥用法错误 |
| CERT_OU_MISMATCHING | 4 | 证书主题项不匹配 |
| CERT_REVOKED | 5 | 证书已注销 |
| CERT_UNTRUSTED | 6 | 证书不可信 |
| SIGN_INVALID | 7 | 数字签名验证不通过 |
| EXTENDED_KEYS_ARE_NOT_SUPPORTED | 8 | 证书密钥扩展用法不支持 |
| UNKNOWN_STATUS | 9 | 证书状态未知 |
| EXCEPTION | 10 | 验证异常 |
| CERT_SERIAL_MISMATCHING | 11 | 证书序列号不匹配 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
校验证书CRL
使用证书模板校验证书内容。注意:先安不支持。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/crl-verify
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| cert | String | 否 | 证书base64 |
| certSn | String | 否 | 证书序列号 |
| crlId | String | 否 | CRL Id |
可选调用方式1 : cert
可选调用方式2 : cert + crlId
可选调用方式3 : certSn + crlId
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
0-证书未注销 1-证书已注销
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 证书未注销 |
| CERT_REVOKED | 1 | 证书已注销 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
CRL列表
获取CRL列表。注意:先安不支持。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/get-crl
- contentType:application/json;charset:utf-8
一、请求参数
无
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| id | String | CRL ID |
| name | String | CRL名称 |
| issuer | String | 颁发者DN项 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
P1签名
用户对某数据进行P1签名操作。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/p1-sign
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| signType | CertSearchEnum | 是 | 签名方式 |
| signItemValue | String | 是 | 签名方式的值(若选中证书ID则传证书ID,若选密钥索引则传密钥索引) |
| data | String | 是 | 待签名数据(原文、原文base64、原文hex、摘要base64、摘要hex) |
| dataType | DataType | 是 | 待签名数据格式 |
| digestAlgorithm | DigestAlgorithm | 否 | 摘要算法,SM2证书签名固定为SM3,RSA默认SHA256 |
| signDataType | DataType | 否 | 签名后数据格式 (base64、hex) |
注意:先安不支持signDataType |
- 字段解释
- CertSearchEnum 签名方式
| 类型字段 | 介绍 |
|---|---|
| CERT | 证书 |
| CERT_ID | 证书ID |
| KEY_INDEX | 密钥索引 |
| SN_HEX | 证书序列号(十六进制格式) |
| SN_DEC | 证书序列号(十进制格式) |
| TN_HASH | 证书指纹 |
| CERT_CN | 证书CN项 |
| CERT_DN | 证书主题项 |
注意:先安只支持KEY_INDEX:密钥索引 |
- DataType 数据类型介绍
| 字段 | 类型介绍 |
|---|---|
| BASE64 | 原文BASE64 |
| HEX | 原文Hex |
| ORIGINAL | 原文 |
| DIGEST_BASE64 | 摘要base64 |
| DIGEST_HEX | 摘要hex |
注意:先安只支持原文、原文BASE64 |
- DigestAlgorithm 签名时的摘要算法(杂凑函数)
| 类型字段 | 介绍 |
|---|---|
| SM3withSM2 | SM2签名算法必须指定 SM3摘要 |
| SHA1withRSA | SHA1摘要算法 |
| SHA256withRSA | SHA256摘要算法 |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| signData | String | 签名结果 |
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_NOT_EXIST | 8 | 证书不存在 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
P7签名
用户对某数据进行P7签名操作。
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/p7-sign
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| signType | CertSearchEnum | 是 | 签名方式 (P7签名不支持密钥索引) |
| signItemValue | String | 是 | 签名方式的值 |
| data | String | 是 | 待签名数据 |
| dataType | DataType | 是 | 待签名数据格式(原文、原文base64、原文hex) |
| digestAlgorithm | DigestAlgorithm | 否 | 摘要算法,SM2证书签名固定为SM3,RSA默认SHA256 |
| signDataType | DataType | 否 | 签名后数据格式 (base64、hex) |
| attach | Boolean | 否 | 签名是否包含原文 true-包含原文 false-不包含原文;默认false |
注意:先安不支持signDataType |
- 字段解释
- CertSearchEnum 签名方式
| 类型字段 | 介绍 |
|---|---|
| CERT | 证书 |
| CERT_ID | 证书ID |
| KEY_INDEX | 密钥索引 |
| SN_HEX | 证书序列号(十六进制格式) |
| SN_DEC | 证书序列号(十进制格式) |
| TN_HASH | 证书指纹 |
| CERT_CN | 证书CN项 |
| CERT_DN | 证书主题项 |
注意:先安只支持KEY_INDEX:密钥索引; |
- DataType 数据类型介绍
| 字段 | 类型介绍 |
|---|---|
| BASE64 | 原文BASE64 |
| HEX | 原文Hex |
| ORIGINAL | 原文 |
注意:先安只支持原文、原文BASE64 |
- DigestAlgorithm 签名时的摘要算法(杂凑函数)
| 类型字段 | 介绍 |
|---|---|
| SM3withSM2 | SM2签名算法必须指定 SM3摘要 |
| SHA1withRSA | SHA1摘要算法 |
| SHA256withRSA | SHA256摘要算法 |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| signData | String | 签名结果 |
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_NOT_EXIST | 8 | 证书不存在 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
查询证书-先安
查询证书。(先安)注意:仅支持先安
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/cert-by-index
- contentType:application/json;charset:utf-8
一、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| keyIndex | String | 是 | 虚拟密钥索引 |
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| certBase64String | String | 该密钥索引的证书 |
| verification | Integer | 验证结果状态码 |
| message | String | 验证信息 |
- verification 返回码介绍
| 字段 | 状态码 | 状态介绍 |
|---|---|---|
| SUCCESS | 0 | 验证成功 |
| CERT_NOT_EXIST | 8 | 证书不存在 |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |
查询证书-PKI
查询证书。(PKI)注意:仅支持PKI
- 请求方式:POST
- url: http://172.16.3.128:30240/rest/cip/kitty/svs/sop/cert-by-app
- contentType:application/json;charset:utf-8
一、请求参数
无
二、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| id | String | 证书ID |
| keyPairId | String | 密钥ID |
| certPurpose | String | 证书用途:单双证 |
| signatureCert | CertificateInfoResp | 签名证书 |
| encryptionCert | CertificateInfoResp | 加密证书 |
| cn | String | 证书持有者名称 |
| subject | String | 证书主题项 |
| issuer | String | 证书颁发者主题项 |
| notBefore | Date | 证书生效时间 |
| notAfter | Date | 证书失效时间 |
| algorithm | String | 签名算法 |
| keySize | Integer | 密钥长度 |
| timeStamping | Boolean | 是否为时间戳证书 |
- CertificateInfoResp 证书详情
| 类型字段 | 介绍 |
|---|---|
| certSn | 证书序列号 |
| cert | 证书base64 |
| fingerprint | 证书指纹(Sha1 Hex编码) |
三、请求响应示例
成功示例
{ |
失败示例
{ |
SDK请求示例
public class SvsSopApiTest { |