全部产品
Search
文档中心

数字证书管理服务:使用OpenAPI示例

更新时间:Oct 20, 2023

本文为您介绍使用OpenAPI查询DV证书的申请状态的完整示例。

查看OpenAPI文档

通过阅读API概览得知,查询DV证书的申请状态的OpenAPI为DescribeCertificateState。请您根据文档,了解调用该接口需要准备的数据和权限。

创建RAM用户并授权

身份

您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。

登录RAM访问控制,创建一个仅允许API调用的RAM用户,并记录AccessKey信息。具体操作,请参见创建RAM用户

授权

  1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

  2. 选择权限区域搜索并选择AliyunYundunCertFullAccess权限(管理云盾证书服务的权限),单击确定,完成授权操作。

凭证

在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页面,在认证管理页签,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey

调用OpenAPI

本文以Java语言为例,为您介绍OpenAPI的调用方法。

准备Java开发环境

环境要求

验证版本

打开终端,输入java -version,查看Java(JDK)版本。

配置环境变量

为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。

  • Linux和macOS系统

    将以下命令中的<access_key_id><access_key_secret>替换为您自己的AccessKey ID和AccessKey Secret,输入到终端执行。

  • export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统

    新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。

安装依赖

SDK依赖

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>cas20200407</artifactId>
  <version>1.0.13</version>
</dependency>

身份验证依赖

推荐使用Credentials最新版本

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>credentials-java</artifactId>
    <version>0.2.11</version>
</dependency>

下载示例代码

  1. 在OpenAPI门户,访问DescribeCertificateStateAPI调试入口。

  2. 在参数配置区域,输入OrderId(要查询的证书申请订单的ID)。

  3. 按照下图指引,单击下载完整工程,下载Java示例代码包。

    image.png
  4. 在本地解压示例代码包,并打开开发者工具IDEA,导入解压后的工程。

运行代码

在IDEA中运行Java代码,得到如下输出结果:

{
  "Type": "domain_verify",
  "Domain": "www.example.com",
  "RecordType": "TXT",
  "Certificate": "-----BEGIN CERTIFICATE----- …… -----END CERTIFICATE-----",
  "RequestId": "082FAB35-6AB9-4FD5-8750-D36673548E76",
  "RecordDomain": "_dnsauth",
  "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----…… -----END RSA PRIVATE KEY-----",
  "ValidateType": "FILE",
  "RecordValue": "20200420000000223erigacv46uhaubchcm0o7spxi7i2isvjq59mlx9lucnkqcy",
  "Content": "http://example.com/.well-known/pki-validation/fileauth.txt",
  "Uri": "/.well-known/pki-validation/fileauth.txt"
}