目录
一、前沿
二、API接口文档
1、证书可申请列表
简要描述
请求URL
请求方式
返回参数说明
备注
2、证书申请
简要描述
请求URL
请求方式
业务参数
返回示例
返回参数说明
备注
3、证书查询
简要描述
请求URL
请求方式
业务参数
返回参数说明
备注
4、证书验证
简要描述
请求URL
请求方式
业务参数
返回参数说明
5、必看DEMO
DEMO基于JAVA开发语言编写
一、前沿
ACME SSL免费申请证书-ACME自动化管理工具-免费提供申请Let's Encrypt、ZeroSSL、Google Public CA等CA证书-可以访问acmessl.cn,同时系统支持提供接口API方式申请免费ssl证书。ACME SSL是一个提供免费SSL证书申请的专业工具平台,我们与全球知名的发证机构紧密联系,简化SSL证书获取过程,降低用户的技术门槛和成本,帮助用户轻松获取并部署SSL证书, 以保护其网站和应用的通信安全。使用ACME SSL申请免费证书,有效期90天,可使用ACMESSL自动化续期功能自动续期。
二、API接口文档
ACME SSL提供证书申请API文档,需要有一定软件开发能力的团体才能接入,无技术开发能力的团体可以直接使用界面访问acmessl.cn操作。如下是API文档内容。
1、证书可申请列表
简要描述
- 证书可申请列表接口
请求URL
https://域名/dev-api/gateway/acmessl/getAbleCertList
请求方式
- POST + JSON
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
certId | Long | 证书ID |
brand | String | 证书品牌 |
name | String | 证书名称 |
status | int | 状态,1开放注册 0 未开放注册 |
certType | String | 类型,单域名,多域名,通配符 |
备注
- 更多返回错误代码请看首页的错误代码描述
参数名 | 值 | 说明 |
---|---|---|
code | 200 | 执行成功,其他code码失败 |
2、证书申请
简要描述
- 证书申请接口;
- 此接口为异步接口,提交接口成功后,只返回订单号,需要根据订单查询接口查询订单状态变化。
请求URL
https://域名/dev-api/gateway/acmessl/create
请求方式
- POST + JSON
业务参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
certId | 是 | Long | 证书ID |
domainName | 是 | string | 申请证书域名(acmessl.cn或者*.acmessl.cn,多个域名用英文逗号隔开) |
csrSource | 是 | string | csr来源:值为1表示浏览器生成,2离线生成(为了安全起见,目前只支持离线生成) |
validType | 是 | string | 验证方式:1DNS手工验证,2:DNS 自动验证,4:HTTP文件验证 |
encryptType | 是 | string | 公钥算法加密类型:RSA,ECC |
返回示例
{
"msg": "操作成功",
"code": 200,
"data":{
"orderNo": 467282727266172
}
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
orderNo | String | 订单号 |
备注
- 更多返回错误代码请看首页的错误代码描述
参数名 | 值 | 说明 |
---|---|---|
code | 200 | 执行成功,其他code码失败 |
3、证书查询
简要描述
- 证书查询接口
请求URL
https://域名/dev-api/gateway/acmessl/query
请求方式
- POST + JSON
业务参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
orderNo | 是 | String | 订单号 |
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
orderNo | String | 订单号 |
brand | String | 证书品牌 |
name | String | 域名名称 |
days | String | 证书有效期90天 |
csrSource | String | csr来源:值为:1表示浏览器生成;2离线生成 |
validType | String | 验证方式:1DNS手工验证,2:DNS 自动验证,4HTTP文件验证 |
encryptType | String | 公钥加密算法类型RSA,ECC |
typeContent | String | 验签参数json数据 |
status | String | 订单状态 |
certInfo | Object | 证书详情 |
- validBeginDate | date | 证书起始时间 |
- validEndDate | date | 证书截止时间 |
- serialNumber | String | 证书sn |
- sigAlgName | String | 签名算法 |
备注
- 更多返回错误代码请看首页的错误代码描述
参数名 | 值 | 说明 |
---|---|---|
code | 200 | 执行成功,其他code码失败 |
4、证书验证
简要描述
- 订单验证接口,提交频率为3分钟;
- 接口为异步接口,提交成功后,系统自动验证;可通过查询接口查看订单状态。
请求URL
https://域名/dev-api/gateway/acmessl/valid
请求方式
- POST +JSON
业务参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
orderNo | 是 | string | 订单号 |
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
status | String | 订单状态,0:申请中,1待验证,2验证中,3颁发证书成功,-1:取消 |
5、必看DEMO
DEMO基于JAVA开发语言编写
1、参数定义
//邮箱账号
private static final String EMAIL = "xxx@qq.com";
//apiKey
private static final String API_KEY = "xxx0ee12a484601851045fb78d4b1e8";
//调用域名
private static final String DOMAIN_URL = "https://console.acmessl.cn/dev-api/gateway/acmessl/";
//调用方法
public static final String getAbleCertList = "getAbleCertList";
public static final String create="create";
2、header头参数
/**
* 组织请求头headers
*
* @return
*/
private static Map<String, String> headers() {
int rand = RandomUtils.nextInt(100000, 999999);
long timestamp = System.currentTimeMillis() / 1000;
Map<String, String> header = Maps.newHashMap();
header.put("rand", String.valueOf(rand));
header.put("timestamp", String.valueOf(timestamp));
header.put("email", EMAIL);
header.put("sign", Md5Utils.hash(EMAIL + API_KEY + rand + timestamp));
header.put("Content-type", "application/json");
return header;
}
3、请求调用
/**
* 调用demo
*/
public static void main(String[] args) {
//1请求证书可申请列表接口
JSONObject result1 = HttpUtils.doPostJson(DOMAIN_URL + getAbleCertList,new JSONObject(), headers());
log.info("result:{}", result1);
//2证书申请
JSONObject json=new JSONObject();
json.put("certId",4);
json.put("domainName","ddd.ceshi.com");
json.put("csrSource",2);
json.put("validType","1");
json.put("encryptType","ECC");
json.put("notifyUrl","http://www.xxx.com/xx/notify.do");
JSONObject result2 = HttpUtils.doPostJson(DOMAIN_URL + create,json, headers());
log.info("result:{}", result2);
//其他接口同理
}