acmessl.cn提供接口API方式申请免费ssl证书

目录

一、前沿

二、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);
        //其他接口同理
    }
相关推荐
发光小北13 小时前
EtherNet/IP 转 ModbusTCP 网关现场应用中会遇到什么问题?
服务器·网络·tcp/ip
程序猿老A13 小时前
轻量云服务器总是卡,内存占比高?
运维·服务器
沫璃染墨15 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
Kobebryant-Manba15 小时前
C/S和B/S结构
运维·服务器
AI_Lab0116 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
by2099916 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
小羊没烦恼!16 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈16 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
万联WANFLOW17 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
SDWAN_Cheap17 小时前
物理服务器跟云服务器有什么区别,使用于什么场景
运维·服务器