GETPOST
v1.0.0stable证书检测
使用 Token 鉴权,通过证书 KID 或设备 UDID 检测证书状态
GET | POST
/api/device/certcheck认证:API Key
限流:30/分钟
请求参数
所有请求参数需通过 Query 或 Body 传递
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
token | string | 必填 | 用户 API Token 示例: your_api_token_here |
kid | string | 可选 | 证书 KID,与 udid 二选一 示例: ABC123XYZ |
udid | string | 可选 | 设备 UDID,与 kid 二选一 示例: 00008030-001234567890002E |
响应参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | number | 必填 | API 调用状态码:1=成功,其他=失败 示例: 1 |
msg | string | 必填 | 返回信息 示例: 证书状态正常 |
time | number | 必填 | 服务器时间戳(Unix 秒) 示例: 1769675945 |
data | object | 必填 | 业务数据 |
data.status | string | 必填 | 证书状态:normal/expired/revoked/banned/dropped/unknown 示例: normal |
data.status_code | number | 必填 | 状态码:205=正常,203=过期,204=撤销,207=封禁,206=掉签,208=未知 示例: 205 |
data.status_text | string | 必填 | 状态文本描述 示例: 正常 |
data.details | string | 必填 | 详细说明 示例: 证书有效,剩余 180 天过期 |
data.check_method | string | 必填 | 检测方法:在线检测 / 本地检测 示例: 在线检测 |
data.can_detect_revoke | boolean | 必填 | 是否能检测吊销状态:true=在线检测可用,false=仅本地检测(只能验证有效期) 示例: true |
data.revoked_at | string | 必填 | 吊销时间(仅吊销/封禁时返回) 示例: 2026-01-15 10:30:00 |
data.expires_at | string | 必填 | 证书过期时间 示例: 2027-01-28 15:30:00 |
data.remaining_days | number | 必填 | 剩余有效天数 示例: 180 |
data.cert_info | object | 必填 | 证书基本信息 |
data.cert_info.common_name | string | 必填 | 证书通用名称 示例: Apple Development: John Doe (XXXXXXXXXX) |
data.cert_info.valid_from | string | 必填 | 证书生效时间 示例: 2026-01-28 15:30:00 |
data.cert_info.valid_to | string | 必填 | 证书过期时间 示例: 2027-01-28 15:30:00 |
data.device | object | 必填 | 设备信息 |
ip | string | 必填 | 请求者IP地址 示例: 192.168.1.100 |
ysucc | string | 必填 | 成功标识,成功时返回 "Ysucc" 示例: Ysucc |
响应示例
{}
"code":1,
"msg":"证书状态正常",
"time":1769675945,
"data":
{}
,"status":"normal",
"status_code":205,
"status_text":"正常",
"details":"在线验证通过,证书有效,剩余 180 天过期",
"check_method":"在线检测",
"can_detect_revoke":true,
"revoked_at":"",
"expires_at":"2027-01-28 15:30:00",
"remaining_days":180,
"cert_info":
{}
,"common_name":"Apple Development: John Doe (XXXXXXXXXX)",
"valid_from":"2026-01-28 15:30:00",
"valid_to":"2027-01-28 15:30:00",
"issuer":"Apple Inc.",
"country":"CN"
"device":
{}
"id":12345,
"kid":"ABC123XYZ",
"udid":"00008030-001234567890002E",
"pname":"MyApp Development",
"model":"iPhone 15 Pro",
"shtype":1,
"zt":"normal"
"ip":"192.168.1.100",
"ysucc":"Ysucc"
证书已掉签(在线检测)
在线检测到证书已掉签
证书已掉签(在线检测)
{}
"code":1,
"msg":"证书已掉签",
"time":1769675945,
"data":
{}
,"status":"dropped",
"status_code":206,
"status_text":"掉签",
"details":"证书已被吊销",
"check_method":"在线检测",
"can_detect_revoke":true,
"device":
{}
"id":12345,
"kid":"ABC123XYZ",
"udid":"00008030-001234567890002E",
"pname":"MyApp Development",
"zt":"hidden"
"ip":"192.168.1.100",
"ysucc":"Ysucc"
账号已封禁
开发者账号已被 Apple 封禁
账号已封禁
{}
"code":1,
"msg":"开发者账号已被封禁",
"time":1769675945,
"data":
{}
,"status":"banned",
"status_code":207,
"status_text":"账号封禁",
"details":"Apple 封禁了该开发者账号",
"check_method":"在线检测",
"can_detect_revoke":true,
"revoked_at":"2026-01-15 10:30:00",
"device":
{}
"id":12345,
"zt":"hidden"
"ip":"192.168.1.100",
"ysucc":"Ysucc"
本地检测(在线检测不可用)
在线检测不可用,回退到本地检测,仅验证有效期
本地检测(在线检测不可用)
{}
"code":1,
"msg":"证书有效期正常(未验证吊销状态)",
"time":1769675945,
"data":
{}
,"status":"normal",
"status_code":205,
"status_text":"正常",
"details":"本地检测:证书在有效期内,剩余 180 天过期。注意:在线检测不可用,无法确认证书是否被吊销",
"check_method":"本地检测(网络不可用)",
"can_detect_revoke":false,
"expires_at":"2027-01-28 15:30:00",
"remaining_days":180,
"device":
{}
"id":12345,
"pname":"MyApp Development",
"zt":"normal"
"ip":"192.168.1.100",
"ysucc":"Ysucc"
存在多个匹配证书
同一UDID下存在多个证书,请使用 kid 参数指定
存在多个匹配证书
{}
"code":103,
"msg":"存在多个匹配设备,请指定具体证书ID",
"time":1769675945,
"data":
{}
,"count":3,
"devices":
[]
{}
,"id":12345,
"kid":"ABC123",
"pname":"App A",
"shtype":1
{}
,"id":12346,
"kid":"DEF456",
"pname":"App B",
"shtype":2
{}
"id":12347,
"kid":"GHI789",
"pname":"App C",
"shtype":1
"ip":"192.168.1.100",
"yno":"Yno"
错误码
错误码8 个定义
12Token 不能为空
未提供 Token 参数
10Token 无效
Token 不正确或已过期
20请提供 kid 或 udid
未提供 kid 或 udid
响应语言
通过 X-Lang 请求头自定义接口返回语言。下方代码示例会自动使用您当前访问系统的语言。
推荐请求头
X-Lang: zh支持的语言
zh, en, zh-TW, vi, ar也可以使用 Accept-Language;X-Lang 优先级更高。不支持的语言将回退为英文。
代码示例
curl -X GET "https://testypro.iwai.cc,https://cer.xyul.cn,https://cer.iwai.cc/api/device/certcheck?token=your_api_token_here&kid=ABC123XYZ&udid=00008030-001234567890002E" \
-H "X-Lang: zh"注意事项
- 支持 GET 和 POST 请求
- kid 或 udid 二选一,至少提供一个
- 若同一UDID存在多个证书,将返回多证书提示
- 在线检测:可检测证书有效期 + 是否被吊销(掉签),需要网络
- 本地检测:仅检测证书有效期,无法检测证书是否被吊销
- 在线检测不可用时自动回退到本地检测,此时 can_detect_revoke=false
- 检测到掉签/封禁状态时会自动更新设备状态为 hidden
- 建议不要频繁调用此接口,以免触发APPLE风控
在控制台试一试
填好参数后直接点发送测试,接口地址固定为本站,会带上当前登录状态
https://testypro.iwai.cc/api/device/certcheck?token=your_api_token_here&kid=ABC123XYZ&udid=00008030-001234567890002E已锁定本站string必填
用户 API Token
string
证书 KID,与 udid 二选一
string
设备 UDID,与 kid 二选一