本文为您介绍使用OpenAPI查询DV证书的申请状态的完整示例。
查看OpenAPI文档
通过阅读API概览得知,查询DV证书的申请状态的OpenAPI为DescribeCertificateState。请您根据文档,了解调用该接口需要准备的数据和权限。
创建RAM用户并授权
身份
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。
登录RAM访问控制,创建一个仅允许API调用的RAM用户,并记录AccessKey信息。具体操作,请参见创建RAM用户。
授权
访问RAM用户列表,单击目标RAM用户操作列的添加权限。
在选择权限区域搜索并选择AliyunYundunCertFullAccess权限(管理云盾证书服务的权限),单击确定,完成授权操作。
凭证
在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页面,在认证管理页签,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey。
调用OpenAPI
本文以Java语言为例,为您介绍OpenAPI的调用方法。
准备Java开发环境
环境要求
已下载并安装JDK1.8或以上版本。JDK1.8下载地址
已下载并安装开发者工具IDEA。IDEA下载地址
验证版本
打开终端,输入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_ID
和ALIBABA_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>
下载示例代码
在OpenAPI门户,访问DescribeCertificateStateAPI调试入口。
在参数配置区域,输入OrderId(要查询的证书申请订单的ID)。
按照下图指引,单击下载完整工程,下载Java示例代码包。
在本地解压示例代码包,并打开开发者工具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"
}