前往申请免费HTTPS证书/SSL证书
一、介绍
API - API 类型的部署节点用于支持用户通过API接口的方式获取OHTTPS中申请的HTTPS证书/SSL证书。
二、使用方法
使用 API - API 类型的部署节点,首先要在OHTTPS中创建API类型部署节点,创建该类型部署节点时,需要点击生成API接口调用时使用的API密钥。当部署节点创建完成后,即可通过API接口的方式获取证书。具体接口调用方式如下:
请求方法: GET
请求参数:
apiId: 即部署节点ID,示例:push-1xlpm40g1105n9gz
apiKey: 即创建API类型部署节点时生成或者填入的API密钥,示例:89066abd0f21b983331f3aca02590ea3
timestamp: 接口调用时的实时ms时间戳,5分钟内有效,示例:1695743251613
certificateId: 即证书ID,示例:cert-n2x740m2qxg8kwyz
sign: 参数签名(注意为32位小写MD5哈希值),用于接口权限校验,生成代码示例:
// 以下为javascript生成参数签名代码示例
// 用以获取传入字符串的32位小写MD5哈希值
function md5(string) {
// 函数示例
}
// 部署节点Id,下方为示例值
const apiId = "push-1xlpm40g1105n9gz"
// API接口密钥,下方为示例值
const apiKey = "89066abd0f21b983331f3aca02590ea3"
// 当前ms时间戳,下方为示例值
const timestamp = 1695743251613
// 目标证书ID,下方为示例值
const certificateId = "cert-n2x740m2qxg8kwyz"
// 用于请求的参数列表
const params = [`apiId=${apiId}`, `timestamp=${timestamp}`, `certificateId=${certificateId}`]
// 用于签名的参数列表:用于请求的参数列表 + API接口密钥
const paramsForSign = [...params, `apiKey=${apiKey}`]
// 用于签名的参数列表使用字母序进行排序
paramsForSign.sort()
// 用于签名的参数列表使用"&"号进行拼接成用以签名的字符串
const stringForSign = paramsForSign.join('&')
// 以上字符串的32位小写MD5哈希值即为参数签名
// 以上示例参数的最终签名为: c58d69d9e59923f16b7dafa45bef208d
const sign = md5(stringForSign)
// 接口最终请求地址
// 注意最终请求的参数中不包含apiKey
const url = `https://ohttps.com/api/open/getCertificate?sign=${sign}&${params.join("&")}`
请求响应:
- success: 请求是否成功标志,成功时为true,否则为false
- msg: 信息提示,成功时为"成功",失败时为具体失败原因,常见失败原因示例:
- 证书ID(certificateId)参数缺失
- 错误说明: 请求参数中缺少certificateId
- 证书ID(certificateId)参数格式错误
- 错误说明: certificateId必须以"cert-"开头
- 部署节点ID(apiId)参数缺失
- 错误说明: 请求参数中缺少apiId
- 时间戳(timestamp)参数缺失
- 错误说明: 请求参数中缺少timestamp
- 时间戳(timestamp)参数无效
- 错误说明: timestamp与当前时间戳差值超过了5分钟
- 签名(sign)参数缺失
- 错误说明: 请求参数中缺少sign
- 部署节点ID(apiId)参数格式错误
- 错误说明: apiId必须以"push-"开头
- 签名(sign)校验失败
- 错误说明: 签名与根据请求参数生成的签名不一致
- 账户余额不足
- 错误说明: 账户内余额不足
- 证书ID(certificateId)输入错误
- 错误说明: certificateId不存在或已删除
- 证书不存在有效版本
- 错误说明: 证书没有有效的证书版本
- 证书版本已过期
- 错误说明: 最新的证书版本已经过期
- 证书ID(certificateId)参数缺失
- payload: 请求成功时返回的数据
- certKey: PEM格式的证书私钥
- fullChainCerts: PEM格式的证书文件(包含证书和中间证书)
- expiredTime: 证书过期时间
- 成功响应示例:
{
"success": true,
"msg": "成功",
"payload": {
"certKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEA7o8I0jT1...3balniJJw7zfou0=\n-----END RSA PRIVATE KEY-----\n",
"fullChainCerts": "-----BEGIN CERTIFICATE-----\nMIIFMzCCBBugAwIBAgISA4qi...YKEBpsr6GtPAQ3ec5\n-----END CERTIFICATE-----\n",
"expiredTime": "2021-08-09T14:37:10.000Z"
}
} - 失败响应示例:
{
"success": false,
"msg": "签名(sign)校验失败"
}
OHTTPS: 免费HTTPS证书/SSL证书申请 • 自动化更新、部署、监控
OHTTPS 支持通过多种域名验证方式(DNS验证、HTTP验证、文件验证等)申请免费的HTTPS证书/SSL证书,包括单域名证书、多域名证书、通配符证书、IP证书等,支持HTTPS证书/SSL证书的自动化更新、自动化部署、自动化监控及告警等,并支持将HTTPS证书/SSL证书自动化部署至阿里云、腾讯云、群晖NAS、百度云、七牛云、多吉云、又拍云、宝塔面板、Docker容器、SSH等,实现HTTPS证书/SSL证书的一站式申请、更新、部署、监控和管理。