无法提交并签名CSR(错误0x80094800):客户端侧解决方案咨询
客户端侧解决思路(针对ZATCA电子发票CSR提交错误0x80094800)
错误0x80094800本质是ADCS服务器的策略模块拒绝了你指定的证书模板,由于你无法控制服务器,可尝试以下客户端调整方案:
确认证书模板名称的正确性
检查PREZATCA-Code-Signing是否是ZATCA实际启用的模板名称,可能存在拼写、大小写或命名变体问题。建议直接联系ZATCA获取官方认可的模板名称或对应的OID标识符。移除CSR中的模板指定字段
部分CA服务器会自动匹配对应业务的证书模板,强制指定模板可能触发策略拦截。删除req_ext段中的certificateTemplateName = ASN1:PRINTABLESTRING:PREZATCA-Code-Signing这一行,重新生成CSR提交。调整CSR的字段与扩展配置,匹配ZATCA规范
- 修正
distinguished_name中的CN字段:当前设置为127.0.0.1,不符合电子发票证书的标识要求,应替换为店铺的实际域名、注册名称或ZATCA要求的标识内容。 - 简化
keyUsage:电子发票证书通常仅需digitalSignature权限,将v3_req中的keyUsage改为digitalSignature, nonRepudiation,移除keyEncipherment。 - 校验
alt_names字段:确认SN、UID等字段的格式完全符合ZATCA电子发票的规范要求,比如SN的格式是否满足设备标识规则,UID是否与organizationIdentifier一致。
- 修正
使用ZATCA官方工具生成CSR
若当前用OpenSSL自定义配置生成的CSR存在格式兼容性问题,尝试使用ZATCA官方提供的CSR生成工具或脚本,确保生成的CSR完全符合其服务器策略要求。直接联系ZATCA获取明确规范
服务器端的策略由ZATCA定义,最有效的方式是向其咨询电子发票证书对应的CSR必填字段、允许的扩展、模板要求等细节,根据官方指引调整CSR配置。
内容的提问来源于stack exchange,提问作者Mohammed almalki
相关产品推荐
相关产品推荐

