SSL证书(https证书)的API接口文档

时间 : 2025-02-27 16:15:10 浏览量 : 314

重要说明:本接口文档是对接 ssl.douhao.com 的SSL证书在线生成平台,接入好后用户可以自主下单,秒级签发!具体代理价格详情请联系QQ:2881668427

下单流程:用户提交域名和邮箱,他那边先发起预付款检测,如果款足则发起csr生成,接着下单、获取域名列表、发起验证、查询验证结果、发起下载获取证书内容。(备注:切换域名验证方式在获取域名列表之后,验证完成之前。)

特别提醒:证书下载生成证书文件是在您自己客户端内执行的,请求逗号SSL的证书下载接口只是返回证书内容,生成证书需要用到第一步生成的csritem内容

接口请求方式:post

请求头:代码示例(PHP),注意apikey前面需要一个空格。

$header = array('apiKey: 你的APIKEY', 'Content-Type: application/json');

各个接口参数以json格式post至接口地址即可,返回的也是json格式。

生成csr接口:https://ssl.douhao.com/?m=api&a=getcsr

需传入参数:domain,email

参数说明:domain是用户提交的域名,多个域名用英文逗号分开。Email是用户提交的邮箱地址

返回数据示例:{"code":200,"data":{"csr":"csr值","key":"key值"},"msg":"ok"}

预付款检测接口:

检测账户预付款金额是否能够支付当前订单:https://ssl.douhao.com/?m=api&a=checkuser

需传入参数:domain

参数说明:domain是用户提交的域名,多个域名用英文逗号分开。

返回内容:200表示正常;202表示金额不足。

下单接口:https://ssl.douhao.com/?m=api&a=getorder

请求参数解释:

PHP示例:

$item['gd'] = true或者false;true表示只申请传入的单域名,false表示非单域名,会有赠送的www子域名

$item['year'] = 1;

$item['dcvMethod'] = 验证方式,字母须小写,目前有DNS_TXT和DNS_CNAME两种;

$item['csr'] = csr接口返回csr字段值;

$item['csritem'] = csr接口返回的全部内容,json格式的,例:{"code":200,"data":{"csr":"csr值","key":"key值"},"msg":"ok"};

$item['out_trade_no'] = 商家自定义订单号(仅支持字母与数字长度不要超过32);

$item['trade_no'] = 交易订单号(支付宝或微信的);

$item['domainNames'] = 域名,多个域名用英文逗号分开;

$item['contactInfo']['lastname'] = 姓;

$item['contactInfo']['firstname'] = 名;

$item['contactInfo']['position'] = 职务;

$item['contactInfo']['email'] = 邮箱;

$item['contactInfo']['telephone'] = 手机号;

$data = json_encode($item);

以上数据$data最终为json格式,POST提交至接口即可。

如果成功则返回证书订单号,如果返回无任何结果,请检查apikey是否正确和预付款金额是否充足。

重要提示:订单号有两个,一个是支付端订单号,一个是商家自定义的编号。支付端订单号是由支付宝或微信生成的,纯数字的,如果模拟生成也需要用纯数字的,可以用年月日+时间戳+随机数字,长度不要超过28位。商家自定义编号可以字母+数字组合,长度不要超过32位。

获取域名列表:https://ssl.douhao.com/?m=api&a=getdomain

需传入参数:order

参数说明:order是下单接口返回的ssl证书订单号orderNo

响应参数解释:

参数名称类型描述
codeint状态码,200; 500及其他错误码
dataobject返回信息描述的对象
..domainListobject域名的列表
.. ..dnsNamesArray相同根域名组成的数组,他们公用一种验证方式. ip单独
.. ..domainIDint域名id,仅digicert产品线(geotrust,rapidssl,digicert,securesite,thawte,securesitechina,geotrustchina)有,其他为0
.. ..emailstring邮箱验证时的邮箱
.. ..statusstring域名验证状态
.. ..dcvMethodstring域名验证方式(返回的域名验证方式和请求时不一样,(1)CNAME_CSR_HASH对应dns(2)HTTP_CSR_HASH对应file(3)EMAIL对应email(4)DNS_TXT对应dns_txt(5)DNS_CNAME对应dns_cname
.. ..fileDcvPathstring域名验证方式为文件验证时需要用到的文件验证路径;验证方式为非文件验证时也会返回作为常用参数。注意:路径中的{FQDN}请替换成dnsNames 参数中的完整域名,例: "dnsNames": ["1.example.com","2.example.com"], 则文件验证路径为对应的两个:http://1.example.com/.well-known/pki-validation/gsdv.txt 和 http://2.example.com/.well-known/pki-validation/gsdv.txt。 若"dnsNames": "140.12.56.8",则 http://140.12.56.8/.well-known/pki-validation/gsdv.txt。 本次更新与之前的差别在于:之前的文件验证路径只需要顶级域名或ip进行文件验证即可,而现在是每个域名本身都要进行文件验证
.. ..recordTypestring用于验证的记录类型
.. ..hostRecordstring用于验证的主机记录值
.. ..hashValuestring用于验证的 hash值/token
.. ..uniqueValuestringsectigo.possitivessl类证书重签后返回的唯一值
msgstring错误或成功信息提示

 

发起验证:https://ssl.douhao.com/?m=api&a=toyz

需传入参数:order

参数说明:order是下单接口返回的ssl证书订单号orderNo

响应参数解释

参数名称类型描述
codeint状态码,200; 500及其他错误码
msgstring错误或成功信息提示
dataobject返回信息描述的对象

 

查询验证结果:https://ssl.douhao.com/?m=api&a=chayz

需传入参数:order

参数说明:order是下单接口返回的ssl证书订单号orderNo

响应参数解释:

参数名称类型描述
codeint状态码,200; 500及其他错误码
dataobject返回信息描述的对象
..statusobject状态信息
.. ..certPrepareStatusstring证书准备状态,请查看 "签发前状态汇总状态码"
.. ..certStatusstring证书状态 请查看 "证书状态码"
.. ..dcvStatusstring域名验证状态 请查看 "域名验证状态码"
.. ..evValidationStatusstringev证书企业验证状态 请查看 "ev验证状态码"
.. ..isReSignOrderstring是否为重签订单,若是"Y",则所有状态都是重签后的订单状态
.. ..orderStatusstring订单状态 请查看 "订单状态码"
.. ..ovValidationStatusstringov证书企业验证状态 请查看 "ov验证状态码"

 

切换域名验证方式:https://ssl.douhao.com/?m=api&a=changeyz

需传入参数:order,mod

参数说明:order是下单接口返回的ssl证书订单号orderNo;mod是验证方式,可选值DNS_TXT和DNS_CNAME两种

备注:fileDcvPath  文件验证的话  这个参数返回验证路径,路径中的{FQDN}请替换成dnsNames 参数中的完整域名,例: "dnsNames": ["1.example.com","2.example.com"], 则文件验证路径为对应的两个:http://1.example.com/.well-known/pki-validation/gsdv.txt 和 http://2.example.com/.well-known/pki-validation/gsdv.txt。

 

获取证书信息:https://ssl.douhao.com/?m=api&a=download

需传入参数:order

参数说明:order是下单接口返回的ssl证书订单号orderNo

证书签发的推送信息解释

参数名称类型描述
authobject身份验证对象
..authTokenstring待解密字符串
..randomStrstring随机字符串, authToken的解密结果应与此相等
notifyInfoobject通知消息对象
..orderNostring订单编号
..certIDint证书编号
..statusstring订单状态代码 3004
..statusDescstring状态描述 issued
..serialNumberstring证书序列号
..certContentstring证书
..midCertContentstring中间证书
..notBeforeint证书签发日期 时间戳 (毫秒)
..notAfterint证书到期日期 时间戳(毫秒)
..commonNamestring证书的常用名称
..domainNamesArray证书包含的所有域名数组
..sha1string证书的sha1值
..sha256string证书的sha256值
..issuerCommonNamestring颁发者通用名称
..issuerCountrystring颁发者国家
..issuerOrgstring颁发者组织
..signatureAlgostring证书签名算法
..keyCurvestring秘钥曲线(encryption为ECDSA(又名ECC)时成对出现) 如signatureAlgo为ECDSA-SHA384,encryption为ECDSA,keyCurve为P256
..encryptionstring加密算法
..keyLengthint私钥长度(encryption为RSA时成对出现)

证书状态码

状态码类型说明
3002string已支付,等待签发
3003string支付成功,但提交到ca申请订单异常,请联系客服
3004string已签发
3005string已取消
3006string支付成功,但提交到ca申请订单超时,请联系客服

域名验证状态码

状态码类型说明
2001string未验证
2002string已验证
2001-CAAstring未验证且待签发域名存在CAA记录。需要用户删除CAA记录或添加对应ca的记录后重新下单才可以签发
2002-CAAstring已验证但待签发域名存在CAA记录。需要用户删除CAA记录或添加对应ca的记录后重新下单才可以签发

错误信息格式

code值见错误码

 { "code": 6000, "msg": "错误信息", "data": null }

错误码

 //下订单接口 SuccessCode = 200 //success ServerError = 500 //服务端错误 BalanceNotEnough = 6000 //账户余额不足 NoProduct = 6001 //暂未提供相应产品 ParamFormatInvalid = 6002 //参数类型或参数名有误 YearInvalid = 6003 //年限不支持 DcvMethodInvalid = 6004 //dcvMethod 不支持 GlobalsignNoEmail = 6005 //globalsign暂不支持email域名验证方式 CsrInvalid = 6006 //csr 不合法 UnSupportIP = 6007 //不支持IP DomainInvalid = 6008 //域名不合法

可能问题解答:

1、如果出现404,是什么问题?

说明order不在请求头里,要通过POST数据过去,post数据跟请求头分开的。并且order这个数据以json格式post提交,{“order”:“23132f123dsa1f231ds3a1f”} 比如传递order数据,就是这个格式整个json部分post提交过来就行了。

2、传参数一直空白怎么回事?

答:csritem不要传json格式,需要json_decode($csritem,true);

PHP示例代码下载:https://ssl.douhao.com/static/sslapi-php.zip