# 导出公钥
导出公钥
# 一、请求说明
- 请求地址:https://IP:PORT/openapi/ces/v1/keypair/export/publickey
- 服务接口名称(即公共参数method的值): keypair/export/publickey
- 请求方式:POST
# 二、请求参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| virtualIndex | Integer | 是 | 虚拟索引 |
# 三、响应参数
| data 结果信息 | 类型 | 描述 |
|---|---|---|
| algorithm | String | 密钥算法 |
| keySize | Integer | 密钥算法长度 |
| signPublicKey | String | 签名公钥base64 |
| encPublicKey | String | 加密公钥base64 |
| cryptogramEngineType | String | 加密引擎类型 |
字段解释
CryptogramEngineType 加密引擎类型
| 类型字段 | 介绍 |
|---|---|
| FILE | 文件引擎 |
| FM_CARD | 加密卡引擎 |
- algorithm 密钥算法
| 类型字段 | 介绍 |
|---|---|
| SM2 | SM2算法 |
| RSA | RSA算法 |
| AES | AES算法 |
| SM4 | SM4算法 |
# 四、成功示例
JSON示例
{
"code": 0,
"message": "success",
"requestId":"xxx",
"data": {
"cryptoMode": "ASYMMETRIC",
"algorithm": "SM2",
"keySize": 256,
"signPublicKey": "BD/reRBbPiPc1S0laGsMZYjMfMHDSIh5q0Aq7ND04oeV70eIGRKO8fGFqC2qnFUXAdklm6pSVaq89Yx2okYsFo0=",
"encPublicKey": "BD/reRBbPiPc1S0laGsMZYjMfMHDSIh5q0Aq7ND04oeV70eIGRKO8fGFqC2qnFUXAdklm6pSVaq89Yx2okYsFo0=",
"cryptogramEngineType": "FILE"
}
}
# 五、失败示例
JSON示例
{
"code": 10010,
"requestId":"xxx",
"message": "参数错误"
}
# 六、SDK请求示例
// 提供的URL
String url = "http://172.16.3.232:20501";
// 您的appKey
String appKey = "XXX";
// 您的appSecret
String appSecret = "XXX";
// 原客户端
PkiClient Client = new PkiOkhttpClient(url, appKey, appSecret);
KeypairExportPublicKeyRequest request = new KeypairExportPublicKeyRequest();
Integer virtualIndex = 20023;
// 虚拟索引
request.setVirtualIndex(virtualIndex);
try {
KeypairExportPublicKeyResponse response = client.execute(request);
// 后续业务
if (response.isSuccess()) {
KeypairExportPublicKeyResponse.Result result = response.getResult();
System.out.println("成功:" + result);
System.out.println("密钥算法: " + result.getAlgorithm());
System.out.println("密钥算法长度: " + result.getKeySize());
System.out.println("签名公钥base64: " + result.getSignPublicKey());
System.out.println("加密公钥base64: " + result.getEncPublicKey());
// 加密引擎类型: FILE--文件,FM_CARD--加密卡
System.out.println("加密引擎类型: " + result.getCryptogramEngineType());
} else {
System.out.println("失败:" + response.getBody());
}
} catch (ApiException e) {
e.printStackTrace();
}