JAVA SDK

概述

本文档主要介绍证书管理模块Java SDK的安装和使用。

安装SDK工具包

运行环境

Java SDK工具包可在jdk1.8以上的环境下运行。

方式一:使用Maven安装

在Maven的pom.xml文件中添加bce-java-sdk的依赖:

<dependency>
<groupId>com.baidubce</groupId>
<artifactId>bce-java-sdk</artifactId>
<version>{version}</version>
</dependency>

其中,{version}为版本号,可以在SDK下载页面找到。

方式二:直接使用JAR包安装

  1. 官方网站下载Java SDK压缩工具包。

  2. 将下载的bce-java-sdk-version.zip解压后,复制到工程文件夹中。

  3. 在Eclipse右键“工程 -> Properties -> Java Build Path -> Add JARs”。

  4. 添加SDK工具包lib/bce-java-sdk-{version}.jar和第三方依赖工具包third-party/*.jar。#todo;

其中,version为版本号。

SDK目录结构

com.baidubce
├── auth                                        //BCE签名相关类
├── http                                        //BCE的Http通信相关类
├── internal                                    //SDK内部类
├── model                                       //BCE公用model类
├── services
│       └── cert                                //证书管理服务相关类
│           ├── model                           //证书管理服务内部model,如Request或Response
│           └── CertClient.class                //证书管理服务客户端入口类
├── util                                        //BCE公用工具类
├── BceClientConfiguration.class                //对BCE的HttpClient的配置
├── BceClientException.class                    //BCE客户端的异常类
├── BceServiceException.class                   //与BCE服务端交互后的异常类
├── ErrorCode.class                             //BCE通用的错误码
└── Region.class                                //BCE提供服务的区域

创建CertClient(必做)

用户可以参考如下代码新建一个CertClient,需要传入aksk和endpoint(证书服务的url)

String endpoint = "https://certificate.baidubce.com";                              // 服务url
String accessKey = "your-access-key-id";                                           // 用户ak
String secretKey = "your-secret-access-key";                                       // 用户sk
CertClient certClient = CertClient.createCertClient(accessKey, secretKey, endpoint);

创建证书

请求参数

参数名称 参数类型 是否必须 说明
certName String 必须 证书的名称。长度限制为1-65个字符,以字母开头,只允许包含字母、数字、’-‘、’/’、’.’、’’,Java正则表达式 ^[a-zA-Z][a-zA-Z0-9\-/\.]{2,64}$
certServerData String 必须 服务器证书的数据内容 (Base64编码)
certPrivateData String 必须 证书的私钥数据内容 (Base64编码)
certLinkData String 可选 证书链数据内容 (Base64编码)

返回值:CertCreateResponse

属性名 属性类型 说明
certId String 证书id
certName String 证书名

参考代码

// 准备参数
String certName = "Your-certificate-name"; 
String certServerData = "Your-certificate-server-data";
String certPrivateData = "Your-certificate-private-data";
String certLinkData = "Your-certificate ";

// 构造请求
CertCreateRequest request = new CertCreateRequest();
request.setCertName(certName);
request.setCertPrivateData(certPrivateData);
request.setCertServerData(certServerData);
request.setCertLinkData(certLinkData);

// 发出请求,获取结果
CertCreateResponse createResponse = certClient.createCert(request);

可能异常

异常code 说明
CertExceedLimit (409) 超过用户最大证书数
UnmatchedPairParameterInvalidException (400) 证书有效时间不包含当前时间
PrivateKeyParameterInvalid (400) 私钥解析异常
CertificateParameterInvalid (400) 证书解析异常
CertChainParameterInvalid (400) 证书链解析异常
UnmatchedPairParameterInvalid (400) 公钥私钥不匹配

获取证书列表

请求参数:无

返回值:CertCreateResponse

属性名 属性类型 说明
certs List<CertificateMeta> 证书信息的列表

CertificateMeta

属性名 属性类型 说明
certId String 证书ID
certName String 证书名称
certCommonName String 证书通用名称
certStartTime DateTime 证书生效时间
certStopTime DateTime 证书到期时间
certCreateTime DateTime 证书创建时间
certUpdateTime DateTime 证书更新时间

参考代码

// 发出请求,获取结果
CertListResponse listResponse = certClient.listUserCerts();

版本说明

v1.0.0

首次发布。