相关参考Reference

    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。 其中,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);

    方法列表

    1.创建证书

    请求参数

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

    返回值: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) 公钥私钥不匹配

    2.获取证书列表

    请求参数:无

    返回值:CertCreateResponse

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

    CertificateMeta

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

    参考代码

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

    3.获取单个证书的信息(不包含证书公钥私钥信息)

    请求参数

    参数名称 参数类型 是否必须 说明
    certId String 必须 证书id

    返回值:CertificateMeta

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

    参考代码

    // 准备参数
    String certId = "Your-cert-id";
    
    // 发出请求,获取结果
    CertificateMeta certificateMeta = certClient.getCertInfo(certId);

    4.重命名证书

    请求参数

    参数名称 参数类型 是否必须 说明
    certName String 必须 证书的名称。长度限制为1-65个字符,以字母开头,只允许包含字母、数字、’-‘、’/’、’.’、’’,Java正则表达式 ^[a-zA-Z]a-zA-Z0-9\-/\.]{2,64}$
    certId String 必须 证书id

    返回值:CertInServiceListResponse

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

    参考代码

    // 准备参数
    String certId = "Your-cert-id";
    String newName = "Cert-new-name";
    
    // 发出请求
    certClient.updateCertName(certId, newName);

    可能异常

    异常code 说明
    AccessDeniedException(403) 无权限访问
    ResourceNotFoundException(404) 证书不存在

    5.删除证书

    请求参数

    参数名称 参数类型 是否必须 说明
    certId String 必须 证书id

    返回值:无

    参考代码

    // 准备参数
    String certId = "Your-cert-id";
    
    // 发出请求
    certClient.delete(certId);

    可能异常

    异常code 说明
    OperationNotAllowedException(409) 证书使用中
    AccessDeniedException(403) 无权限访问
    ResourceNotFoundException(404) 证书不存在

    6.替换证书(证书id不变)

    请求参数

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

    返回值:无

    参考代码

    // 准备参数  
    String certId = "Your-certificate-id";
    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);
    
    // 发出请求
    certClient.replaceCertData(certId, request);

    可能异常

    异常code 说明
    OperationNotAllowedException(409) 证书使用中
    AccessDeniedException(403) 无权限访问
    ResourceNotFoundException(404) 证书不存在
    UnmatchedPairParameterInvalidException (400) 证书有效时间不包含当前时间
    PrivateKeyParameterInvalid (400) 私钥解析异常
    CertificateParameterInvalid (400) 证书解析异常
    CertChainParameterInvalid (400) 证书链解析异常
    UnmatchedPairParameterInvalid (400) 公钥私钥不匹配

    版本说明

    v1.0.0

    首次发布。

    上一篇
    API参考
    下一篇
    Python-SDK