返回 Skill 列表
extension
分类: 数据与分析无需 API Key

商密证书查询

抓取国家密码管理局商用密码产品认证业务网(scctc.org.cn)证书查询数据,默认仅保留「证书状态=有效」的记录并生成 Excel。当用户要求获取 scctc.org.cn 的「有效」商密证书、按状态筛选(有效/过期/注销/撤销/暂停)导出 Excel,或重新抓取该站证书数据时使用。

person作者: user_29221402hubcommunity

商用密码产品认证证书查询(按状态筛选)

抓取国家密码管理局商用密码产品认证业务网(scctc.org.cn)「查看全部」列表的全部分页数据, 合并每条记录的详情字段,默认仅保留「证书状态 = 有效」的记录,生成 Excel。 支持通过参数指定其他状态(过期 / 注销 / 撤销 / 暂停)或导出全部。

何时使用

  • 用户要求获取 scctc.org.cn 的「有效」商密证书 / 商用密码认证结果。
  • 用户要求按证书状态(有效 / 过期 / 注销 / 撤销 / 暂停)筛选并导出 Excel。
  • 用户要更新此前抓取的证书数据(重新跑一遍即可)。

关键事实(必须先读 references)

  • 接口与字段映射、状态枚举、SSL 兼容性坑:见 references/scctc_api.md
  • 目标站点不支持按状态服务端筛选,因此先抓全量,再在本地按 certificateStatus 枚举过滤。

工作流

0. 准备运行环境

PY="C:/Users/JIT38/.workbuddy/binaries/python/versions/3.13.12/python.exe"
VENV="C:/Users/JIT38/.workbuddy/binaries/python/envs/default"
if [ ! -d "$VENV" ]; then "$PY" -m venv "$VENV"; fi
"$VENV/Scripts/pip.exe" install -q openpyxl

若上述隔离 Python 不可用,改用系统 Python 3.12: C:/Users/JIT38/AppData/Local/Programs/Python/Python312/python.exe,并自建 venv。

1. 抓取全部分页数据

"$VENV/Scripts/python.exe" scripts/fetch_all.py --out all_records.json --size 50

脚本自动探测总数、遍历所有分页(certificateCategory=1 为商用密码产品认证证书)、 带重试与旧版 TLS 兼容,输出去重校验后的 all_records.json。 列表接口已包含「查看」详情页全部字段,无需逐条二次抓取。

2. 按状态筛选

# 默认筛选「有效」(certificateStatus=0)
"$VENV/Scripts/python.exe" scripts/filter_status.py --in all_records.json --status 0
# 也可指定其他状态:1=过期 2=暂停 3=撤销 4=注销;--status all 表示全部

脚本打印状态分布与筛选数量,输出 cert_status_<代码>.json(全部时为 cert_status_all.json)。

3. 生成 Excel

"$VENV/Scripts/python.exe" scripts/make_excel.py \
  --in cert_status_0.json \
  --out 商用密码产品认证证书查询结果_有效.xlsx \
  --name "商用密码产品认证证书(有效)"

生成 14 列表格,含冻结表头、自动筛选器、状态中文映射、HTML 实体清理。

4. (可选)复制到桌面 / 上传金山文档

cp 商用密码产品认证证书查询结果_有效.xlsx "C:/Users/JIT38/Desktop/"

上传金山文档的 CLI 安装 / 登录 / 上传 / 校验流程,见 scctc-cert-scraper 技能的 references/kdocs_upload.md(同一套 kdocs-cli 流程)。

注意事项

  • 目标站点为旧版服务器,必须启用 OP_LEGACY_SERVER_CONNECTSECLEVEL=1,否则 SSL 握手失败(fetch_all.py 已内置)。
  • 接口有频率限制,脚本已内置 0.15s 间隔与失败重试;如触发限流可适当调大 time.sleep
  • 证书状态字段为枚举(0=有效 …4=注销),Excel 中已转中文。
  • 截至 2026-07,类别 1 共约 10,572 条,212 页(size=50),全量抓取约 1 分钟。