购买与验证证书
在证书商城选购证书、付款,提交域名并通过 DNS 或 HTTP 完成域名验证。
本文介绍如何选购 SSL 证书、提交证书域名,并通过 DNS 或 HTTP 方式完成域名所有权验证。
选择证书
打开控制台 证书服务 → SSL证书(/ssl/browse)进入证书商城。页面顶部可以按签发渠道筛选,每张产品卡片会显示:
- 产品名称与品牌(例如 Let's Encrypt、ZeroSSL、DigiCert)
- 类型标签:DV、OV、EV、Wildcard(通配符)或 Multi-Domain(多域名)
- 有效期(天)和价格
撰写本文时的产品线如下,具体以商城页面为准:
| 品牌 | 产品 | 验证级别 | 有效期 |
|---|---|---|---|
| Let's Encrypt | 单域名 / 通配符 / 多域名 | DV | 90 天 |
| ZeroSSL | 单域名 / 通配符 / 多域名 | DV | 90 天 |
| DigiCert | Basic OV、Secure Site、Secure Site Pro、Multi-Domain SSL | OV | 365 天 |
| DigiCert | Basic EV、Secure Site EV、Secure Site Pro EV、EV Multi-Domain | EV | 365 天 |
如何选择:
- 只需要 HTTPS 加密:选 DV。90 天有效期的 DV 证书需要定期续期。
- 需要覆盖所有一级子域名(如
*.example.com):选 Wildcard。通配符证书只能用 DNS 方式验证。 - 一张证书覆盖多个不同域名:选 Multi-Domain。
- 需要在证书中体现企业身份:选 OV 或 EV,并准备好组织资料。
下单与付款
- 在产品卡片上点击 加入购物车,或点击 立即购买 直接进入购物车(
/billing/cart)。SSL 证书为一次性购买。 - 在购物车中确认商品并结算。系统会为该证书生成一张账单,同时在 我的证书 中创建一条状态为 待处理 的证书订单(此时还没有填写域名)。
- 在 账单 页面(
/billing/invoices)完成付款。
提交域名与验证方式
付款后,需要为订单提交证书域名和验证方式,平台随后把申请提交给 CA。目前这一步通过用户 API 完成,请求需携带控制台登录令牌:
curl -X POST https://api.yeap.cloud/api/user/ssl/orders/create \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{
"order_id": 123,
"domain": "example.com",
"validation_method": "dns"
}'参数说明:
| 参数 | 必填 | 说明 |
|---|---|---|
order_id | 是 | 订单号,可在 我的证书 或 GET /api/user/ssl/certificates 中查到 |
domain | 是 | 证书主域名;通配符写作 *.example.com |
validation_method | 否 | dns(默认)或 http |
csr | 否 | 您自己生成的 CSR(PEM)。不提供时平台会自动生成 RSA 2048 位密钥和 CSR |
san_domains | 否 | 多域名证书的附加域名数组,如 ["www.example.com","api.example.com"] |
organization、country、state、city | OV/EV 必填 | 组织名称、两位国家代码、省/州、城市 |
admin_email、admin_first_name、admin_last_name | OV/EV 必填 | 管理员联系人 |
只有状态为「待处理」的订单可以提交配置,每个订单只能提交一次。
如果您自带 CSR,平台不会保存您的私钥,之后下载的文件中也不包含私钥,请自行妥善保管。如果由平台生成 CSR,私钥会随证书一起提供下载。
提交成功后,订单状态变为待验证,响应中的 validation_data 给出需要完成的验证内容。之后也可以随时用 GET /api/user/ssl/orders/get?id=<订单号> 查询,返回中的 validation_token、validation_value 即验证所需的记录名和记录值。
完成域名验证
DNS 验证(推荐)
在域名的 DNS 服务商处添加一条 TXT 记录:
| 记录类型 | 主机记录 | 记录值 |
|---|---|---|
| TXT | _acme-challenge.example.com(以订单返回为准) | 订单返回的验证值 |
- Let's Encrypt、ZeroSSL 等 DV 证书通常使用
_acme-challenge前缀;其他 CA 的记录名、类型可能不同,一律以订单返回的数据为准。 - 通配符证书必须使用 DNS 验证。
- 如果域名托管在 Yeap Cloud DNS,可在控制台直接添加记录,参见 DNS 文档。
- DNS 生效通常需要几分钟到半小时,TTL 较大时会更久。
HTTP 验证
在网站上放置一个验证文件,使其可以通过 http://<域名>/.well-known/... 路径访问,文件路径和内容以订单返回的数据为准(例如 /.well-known/acme-challenge/<token>)。请确认:
- 域名已解析到放置文件的服务器,且 80 端口可访问;
- 访问该路径时返回的是文件原始内容,不要被登录页、防火墙或重写规则拦截。
如果域名已接入 CDN,回源规则或缓存可能影响验证文件的访问,建议改用 DNS 验证。
检查验证与签发状态
记录生效后,可以主动触发一次检查:
# 重新检查验证状态
curl -X POST https://api.yeap.cloud/api/user/ssl/orders/validate \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"order_id": 123}'
# 从 CA 刷新订单状态;如已签发会自动取回证书
curl -X POST https://api.yeap.cloud/api/user/ssl/orders/refresh-status \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"order_id": 123}'即使不手动触发,平台也会定期(约每 30 分钟)自动检查所有已提交至 CA 的订单,证书签发后自动保存,订单状态变为 生效中,此时即可在 我的证书 中下载。
签发耗时取决于证书类型:DV 证书在验证通过后通常很快签发;OV、EV 证书还需要 CA 审核组织信息,一般需要数个工作日,期间 CA 可能通过您提供的联系方式进行核实。
常见问题
- 验证一直不通过:用
dig TXT _acme-challenge.example.com确认记录已在公网生效,检查记录值是否完整、没有多余引号或空格;HTTP 验证请用浏览器或curl直接访问验证 URL 检查返回内容。 - 订单显示失败:CA 拒绝了申请(例如域名不符合签发策略)。失败原因会记录在订单中,可通过订单查询接口查看。
- 长时间没有进展:请联系我们并提供订单号。