You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Zatca提供的CSR提取完整config.cnf配置数据

解决Zatca CSR配置缺失问题的实操步骤

1. 从官方CSR提取完整配置细节

用OpenSSL命令解码官方CSR,导出所有关键字段与扩展项,这是补全config.cnf的核心依据:

openssl req -in zatca-official.csr -noout -text

重点核对Zatca强制要求的内容:

  • 主体DN字段:必须包含countryName=SA、匹配注册信息的stateOrProvinceName、localityName、organizationName、commonName(需对应Zatca注册的实体ID)
  • 扩展项:
    • basicConstraints:固定为CA:FALSE
    • keyUsage:需包含digitalSignature, keyEncipherment
    • subjectAltName:若官方CSR存在,需同步URI:或DNS:格式的实体标识
    • Zatca自定义OID扩展:注意是否存在类似1.2.3.4.5.6.7.8.1这类专属标识扩展

2. 排查自身config.cnf的缺失项

将解码出的官方CSR信息和你的config.cnf逐项对比,重点检查:

  • 是否遗漏Zatca专属的自定义OID扩展
  • 主体DN的每个字段是否和官方CSR完全一致(大小写、拼写、格式均不能错)
  • keyUsage和basicConstraints的配置是否严格匹配官方要求

3. 生成符合规范的config.cnf模板

基于Zatca要求,替换为你提取的实际值即可使用:

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = req_ext

[dn]
C = SA
ST = Riyadh  # 替换为官方CSR中的省份
L = Riyadh   # 替换为官方CSR中的城市
O = YourOfficialCompanyName  # 替换为官方CSR中的企业名称
CN = YourZatcaEntityID    # 替换为Zatca注册的实体ID

[req_ext]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = URI:urn:zatca:ein:your-entity-id  # 官方CSR包含则保留
# 添加Zatca自定义扩展,示例:
1.2.3.4.5.6.7.8.1 = ASN1:UTF8String:YourZatcaRegistrationCode

4. 验证新生成的CSR

生成新CSR后,再次解码确认与官方CSR完全一致:

openssl req -new -key your-private.key -out new-csr.csr -config config.cnf
openssl req -in new-csr.csr -noout -text

确认无误后再提交Zatca进行QR验证。

内容的提问来源于stack exchange,提问作者Codinoz Technologies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 22:45:57