SSL证书接口调用示例
引导式阅读
Java
SSL证书接口调用示例
作者
C***
上架时间
2024-01-11 09:47:20

版本说明

本示例配套的SDK版本为:3.1.19

SSL证书管理服务中接口调用相关示例

本示例展示如何通过SCM SDK方式进行接口调用

功能介绍

SSL证书管理(SSL Certificate Manager,SCM)是一个SSL(Secure Sockets Layer)证书管理平台,平台联合全球知名数字证书服务机构为用户提供购买SSL证书的功能,用户也可以将本地的外部SSL证书上传到平台,实现用户对内部和外部SSL证书的统一管理。

前置条件

1.已 注册 华为云,并完成 实名认证

2.获取华为云开发工具包(SDK),您也可以查看安装JAVA SDK。

3.已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥

4.已具备开发环境 ,支持Java JDK 1.8及其以上版本。

代码示例

以下代码展示如何使用SCM SDK获取调用相关的接口:

public class BasicSSLCertExample { /** * 基础认证信息: * 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; * 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 */ private static final String ACCESS_KEY = System.getenv("HUAWEICLOUD_SDK_AK"); private static final String SECRET_ACCESS_KEY = System.getenv("HUAWEICLOUD_SDK_SK"); public static void main(String[] args) { // 证书名称 String certName = args[0]; // 证书内容 String certificate = args[1]; // 证书链 String certificateChain = args[2]; // 证书私钥 String privateKey = args[3]; certOperations(certName, certificate, certificateChain, privateKey); } static void certOperations(String certName, String certificate, String certificateChain, String privateKey) { // 1.准备访问华为云的认证信息 final BasicCredentials auth = new BasicCredentials().withAk(ACCESS_KEY).withSk(SECRET_ACCESS_KEY); // 2.初始化SDK,传入认证信息及SCM局点信息 final ScmClient scmClient = ScmClient.newBuilder().withCredential(auth).withRegion(ScmRegion.CN_NORTH_4).build(); // 3.组装导入证书请求 // 证书内容 // 证书名称 // 证书链内容 // 证书的私钥 final ImportCertificateRequest importCertificateRequest = new ImportCertificateRequest() .withBody(new ImportCertificateRequestBody().withCertificate(certificate).withName(certName) .withCertificateChain(certificateChain).withPrivateKey(privateKey)); // 4.请求导入证书 // 获取导入证书ID final ImportCertificateResponse importCertificateResponse = scmClient.importCertificate(importCertificateRequest); final String certId = importCertificateResponse.getCertificateId(); // 5.组装证书查询列表请求 final ListCertificatesRequest listCertificatesRequest = new ListCertificatesRequest(); // 6.获取证书列表 final ListCertificatesResponse listKeypairTaskResponse = scmClient.listCertificates(listCertificatesRequest); // 7.校验查询列表中是否有证书 assert listKeypairTaskResponse.getCertificates().stream() .anyMatch(certEntity -> certId.equals(certEntity.getId())); // 8.组装查询证书详情请求 final ShowCertificateRequest showCertificateRequest = new ShowCertificateRequest().withCertificateId(certId); // 9.查询证书详情 final ShowCertificateResponse showCertificateResponse = scmClient.showCertificate(showCertificateRequest); // 10.校验证书名称是否一致 assert certName.equals(showCertificateResponse.getName()); } }

您可以在API Explorer中直接运行调试该接口。

修订记录

发布日期 文档版本 修订说明
2021-09-10 1.0 文档首次发布