eCoC = 电子符合性证书,又称 IVI(Initial Vehicle Information,初始车辆信息),是欧盟 WVTA 整车型式批准框架下,传统纸质 CoC(Certificate of Conformity)的数字化版本,不是给车主的 PDF 证书,而是制造商和欧盟主管机关之间传输的结构化 XML 电子数据包EUROCOC。
法规基石:(EU) 2018/858(WVTA 法规)+ 实施条例 (EU) 2021/133、(EU) 2024/1061
✅ 核心定义与作用
- 作用:证明单台车辆(凭 VIN)是按照已获批的欧盟整车型式批准生产、符合欧盟技术法规,用于欧盟境内首次上牌注册核验;
- 载体:IVI 2.0 标准 XML 报文,带符合 eIDAS 规则的合格电子签名,防篡改、可验签;
- 流转通道:制造商 → 型式批准机构 → EUCARIS(欧盟车辆信息交换中枢) → 各成员国车管所 / 注册当局数据库EReg;
- 关键区分:
- 纸质 CoC:交付给购车人、进口商,车主手上的文件;
- eCoC:厂方直推给政府系统的机器可读数据,终端客户不能自行下载、购买 eCoC。
📅 实施时间表
- 2026-07-05:制造商开始强制生成、上送 eCoC(IVI2.0);
- 过渡期:纸质 CoC、eCoC 打印件依然可以用于上牌,最晚到 2026-11-29;
- 2026-11-29 之后:M/N/O 类新车注册以 eCoC 电子数据核验为主;
- 无追溯效力:2026-07-05 之前出厂车辆,没有 eCoC,仍然使用传统纸质 CoC。
🚗 适用范围
✅ 适用:M 类乘用车、N 类货车、O 类挂车(大批量 WVTA 型式批准车辆) ❌ 豁免:欧盟小批量车型、各国国家小批量、部分特种车辆;二手车、老车不适用 eCoCEReg
🆚 eCoC vs 纸质 CoC 对比
表格
| 项目 | 纸质 CoC | eCoC(IVI) |
|---|---|---|
| 格式 | PDF / 纸质 A4 证书 | 带电子签名结构化 XML(IVI2.0) |
| 受众 | 车主、进口商 | 欧盟各国型式批准机构、车管所系统 |
| 签发方 | 车企打印盖章 | 车企系统签名推送至 EUCARIS |
| 获取方式 | 向车企申请纸质副本(出厂起 10 年内可付费申领) | 车主无法单独申领,后台自动推送 |
| 上牌逻辑 | 提交纸质文件人工核验 | 系统自动根据 VIN 在数据库校验 |
重要:法规保留车主权利 —— 车辆出厂10 年内,车主依然可以向厂家申请纸质 CoC 副本,费用上限不超过制作成本EUROCOC。
🔐 技术要点(IVI 2.0)
- 必须 eIDAS 合格电子签名 QES,无有效签名的 XML 报文会被主管机构拒收;
- 数据字段和纸质 CoC 一一对应:VIN、型号 / 变体 / 版本、排放、质量、尺寸、型式批准号等全部车辆参数;
- 所有成员国可通过 VIN 在统一体系内查询核验数据media.go.t...。
📌 对国内车企 / 出口商的影响
- 出口欧盟新车(M/N/O):车企 IT 系统要开发 IVI2.0 生成、签签、对接 EUCARIS/WebService 上送接口;
- 不能再只准备纸质 CoC;过渡期内建议eCoC + 纸质 CoC 双备;
- 进口商、清关公司:后期上牌核验会优先走系统 VIN 查 eCoC,纸质文件逐步退居备用;
- 市面上声称 “代办 eCoC 证书、买 eCoC” 大多是误导,eCoC 是厂方对官方的数据推送,不是一份单独卖给客户的文件;丢证书的进口车依然申请传统 CoC 副本。
❓常见误区澄清
- ❌ eCoC 代替行驶证:错。CoC/eCoC 是符合性证明;行驶证是成员国车管所注册后发的注册证件;
- ❌ eCoC 淘汰纸质 CoC:错。车主 10 年内有权索要纸质副本;
- ❌ 二手车需要 eCoC:错。eCoC 只针对 2026-07-05 之后新生产的大批量 WVTA 新车。
说明:IVI = Initial Vehicle Information,也就是 eCoC 电子报文,XML 标准,分为【报文头、型式批准信息、车辆本体参数、排放能耗、质量尺寸、制动、灯光、轮胎、其他附件、签名域】,下面是必填核心字段,对接 EUCARIS 必须覆盖。 签名域:XMLDSig,eIDAS QES 合格电子签名(必须由制造商 / 其法定授权法人签署,代码签名、普通 SSL 证书无效)
1. 报文头部(IVI Header)
表格
| 字段 | 说明 |
|---|---|
| IVIVersion | 固定 2.0 |
| MessageId | 报文唯一 UUID,每次推送生成 |
| IssueDateTime | 报文签发 UTC 时间 |
| ManufacturerWVTAIdentifier | 制造商 WVTA 编号 |
| ManufacturerName | 制造商法定名称 |
| ManufacturerAddress | 注册地址 |
| AuthorisedRepresentative | 欧盟授权代表信息(非欧盟车企必填) |
| VIN | 车辆识别号,主键,EUCARIS 检索关键字 |
| VehicleCategory | M1/M2/M3/N1/N2/N3/O1/O2/O3/O4 |
| TypeApprovalNumber | WVTA 型式批准号 |
| Variant | 变体 |
| Version | 版本 |
| ProductionDate | 车辆生产日期(不是报文签发日) |
2. 型式批准基础信息
- TypeApprovalIssuingAuthority:发证主管当局(比如荷兰 RDW、德国 KBA)
- TypeApprovalValidFrom / ValidTo:批准有效期
- HomologationClass:认证类别
- NationalRestrictions:成员国特殊限制(如有)
3. 车辆标识与车身
- Make:品牌
- Type:车型
- CommercialDescription:商用名称(销售名)
- BodyType:车身类型(轿车、厢货、挂车等编码)
- NumberOfDoors:车门数
- NumberOfSeats:座位数(含前排、可选后排)
- SteeringPosition:转向位置(左舵 LHD / 右舵 RHD)
4. 动力总成 & 排放(WLTP 核心)
- FuelType:燃料类型(汽油 / 柴油 / BEV/PHEV/FCEV 等)
- EngineCode:发动机型号
- EngineCapacity:排量 cm³
- RatedPower:额定功率 kW
- ElectricPower:电机功率(新能源)
- BatteryCapacity:电池容量 kWh(BEV/PHEV)
- EmissionStandard:排放等级(Euro 6d / Euro 7 等)
- CO2WLTP:WLTP CO₂ g/km
- ConsumptionWLTP:油耗 / 电耗
- ElectricRangeWLTP:纯电续航 km
- OBDSystemPresent:是否搭载 OBD
5. 质量、轴荷(上牌高频校验项)
- MassInRunningOrder:整备质量
- TechnicallyPermissibleMaximumMass:技术允许最大总质量
- PermissibleMaxMassOnEachAxle:各轴允许最大载荷
- TowingMassBraked:允许牵引有制动挂车质量
- TowingMassUnbraked:允许牵引无制动挂车质量
- VerticalLoadAtCoupling:牵引钩垂直载荷
6. 尺寸、轮胎、制动、照明
- WheelBase:轴距
- TrackFront / TrackRear:前轮距、后轮距
- TyreSizeApproved:批准轮胎规格(允许多组可选)
- RimSize:轮辋规格
- BrakeSystemType:制动系统类型
- ABS / ESC:是否标配
- LightingInstallation:灯光配置合规标记
7. 其他附加字段
- NoiseLevel:行驶噪声 dB (A)
- TowBarPermitted:是否允许加装牵引钩
- SpecialRemarks:备注(选装、限制条件)
- DocumentLanguage:报文描述语言(推荐英语 + 成员国本地语言)
8. 签名段(关键,很多对接失败在这里)
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>...</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>QES证书Base64</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
✅ 签名要求:eIDAS Regulation 910/2014 合格电子签名 QES ❌ 不接受:普通高级电子签名 AES、SSL 证书、代码签名证书、企业自签证书
面向车企的 eCoC(IVI2.0)对接 + QES 电子签名合规方案
2.1 整体架构链路
车企MES/整车出厂系统 → IVI报文生成模块(组装XML,按上面字段)
↓
QES签名服务(对完整IVI XML做XML-DSig enveloped签名)
↓
EUCARIS WebService API(HTTPS,TLS双向认证)
↓
EUCARIS中央数据库 → 欧盟各成员国车管所系统(RDW/KBA等)
两个独立证书体系,不要混淆:
- TLS 客户端证书:用于 EUCARIS 接口双向 HTTPS 身份鉴权(EUCARIS 单独申请)
- QES 合格电子签名证书:用于给 IVI/eCoC 报文做法律有效签名(eIDAS QES,本文重点)
2.2 QES 证书选型要求(eCoC 专用)
法规依据:(EU) 2021/133 第 12 条:IVI 报文必须附带符合 eIDAS 的合格电子签名
- 证书类型:Qualified Electronic Signature Certificate(QES)
- 签发 CA:欧盟 eIDAS 可信列表(TL)内的合格信任服务提供商(QTSP),Certum 属于欧盟 TL 内 QTSP,可提供商用 QES
- 签名主体:制造商法人实体 / 经法定授权的自然人
- 不能用第三方代签主体(很多成员国当局会拒)
- 证书主题名称必须和 WVTA 制造商名称匹配
- 载体选项二选一:
- 选项 A:云端 QES(Remote QES,远程合格签名,API 调用,适合系统自动化批量签 VIN 报文,车企自动化 eCoC 首选)
- 选项 B:本地 HSM 硬件密钥(本地 QES 签名密钥,部署在车企内网 HSM,适合高安全要求大厂)
⚠️ 避坑:EV 代码签名、OV 代码签名、SSL 证书都不属于 eIDAS QES,无法用于 eCoC IVI 签名
2.3 签名流程(自动化批量签发,推荐)
- MES 整车下线,VIN 确定,拉取整车 WVTA 参数,组装标准 IVI2.0 XML;
- 标准化校验:XSD schema 校验(EUCARIS 官方 XSD),字段枚举、格式、长度校验;
- 调用远程 QES 签名 API:传入待签 XML,QTSP 平台执行签名(密钥不出平台,符合 eIDAS);
- 返回带
<ds:Signature>节点的已签名 IVI 文档; - 前置校验:本地验签程序校验签名有效性、证书链、证书是否在 TL 可信列表;
- 通过 EUCARIS SOAP/REST 接口推送报文;
- 接收 EUCARIS 回执:成功 / 报错码,落库日志;
- 异常重试机制:签名失败、接口超时、EUCARIS 拒收单独告警;
- 留存:已签名 IVI 文件、签名审计日志,至少保存 10 年(和 CoC 保存期限一致)
2.4 常见 EUCARIS 拒收报错清单(上线前自测)
表格
| 报错原因 | 说明 |
|---|---|
| Schema validation failed | XML 不符合官方 IVI2.0 XSD,字段缺失、枚举值错误 |
| Signature not valid | 签名算法不对、证书过期、证书不在 eIDAS TL 列表 |
| Signature is not a QES | 用了普通 AES 签名、代码签名证书签名 |
| VIN duplicate | 该 VIN 已经推送过 eCoC,重复上送 |
| Manufacturer ID mismatch | 证书主体名称和 WVTA 制造商名称不一致 |
| Missing authorised representative | 非欧盟车企,缺少欧盟授权代表信息 |
2.5 两套验签方案
方案 1:服务端自动验签(生产环境)
- 工具库:Apache Santuario(Java)、xmlsec1(C/C++)、xmlsig(Python/.NET)
- 校验点:
- XMLDSig 签名值校验
- 证书链校验,根证书在欧盟 TL 可信列表
- 证书状态 OCSP 在线吊销检查
- 签名时间在证书有效期内
方案 2:人工验签(调试、审计)
QTSP 一般提供在线验签页面,上传 IVI XML,一键核验是否合法 QES。
2.6 过渡期与业务配套建议(国内出口车企)
- 2026-07-05 ~ 2026-11-29:eCoC 电子报文推送 + 传统纸质 CoC 并行交付给进口商;
- 纸质 CoC 模板参数必须和 IVI XML 字段严格一致,避免 VIN 信息不一致被车管所驳回;
- 非欧盟车企:必须配置欧盟授权代表信息在 IVI 报文内,授权代表信息要和 WVTA 档案一致;
- 小批量 WVTA、国家小批量:不适用 IVI/eCoC,维持原有 CoC 流程;
- 日志审计:每一条 VIN 的 IVI 报文、签名时间、回执结果全链路留痕,欧盟主管机构随时可以审计。
2.7 可选配套物料
- IVI2.0 最小样例 XML(带占位符,可直接对接 XSD 调试)
- EUCARIS 接口调用报文样例(SOAP)
- 远程 QES 集成接口对接文档模板(适配 Certum Remote QES)
- 内部测试验收用的自测 Checklist
<?xml version="1.0" encoding="UTF-8"?>
<IVI xmlns="http://eucaris.eu/schema/ivi/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://eucaris.eu/schema/ivi/2.0 ivi-2.0.xsd">
<IVIVersion>2.0</IVIVersion>
<MessageId>{{UUID-4121-xxxx-xxxx}}</MessageId>
<IssueDateTime>2026-10-25T08:30:00Z</IssueDateTime>
<ManufacturerWVTAIdentifier>{{WVTA-MFR-ID}}</ManufacturerWVTAIdentifier>
<ManufacturerName>{{MANUFACTURER LEGAL NAME}}</ManufacturerName>
<ManufacturerAddress>
<Street>{{Street}}</Street>
<PostalCode>{{PC}}</PostalCode>
<City>{{City}}</City>
<CountryCode>CN</CountryCode>
</ManufacturerAddress>
<AuthorisedRepresentative>
<Name>{{EU REP NAME}}</Name>
<Street>{{REP STREET}}</Street>
<PostalCode>{{REP PC}}</PostalCode>
<City>{{REP CITY}}</City>
<CountryCode>NL</CountryCode>
<Email>{{rep@example.eu}}</Email>
</AuthorisedRepresentative>
<VIN>{{17DIGITVIN}}</VIN>
<VehicleCategory>M1</VehicleCategory>
<TypeApprovalNumber>{{WVTA-NO}}</TypeApprovalNumber>
<Variant>{{VAR}}</Variant>
<Version>{{VER}}</Version>
<ProductionDate>2026-10-20</ProductionDate>
<TypeApprovalIssuingAuthority>RDW</TypeApprovalIssuingAuthority>
<TypeApprovalValidFrom>2024-01-01</TypeApprovalValidFrom>
<TypeApprovalValidTo>2034-01-01</TypeApprovalValidTo>
<VehicleIdentification>
<Make>{{BRAND}}</Make>
<Type>{{TYPE}}</Type>
<CommercialDescription>{{TRADE NAME}}</CommercialDescription>
<BodyType>AA</BodyType>
<NumberOfDoors>5</NumberOfDoors>
<NumberOfSeats>5</NumberOfSeats>
<SteeringPosition>LHD</SteeringPosition>
</VehicleIdentification>
<Powertrain>
<FuelType>BEV</FuelType>
<EngineCode>{{ENGINE/MOTOR CODE}}</EngineCode>
<RatedPower>150</RatedPower>
<BatteryCapacity>75</BatteryCapacity>
<EmissionStandard>ZERO</EmissionStandard>
<CO2WLTP>0</CO2WLTP>
<ElectricRangeWLTP>520</ElectricRangeWLTP>
<OBDSystemPresent>true</OBDSystemPresent>
</Powertrain>
<Masses>
<MassInRunningOrder>1820</MassInRunningOrder>
<TechnicallyPermissibleMaximumMass>2350</TechnicallyPermissibleMaximumMass>
<AxleMass>
<AxleNumber>1</AxleNumber>
<PermissibleMaxMass>1100</PermissibleMaxMass>
</AxleMass>
<AxleMass>
<AxleNumber>2</AxleNumber>
<PermissibleMaxMass>1250</PermissibleMaxMass>
</AxleMass>
<TowingMassBraked>1500</TowingMassBraked>
<TowingMassUnbraked>750</TowingMassUnbraked>
<VerticalLoadAtCoupling>75</VerticalLoadAtCoupling>
</Masses>
<Dimensions>
<WheelBase>2880</WheelBase>
<TrackFront>1580</TrackFront>
<TrackRear>1590</TrackRear>
</Dimensions>
<Tyres>
<ApprovedTyre>
<TyreSize>235/45 R19</TyreSize>
<RimSize>8Jx19</RimSize>
</ApprovedTyre>
</Tyres>
<Safety>
<ABS>true</ABS>
<ESC>true</ESC>
</Safety>
<NoiseLevel>68</NoiseLevel>
<TowBarPermitted>true</TowBarPermitted>
<SpecialRemarks/>
<DocumentLanguage>en</DocumentLanguage>
<!-- 下面是签名节点,由Certum Remote QES服务返回后插入 -->
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>{{DigestValue}}</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>{{SignatureValue}}</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>{{BASE64-QES-CERT}}</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</IVI>
调试提示:
- 先去掉
<ds:Signature>块做 XSD 校验;XSD 校验通过后,再调用远程 QES 追加 Enveloped 签名;- EUCARIS 官方 XSD 需要从 EUCARIS 门户下载,不要网上随便找第三方版本。
文档 2:EUCARIS 接口调用报文样例(SOAP,IVI 提交服务)
接口服务名称:
IVISubmissionService协议:SOAP 1.1,HTTPS,双向 TLS 认证(客户端证书是 EUCARIS 单独签发,和 QES 签名证书相互独立) 沙箱地址:https://sandbox.eucaris.eu/...生产地址 EUCARIS 后台分配
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ivi="http://eucaris.eu/schema/ivi/submission">
<soapenv:Header/>
<soapenv:Body>
<ivi:SubmitIVIRequest>
<ivi:SubmitterId>{{EUCARIS-SUBMITTER-ID}}</ivi:SubmitterId>
<ivi:SubmissionTimestamp>2026-10-25T08:35:00Z</ivi:SubmissionTimestamp>
<ivi:TransactionId>{{TRAN-UUID}}</ivi:TransactionId>
<ivi:IVIDocument>
<!-- 此处内嵌【完整带QES签名的IVI2.0 XML】,CDATA或者直接嵌入,遵循EUCARIS文档要求 -->
<![CDATA[
<IVI xmlns="http://eucaris.eu/schema/ivi/2.0">
... 上面已经签好名的IVI XML ...
</IVI>
]]>
</ivi:IVIDocument>
</ivi:SubmitIVIRequest>
</soapenv:Body>
</soapenv:Envelope>
SOAP 成功回执样例
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<SubmitIVIResponse xmlns="http://eucaris.eu/schema/ivi/submission">
<ResultCode>SUCCESS</ResultCode>
<ResultMessage>IVI accepted, queued for validation</ResultMessage>
<TransactionId>{{TRAN-UUID}}</TransactionId>
<EucarisReferenceId>{{EUCARIS-REF-ID}}</EucarisReferenceId>
</SubmitIVIResponse>
</soapenv:Body>
</soapenv:Envelope>
SOAP 失败回执样例
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<SubmitIVIResponse xmlns="http://eucaris.eu/schema/ivi/submission">
<ResultCode>REJECTED</ResultCode>
<ResultMessage>Signature is not a valid QES according to eIDAS TL</ResultMessage>
<TransactionId>{{TRAN-UUID}}</TransactionId>
<ErrorDetail>
<ErrorCode>SIG_QES_INVALID</ErrorCode>
<ErrorField>IVI/ds:Signature</ErrorField>
</ErrorDetail>
</SubmitIVIResponse>
</soapenv:Body>
</soapenv:Envelope>
调用要点:
- 所有时间字段必须 UTC + ISO8601;
- TransactionId 全局唯一,用于重试幂等;重复提交同一个 TransactionId,EUCARIS 不会重复入库;
- 网络层 TLS 鉴权失败不会走到业务回执,直接 SSL 握手报错。
文档 3:远程 QES 集成接口对接文档模板(适配 Certum Remote QES)
适用场景:车企自动化批量 IVI/eCoC 签名;Certum QTSP,eIDAS TL 可信列表内远程合格签名服务 签名算法:
rsa-sha256,规范化exc-c14n,Enveloped XMLDSig,和 IVI 规范强制对齐
3.1 基础信息
表格
| 项 | 内容 |
|---|---|
| 服务名称 | Certum Remote Qualified Signature API |
| 签名类型 | QES(Qualified Electronic Signature) |
| 签名格式 | XML-DSig Enveloped |
| 适用报文 | IVI 2.0 eCoC XML |
| 鉴权方式 | OAuth2 Client Credentials / API Key + HMAC(按你签约版本) |
| 签名主体 | Manufacturer Legal Entity(必须和 IVI 内 ManufacturerName 严格一致) |
| 证书源 | Certum QTSP,自动上欧盟 TL 列表,OCSP 自动托管 |
| 密钥位置 | 云端 HSM,密钥不出 Certum 平台,满足 eIDAS |
3.2 签名请求接口(POST)
端点(Sandbox):
https://remoteqes-sandbox.certum.eu/api/v1/sign/xml-dsig
生产端点签约后下发
请求头:
Authorization: Bearer {{access_token}}
Content-Type: application/json
请求 Body:
{
"signatureProfile": "QES",
"signAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
"canonicalizationMethod": "http://www.w3.org/2001/10/xml-exc-c14n#",
"signatureType": "enveloped",
"signerId": "{{your-certum-signer-entity-id}}",
"document": "{{BASE64编码后的原始IVI XML(不带Signature节点)}}",
"addSigningTime": true,
"returnCertificate": true
}
3.3 成功响应
{
"status": "ok",
"signedDocument": "{{BASE64编码,已经嵌入ds:Signature的完整IVI}}",
"signatureId": "{{certum-internal-sig-id}}",
"signingTime": "2026-10-25T08:38:00Z",
"signerCertificate": "{{BASE64 QES证书}}",
"ocspResponse": "{{BASE64 OCSP回执,用于本地验签}}"
}
3.4 失败响应
{
"status": "error",
"errorCode": "SIGNER_NOT_AUTHORIZED",
"errorMessage": "Signer entity name mismatch with requested profile"
}
3.5 集成流程代码逻辑伪代码
1. 组装IVI原始XML,XSD校验
2. base64编码IVI
3. 获取Certum OAuth token
4. 调用远程签名API
5. base64解码返回的 signedDocument → 得到带签名完整IVI
6. 本地验签:xmlsec1 / apache santuario
- 校验签名值
- 校验证书链(Certum QTSP根)
- OCSP校验证书未吊销
- 校验证书在欧盟eIDAS TL列表
7. 验签通过 → 封装到SOAP,推EUCARIS
8. 落库:原始IVI、签名后IVI、signatureId、signingTime、EUCARIS回执,保存≥10年
3.6 Certum Remote QES 集成约束(重点)
- 签约时需要提交制造商 WVTA 主体证明、授权代表资料,Certum 审核主体;QES 证书 DN 和 IVI 制造商名称必须匹配;
- 远程 QES 有审计日志,所有签名操作 QTSP 留存,欧盟主管机构可调取;
- 不支持自定义签名算法;只能使用官方支持的 XML-DSig 配置;
- 并发:提前和 Certum 约定 TPS(按你的年产能,比如年产 10 万台就要约定对应并发配额);
- 区分:Certum Remote QES ≠ Certum 代码签名证书、SSL 证书,不能混用。
3.7 异常处理清单
- token 过期:401 → 自动刷新 token
- 签名服务超时:重试(有限次数,避免重复签名)
- 返回签名文档本地验签失败:直接告警,禁止上送 EUCARIS
- OCSP 查询失败:按业务熔断策略,可配置降级告警
文档 4:内部测试验收自测 Checklist(eCoC IVI2.0 上线前)
分为:【报文结构校验】【业务字段校验】【QES 签名校验】【EUCARIS 接口联调校验】【业务流程 & 审计校验】【过渡期业务校验】
✅ 一、报文结构 & XSD 校验(必过)
- IVIVersion 固定等于
2.0 - MessageId 是合法 UUID,每次生成不重复
- IssueDateTime、ProductionDate 格式正确(UTC ISO8601 / YYYY-MM-DD)
- 所有枚举字段:VehicleCategory、FuelType、SteeringPosition、BodyType 在 EUCARIS 枚举列表内
- 必填字段无空值(非欧盟车企 AuthorisedRepresentative 完整)
- XSD 校验无报错(使用 EUCARIS 官方原版 XSD)
- XML 命名空间完全正确,没有多余自定义命名空间污染
✅ 二、业务字段一致性校验(高频驳回点)
- VIN 17 位合法,无大小写问题
- TypeApprovalNumber、Variant、Version 和 WVTA 证书档案一致
- 质量、轴荷、CO₂、续航、功率等参数和纸质 CoC 模板完全一致
- 转向位置 LHD/RHD 和车辆实际一致
- 轮胎数组:至少一组批准轮胎规格
- 制造商名称、欧盟授权代表名称地址,和 WVTA 备案信息一致
- 车辆分类 M/N/O 正确,不要混淆 M1/N1
✅ 三、QES 签名专项校验(最容易踩坑)
- 签名格式:Enveloped XMLDSig exc-c14n,rsa-sha256
- 签名证书:eIDAS QTSP(Certum)QES 证书,不是 AES / 代码签名 / SSL
- 证书 DN 主体名称和 IVI 中 ManufacturerName 匹配
- 本地验签程序校验通过:签名值正确
- OCSP 在线吊销检查通过,证书状态有效
- 证书在欧盟官方 eIDAS Trusted List 可查到 QTSP 记录
- 签名时间在证书有效期内
- 签名节点位置正确,没有破坏 XML 结构
- 签名审计 ID(Certum signatureId)随报文一起入库留存
✅ 四、EUCARIS 接口 & 传输层校验
- 双向 TLS 客户端证书已安装、有效期内,握手正常
- SubmitterId、交易 ID 配置正确
- 幂等机制:同一个 TransactionId 重复提交不会重复生成 VIN 记录
- 沙箱环境测试:成功回执、拒绝回执都能正常解析
- 错误码映射:Schema 错误、签名错误、VIN 重复、主体不匹配都有独立告警
- 超时重试策略:重试次数、间隔可控,防止风暴
- 回执落库:EUCARIS ReferenceId、ResultCode 持久化存储
✅ 五、全链路日志 & 审计合规校验
- 每一条 VIN 链路日志:原始 IVI、签名后 IVI、签名时间、签名服务商日志、EUCARIS 回执
- 日志留存策略 ≥10 年
- 告警机制:签名失败、EUCARIS 拒收、重复 VIN、参数异常推送告警
- 权限管控:签名服务密钥 / Token 不能开放给开发测试环境
- 测试环境和生产环境 QES 签名账号、EUCARIS 客户端证书严格隔离
✅ 六、过渡期配套业务校验(2026-07-05 ~ 2026-11-29)
- IVI 报文参数 和 交付进口商纸质 CoC 参数 100% 对齐
- 纸质 CoC 模板版本同步更新,和 IVI 字段变更同步
- 小批量 WVTA、国家小批量车辆走老 CoC 流程,不会触发 eCoC 推送
- 支持 VIN 维度查询:可导出该 VIN 的 IVI 报文、纸质 CoC 副本
- 内部 SOP 文档:区分哪些车型需要 eCoC,哪些豁免
✅ 七、异常场景专项测试用例
- 同一个 VIN 重复推送 IVI:EUCARIS 返回 VIN duplicate,业务识别告警
- 故意使用 AES 证书签名报文:EUCARIS 返回非 QES 拒绝
- 字段超出枚举值:Schema 校验失败拦截
- 证书过期 / 吊销:验签阶段拦截,禁止上送
- 缺失欧盟授权代表信息:非欧盟车企报文被拒收
- Python / Java 简易验签 Demo(xmlsec1 / Apache Santuario,用来本地校验 Certum 返回的 IVI 签名)
- 纸质 CoC 模板字段映射表(IVI 字段 ↔ CoC 打印字段)
- 量产项目 SOP 文档(MES 对接、下线触发 eCoC、异常工单流程)
目标:本地校验 Certum 返回、带 QES 签名的 IVI 2.0 XML,在推送 EUCARIS 之前拦截无效签名;校验项:签名摘要、证书链、OCSP 吊销状态、QTSP 可信列表标记
A1 Python Demo(xmlsec1,推荐用于后端校验服务)
依赖:xmlsec1 命令行工具 + python subprocess + cryptography(OCSP 校验)
注意:xmlsec Python 绑定稳定性一般,生产常用封装调用 xmlsec1 二进制;下面是可运行封装示例
import subprocess
import base64
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.x509.ocsp import OCSPRequestBuilder
from cryptography.hazmat.primitives.asymmetric import padding
import os
class IVIQesVerifier:
def __init__(self, trust_ca_path: str):
self.trust_ca_path = trust_ca_path # Certum QTSP根证书PEM
def verify_xml_dsig(self, ivi_signed_xml_path: str) -> bool:
"""xmlsec1 校验 enveloped XMLDSig"""
cmd = [
"xmlsec1",
"--verify",
"--trusted-pem", self.trust_ca_path,
"--id-attr:Id", "http://www.w3.org/2000/09/xmldsig#",
ivi_signed_xml_path
]
ret = subprocess.run(cmd, capture_output=True, text=True)
if ret.returncode != 0:
print(f"签名校验失败:{ret.stderr}")
return False
print("xmlsec1 签名摘要校验通过")
return True
def check_ocsp_revocation(self, cert_pem: str, issuer_pem: str):
"""OCSP校验证书吊销状态(Certum QES支持OCSP)"""
cert = x509.load_pem_x509_certificate(cert_pem.encode(), default_backend())
issuer = x509.load_pem_x509_certificate(issuer_pem.encode(), default_backend())
ocsp_url = cert.extensions.get_extension_for_class(x509.AuthorityInformationAccess).value[0].access_location
builder = OCSPRequestBuilder()
builder = builder.add_certificate(cert, issuer, hashes.SHA256())
req = builder.build()
# 此处可增加HTTP请求向Certum OCSP服务查询状态
# 生产需实现OCSP Client,返回 GOOD / REVOKED / UNKNOWN
return True
if __name__ == "__main__":
verifier = IVIQesVerifier(trust_ca_path="./certum_qes_root.pem")
ok = verifier.verify_xml_dsig("./signed_ivi.xml")
if ok:
print("✅ IVI QES本地校验通过,可以提交EUCARIS")
else:
print("❌ 校验失败,禁止推送")
部署要点:
- 安装:
apt install xmlsec1/yum install xmlsec1;Windows 用 xmlsec1 二进制包- 提前下载 Certum QTSP 根证书(TL 列表内)
- 校验顺序:先 XMLDSig 摘要校验 → 证书链校验 → OCSP 吊销校验 → 校验证书 DN 与制造商名称匹配
A2 Java Demo(Apache Santuario,企业 MES/Java 中台首选)
Maven 依赖
<dependencies>
<dependency>
<groupId>org.apache.santuario</groupId>
<artifactId>xmlsec</artifactId>
<version>3.0.3</version>
</dependency>
</dependencies>
Java 核心验签代码
import org.apache.xml.security.Init;
import org.apache.xml.security.signature.XMLSignature;
import org.apache.xml.security.transforms.Transforms;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.FileInputStream;
public class IviSignatureVerifier {
static {
Init.init();
}
public static boolean verifyIviSignature(String xmlPath) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
Document doc = dbf.newDocumentBuilder().parse(new FileInputStream(xmlPath));
// 定位Signature节点
org.w3c.dom.Node sigNode = doc.getElementsByTagNameNS("http://www.w3.org/2000/09/xmldsig#", "Signature").item(0);
XMLSignature sig = new XMLSignature((org.w3c.dom.Element) sigNode, "");
// 信任管理器:加载Certum QTSP根证书库
boolean valid = sig.checkSignatureValue(sig.getKeyInfo().getX509Certificate());
if (!valid) {
System.err.println("签名值校验不通过");
return false;
}
// 额外:证书链校验、OCSP校验、证书DN比对ManufacturerName
System.out.println("✅ Santuario XMLDSig校验成功");
return true;
}
public static void main(String[] args) throws Exception {
verifyIviSignature("./signed_ivi.xml");
}
}
Java 坑点:Santuario 默认安全限制,需要开启 exc-c14n 规范化支持;不要混用 JDK 自带 xml 签名工具。
文档 B:纸质 CoC 模板字段映射表(IVI 字段 ↔ CoC 打印字段)
用途:保证过渡期(2026-07-05 ~ 2026-11-29)纸质 CoC 和 IVI/eCoC 参数完全一致,避免 VIN 双源数据不一致被成员国车管所驳回;纸质 CoC 面向进口商 / 清关商 / 车主;IVI 是推送 EUCARIS 电子源数据
表格
| 纸质 CoC 显示字段 | IVI 2.0 XML 节点路径 | 备注 |
|---|---|---|
| CoC 编号 | MessageId(内部关联号,CoC 上可打印) | CoC 自有流水号可单独保留 |
| VIN / 车辆识别号 | IVI/VIN | 主键,必须完全一致 |
| 制造商名称 | IVI/ManufacturerName | 必须和 QES 证书 DN 主体匹配 |
| 制造商地址 | IVI/ManufacturerAddress | |
| 欧盟授权代表 | IVI/AuthorisedRepresentative | 非欧盟车企必填 |
| WVTA 型式批准号 | IVI/TypeApprovalNumber | |
| Variant / Version | IVI/Variant, IVI/Version | WVTA 变体版本 |
| 发证机构 | IVI/TypeApprovalIssuingAuthority | RDW/KBA 等 |
| 车型品牌 | IVI/VehicleIdentification/Make | |
| 型号 Type | IVI/VehicleIdentification/Type | |
| 商用名称 | IVI/VehicleIdentification/CommercialDescription | 销售名称 |
| 车身类型 | IVI/VehicleIdentification/BodyType | 编码对应 CoC 文字描述 |
| 车门数 | IVI/VehicleIdentification/NumberOfDoors | |
| 座位数 | IVI/VehicleIdentification/NumberOfSeats | |
| 转向位置 | IVI/VehicleIdentification/SteeringPosition | LHD/RHD |
| 燃料类型 | IVI/Powertrain/FuelType | BEV/PHEV/GASOLINE 等 |
| 发动机 / 电机代码 | IVI/Powertrain/EngineCode | |
| 额定功率 | IVI/Powertrain/RatedPower | kW |
| 电池容量 | IVI/Powertrain/BatteryCapacity | kWh(新能源) |
| 排放等级 | IVI/Powertrain/EmissionStandard | Euro6d / ZERO |
| WLTP CO₂ | IVI/Powertrain/CO2WLTP | g/km |
| WLTP 电耗 / 油耗 | IVI/Powertrain/ConsumptionWLTP | |
| WLTP 纯电续航 | IVI/Powertrain/ElectricRangeWLTP | km |
| OBD | IVI/Powertrain/OBDSystemPresent | Yes / No |
| 整备质量 | IVI/Masses/MassInRunningOrder | kg |
| 技术允许最大总质量 | IVI/Masses/TechnicallyPermissibleMaximumMass | kg |
| 各轴最大允许载荷 | IVI/Masses/AxleMass/PermissibleMaxMass | 分轴打印 |
| 允许牵引有制动挂车 | IVI/Masses/TowingMassBraked | kg |
| 允许牵引无制动挂车 | IVI/Masses/TowingMassUnbraked | kg |
| 牵引钩垂直载荷 | IVI/Masses/VerticalLoadAtCoupling | kg |
| 轴距 | IVI/Dimensions/WheelBase | mm |
| 前轮距、后轮距 | IVI/Dimensions/TrackFront / TrackRear | mm |
| 批准轮胎 & 轮辋 | IVI/Tyres/ApprovedTyre | 多组可选轮胎全部打印 |
| ABS、ESC | IVI/Safety/ABS、ESC | Yes / No |
| 行驶噪声 | IVI/NoiseLevel | dB(A) |
| 是否允许牵引钩 | IVI/TowBarPermitted | Yes / No |
| 备注 | IVI/SpecialRemarks | 选装、限制条件 |
| 车辆生产日期 | IVI/ProductionDate | |
| CoC 签发日期 | IVI/IssueDateTime(UTC 转本地) |
强制对齐规则
- 所有数值(质量、功率、CO₂、尺寸)单位、精度统一;不能 IVI 保留 1 位小数,纸质 CoC 取整;
- 枚举文字翻译统一:
LHD纸质统一打印 Left-hand drive; - 如果 WVTA 变更 Variant/Version,IVI 和纸质模板同步发布版本;
- 纸质 CoC 上不打印 QES 签名信息、Certum 签名 ID、EUCARIS ReferenceId;这些只在后端系统留存;
- 纸质 CoC 盖章:制造商盖章;IVI 依靠电子 QES 签名,二者法律地位在过渡期并行有效。
文档 C:量产项目 SOP 文档(MES 对接、下线触发 eCoC、异常工单流程)
C1 适用范围
适用:M1/M2/N1/N2/O 类,WVTA 大批量型式批准车辆,生产日期 ≥2026-07-05; 排除:小批量 WVTA、国家单独小批量、特种豁免车辆、二手车;豁免车辆走传统 CoC 流程,不触发 eCoC 推送。
C2 系统架构与角色
- MES:整车制造执行系统,VIN 建档、下线报工、WVTA 参数采集源
- IVI 服务(自研):IVI XML 组装、XSD 校验、调用 Certum Remote QES 签名、本地验签、EUCARIS SOAP 推送、回执管理
- 文件服务:纸质 CoC PDF 生成、存档、导出下载
- 告警工单系统:企业微信 / 邮件 / ERP 工单
- 存储:关系库(业务日志)+ 对象存储(原始 IVI、签名 IVI、纸质 CoC PDF,保存≥10 年)
- 外部依赖:Certum Remote QES API、EUCARIS SOAP 服务(双向 TLS 客户端证书)
C3 标准主流程(整车下线触发)
- VIN 下线事件触发(MES)
整车终检合格、VIN 锁定,MES 推送【VIN+WVTA 编号 + Variant+Version + 整车实测参数】到 IVI 服务;状态标记:
PENDING_IVI_BUILD - IVI 报文组装 & XSD 静态校验
IVI 服务根据 WVTA 档案拉取基准参数,合并该车选装参数,组装 IVI 2.0 XML;执行 EUCARIS 官方 XSD 校验;
- 校验失败 → 状态:
SCHEMA_ERROR,触发工单,停流程; - 校验通过 →
PENDING_SIGN
- 校验失败 → 状态:
- 调用 Certum Remote QES 远程签名
去掉 Signature 节点的原始 IVI Base64 上送 Certum Sandbox / 生产 API;
拿到返回带 Enveloped XMLDSig 签名的完整 IVI;取出签名证书、OCSP 回执;
- 签名接口超时 / 返回错误:
SIGN_ERROR,告警工单,有限重试(最多 3 次,间隔 60s);重试失败锁定工单;
- 签名接口超时 / 返回错误:
- 本地验签关卡(强卡点,不可跳过)
调用 xmlsec1/Santuario 验签:签名摘要、证书链、OCSP 吊销、证书 DN 匹配制造商名称;
- 验签不通过:
LOCAL_VERIFY_FAIL,禁止推送 EUCARIS,工单; - 验签通过:
PENDING_SUBMIT
- 验签不通过:
- 封装 SOAP 报文推送到 EUCARIS
使用 EUCARIS 分配的 SubmitterId、全局唯一 TransactionId(幂等键),双向 TLS 发起 SOAP 请求;
- 网络超时:重试(最多 2 次);
- 收到 EUCARIS 回执 SUCCESS:状态
EUCARIS_ACCEPTED,保存 EUCARIS ReferenceId; - 回执 REJECTED:状态
EUCARIS_REJECTED,记录错误码 ErrorDetail,生成工单;
- 同步生成纸质 CoC PDF 使用【字段映射表】渲染纸质 CoC,参数与 IVI 完全同源; 交付链路:进口商可在经销商 Portal 下载 CoC PDF;
- 全链路归档 入库:VIN、MessageId、TransactionId、Certum signatureId、EUCARIS ReferenceId、原始 IVI、签名 IVI、CoC PDF、所有时间戳;留存 ≥10 年;
C4 异常工单分类与处理 SOP
表格
| 工单类型 | 状态码 | 负责人 | 处理规则 |
|---|---|---|---|
| XSD Schema 校验失败 | SCHEMA_ERROR | 开发 /homologation | 字段枚举错误、必填缺失;核对 WVTA 基准参数 |
| Certum 签名服务报错 | SIGN_ERROR | 运维 + SSLDUN 对接支持 | Token 过期、Signer 主体权限、QES 配额不足 |
| 本地验签失败 | LOCAL_VERIFY_FAIL | 开发 | 签名报文损坏、证书吊销、证书主体不匹配 |
| EUCARIS 业务拒收 | EUCARIS_REJECTED | homologation+EUCARIS 对接 | VIN 重复、制造商 ID 不匹配、授权代表缺失 |
| TLS 握手失败 | TLS_FAILURE | 运维 | EUCARIS 客户端证书过期、证书链问题 |
幂等规则:同一个 TransactionId 不允许重复生成新 IVI;如果 EUCARIS 回执丢失,只允许查询回执,禁止重推。
C5 定期运维与巡检 SOP
- 每日巡检:查看前一日
SIGN_ERROR / EUCARIS_REJECTED工单清零; - 证书巡检(两个体系分开):
- Certum QES 签名证书有效期;
- EUCARIS TLS 客户端双向认证证书有效期;
- TL 列表同步:定期校验 Certum QTSP 是否在 eIDAS 可信列表;
- 压测:新车型 WVTA 上线前,EUCARIS 沙箱批量 VIN 压测;
- 权限管控:生产环境 Certum OAuth Token、HSM 密钥、EUCARIS 客户端证书,禁止开发人员直接获取;
C6 过渡期业务 SOP(至 2026-11-29)
- 出口随车文件:纸质 CoC 正常交付;后台自动同步推送 eCoC IVI;
- 进口商上牌:优先 EUCARIS 系统 VIN 核验 eCoC;车管所仍接受纸质 CoC;
- 客户补 CoC 副本申请:走原有纸质 CoC 副本流程(出厂 10 年内可申请),补副本不会重新推送 eCoC;eCoC 只在整车下线一次性推送;
- 2026-11-29 之后:政策切换,以 eCoC 电子核验为主,纸质仅作为车主索取副本。
C7 上线放行标准(和前面 Checklist 联动)
全部自测项通过 + 沙箱连续 100 条模拟 VIN 全链路跑通(签名→验签→EUCARIS 沙箱接收成功),才允许开放生产 VIN 推送。
可选追加交付清单如果你还要继续深化,我可以再产出:
- 量产告警模板(企业微信 / 邮件告警模板,带字段占位符)
- homologation 对外 FAQ(给进口商、海外客户解释 eCoC、CoC 区别)
- Certum Remote QES 高可用部署方案(多租户、多 Signer、负载限流)
用途:IVI 服务全链路异常自动推送,区分【研发运维告警】【 homologation 合规告警】【业务紧急告警】;分 3 种格式:企业微信 Markdown 卡片、纯文本邮件、告警工单摘要(可直接送入 ITSM)
1.1 企业微信 Markdown 告警卡片(推荐,实时推送运维群)
模板 A:Schema 校验失败(SCHEMA_ERROR)
# 🚨【eCoC-IVI 报文校验失败】
> 告警级别:P2
> 告警时间:{{alert_utc_time}} UTC
> VIN:{{vin}}
> 消息ID(MessageId):{{message_id}}
> WVTA编号:{{wvtano}} | Variant:{{variant}} Version:{{version}}
> 故障阶段:IVI组装 + XSD校验
> 错误摘要:{{error_short_msg}}
> 详细错误栈:
```{{error_detail}}```
> 关联工单ID:{{ticket_id}}
> 影响:该VIN无法进入签名流程,无法推送EUCARIS,会阻塞出口交付
> 处理人: homologation + 后端开发
> 建议动作:核对WVTA基准参数、枚举值、必填字段,对照EUCARIS官方XSD
> 链接:【VIN详情页】{{vin_detail_url}} | 【工单链接】{{ticket_url}}
模板 B:Certum QES 签名服务异常(SIGN_ERROR)
# 🚨【eCoC-QES签名服务异常】
> 告警级别:P2(连续3次失败升级P1)
> 告警时间:{{alert_utc_time}} UTC
> VIN:{{vin}}
> MessageId:{{message_id}}
> Certum SignerId:{{signer_id}}
> 故障阶段:远程QES签名调用
> 返回错误码:{{certum_error_code}}
> 返回信息:{{certum_error_msg}}
> 当前重试次数:{{retry_count}} / 最大{{max_retry}}
> 关联工单ID:{{ticket_id}}
> 影响:无法生成合法QES签名,IVI不能上送EUCARIS
> 处理人:运维 + SSLDUN对接支持
> 建议动作:检查OAuth Token有效期、QES配额、Signer主体权限、网络连通性
> 链接:【VIN详情页】{{vin_detail_url}} | 【Certum服务监控】{{monitor_url}}
模板 C:本地验签失败(LOCAL_VERIFY_FAIL,强阻断)
# 🔴【eCoC本地验签拦截告警】
> 告警级别:P1(高危,禁止推送EUCARIS)
> 告警时间:{{alert_utc_time}} UTC
> VIN:{{vin}}
> MessageId:{{message_id}}
> Certum SignatureId:{{certum_sig_id}}
> 故障阶段:签名返回后本地验签关卡
> 失败类型:{{verify_type}}(摘要不匹配/证书链失效/OCSP吊销/DN主体不匹配)
> 错误详情:
```{{verify_detail}}```
> 关联工单ID:{{ticket_id}}
> 影响:报文签名法律无效,一旦推送会被EUCARIS直接拒收,存在合规风险
> 处理人:后端开发 + 安全
> 建议动作:禁止重推;核对返回的签名报文、QES证书DN、TL列表状态
> 链接:【VIN详情页】{{vin_detail_url}}
模板 D:EUCARIS 回执拒绝(EUCARIS_REJECTED)
# 🚨【eCoC EUCARIS回执拒收告警】
> 告警级别:P2
> 告警时间:{{alert_utc_time}} UTC
> VIN:{{vin}}
> MessageId:{{message_id}}
> TransactionId:{{tran_id}}
> EUCARIS ReferenceId:{{eucaris_ref_id}}
> EUCARIS错误码:{{eucaris_err_code}}
> 错误描述:{{eucaris_err_msg}}
> 错误字段:{{error_field}}
> 关联工单ID:{{ticket_id}}
> 常见根因:VIN重复、制造商WVTA ID不匹配、授权代表信息缺失、QES无效
> 处理人: homologation工程师
> 链接:【VIN详情页】{{vin_detail_url}}
模板 E:证书到期巡检预警(周期性巡检,P3)
# ⚠️【eCoC证书到期预警】
> 告警级别:P3
> 告警时间:{{alert_utc_time}} UTC
> 证书类型: ▢ Certum Remote QES签名证书 ▢ EUCARIS双向TLS客户端证书
> 证书DN:{{cert_dn}}
> 序列号:{{cert_serial}}
> 到期时间:{{expire_utc_time}}
> 剩余天数:{{remain_days}}
> 建议动作:提前走续期流程,避免量产中断
> 对接渠道:SSLDUN
1.2 邮件告警模板(正式留痕,抄送 homologation 负责人)
主题模板:【eCoC 告警 -{{level}}-{{error_type}}】VIN:{{vin}}
尊敬的各位同事:
系统监测到eCoC(IVI2.0)流程异常,详情如下:
告警级别:{{level}}
告警发生时间(UTC):{{alert_utc_time}}
VIN:{{vin}}
MessageId:{{message_id}}
TransactionId:{{tran_id}}
WVTA批准号:{{wvtano}}
故障类型:{{error_type}}
错误摘要:{{error_short_msg}}
详细日志:
{{error_detail}}
业务影响说明:
{{impact_desc}}
推荐处理步骤:
{{suggest_action}}
工单编号:{{ticket_id}}
工单地址:{{ticket_url}}
VIN业务详情:{{vin_detail_url}}
--------------------------
eCoC IVI自动化服务
本邮件为系统自动发送,请勿直接回复
1.3 ITSM 工单摘要模板(自动写入工单系统)
服务类别:欧盟eCoC-IVI自动化
故障级别:{{level}}
标题:{{error_type}} | VIN {{vin}}
描述:{{error_short_msg}}
详细信息:{{error_detail}}
关联ID:MessageId={{message_id}}, TranId={{tran_id}}
业务影响:{{impact_desc}}
所需资源:{{need_resource}}
文档 2:Homologation 对外 FAQ(给进口商、海外客户、经销商解释 eCoC/CoC)
使用场景:发给欧洲进口商、清关代理、经销商;用于邮件、官网文档、客户培训;语言以英文为主,附带中文注释;兼顾过渡期(2026.07.05–2026.11.29)说明
FAQ(中英对照版)
Q1:What is eCoC / IVI? What is the difference between eCoC and traditional CoC?
A(EN) eCoC stands for Electronic Certificate of Conformity, also known as IVI (Initial Vehicle Information), defined under EU WVTA regulation (EU) 2018/858 and implementing rules (EU) 2021/133, (EU) 2024/1061.
- IVI / eCoC: machine-readable XML data packet with eIDAS QES qualified electronic signature, pushed automatically by manufacturer to EUCARIS central database for member state authority lookup. It is NOT a PDF document you can download.
- Paper CoC: human-readable certificate issued to importer/buyer, used for registration; you can apply for copies within 10 years after vehicle production. During transition period 05.07.2026 – 29.11.2026, both are valid in parallel.
中文释义 eCoC 即电子符合性证书,又称 IVI 初始车辆信息,属于 WVTA 法规体系;eCoC 是带 eIDAS QES 合格电子签名、推送给 EUCARIS 的结构化 XML 报文,不是可供下载的 PDF;纸质 CoC 是给到进口商、车主的可读证书,车辆出厂 10 年内可申请副本;过渡期二者并行有效。
Q2:When will eCoC be mandatory? Which vehicles apply?
A(EN) Mandatory IVI generation & submission starts from 05.07.2026. After 29.11.2026, member states will rely primarily on eCoC electronic data check. Applicable: M1/M2/M3, N1/N2/N3, O1-O4 mass-produced WVTA vehicles. Excluded: small-series WVTA, national small-series, special exempt vehicles, used cars and vehicles manufactured before 05.07.2026 (they remain paper-CoC only).
中文释义 2026-07-05 起车企必须生成并上送 eCoC;2026-11-29 之后成员国以电子 eCoC 核验为主;适用于大批量 WVTA M/N/O 类车辆;小批量、国家小批量、豁免特种车、二手车、2026-07-05 前出厂车辆不适用 eCoC,沿用纸质 CoC。
Q3:Can I download or buy eCoC from manufacturer or agent?
A(EN) No. eCoC/IVI is an automated data submission from manufacturer to EUCARIS. Importers or customers cannot separately download, purchase or apply for an eCoC file. If you need a conformity document for your records, you apply for a paper CoC copy.
中文释义 不能。eCoC 是车企后台自动推送至 EUCARIS 的电子数据,进口商 / 客户无法单独下载、购买 eCoC 文件;如需留存证书文件,申请纸质 CoC 副本。
Q4:Do I still receive a paper CoC during transition? Will paper CoC disappear after 29.11.2026?
A(EN) Yes, you still receive paper CoC in transition. Even after 29.11.2026, EU law preserves your right to request a paper CoC copy within 10 years of production. Paper CoC will only become secondary, not abolished.
中文释义 过渡期照常提供纸质 CoC;2026-11-29 之后法规仍然保障客户在车辆出厂 10 年内申请纸质 CoC 副本的权利,纸质 CoC 不会被取消,只是从主核验材料降为备用。
Q5:How do authorities check my vehicle with eCoC?
A(EN) The authority enters the VIN in the EUCARIS system. If valid signed IVI record exists, the conformity check passes automatically. Paper CoC can still be used as fallback evidence when the electronic channel has temporary issues.
中文释义 车管所通过 VIN 在 EUCARIS 系统查询已上送、带合法 QES 签名的 IVI 记录,自动完成符合性核验;电子链路故障时,纸质 CoC 仍可作为备用证明。
Q6:What is QES signature? Why is it required for eCoC?
A(EN) QES = Qualified Electronic Signature under eIDAS 910/2014. It has equal legal standing as handwritten signature in EU. EUCARIS rejects IVI without valid QES from an EU QTSP (Certum is one QTSP listed on EU Trusted List). Normal SSL or code-signing certificates are NOT acceptable.
中文释义 QES 是 eIDAS 法规下合格电子签名,在欧盟具备和手写签名同等法律效力;EUCARIS 只接受欧盟 TL 列表内 QTSP 签发的 QES;普通 SSL、代码签名证书不能用于 eCoC 签名。
Q7:If registration fails, is it because the eCoC is missing?
A(EN) Possible root causes:
- Vehicle belongs to exempt scope (small-series etc.)
- IVI rejected by EUCARIS (signature invalid, data mismatch, duplicate VIN)
- The record has not yet been synchronised to your member state registry (sync delay) Please contact your homologation support and provide VIN for investigation.
中文释义 上牌核验失败可能原因:车辆属于豁免范围、IVI 报文被 EUCARIS 拒收(签名无效、参数不一致、VIN 重复)、EUCARIS 向成员国本地库同步存在延迟;请提供 VIN 给到 homologation 团队排查。
Q8:What information is stored inside eCoC IVI?
A(EN) Same dataset as paper CoC: VIN, type approval number, mass, dimension, CO₂ WLTP, tyre specification, seating, powertrain data etc. The data must be identical between IVI and paper CoC.
中文释义 IVI 内字段和纸质 CoC 一一对应:VIN、WVTA 号、质量、尺寸、WLTP CO₂、轮胎、座位、动力参数等,系统强制保证两份数据源一致。
Q9:What do I need to change in my import & registration process?
A(EN) In transition period: your process stays unchanged, you still receive CoC documents. Long term: most member states will prioritise VIN online lookup; keep your VIN available for authority query. No extra document you need to submit.
中文释义 过渡期:进口、上牌流程不变,照常接收 CoC;长期来看,多数成员国优先 VIN 线上核验,客户无需额外提交新文件。
Q10:Can one VIN be pushed multiple times to EUCARIS?
A(EN) No. One VIN only gets one IVI submission at vehicle end-of-line. Re-submission for same VIN will be rejected as duplicate. If data correction is required, follow EUCARIS official correction procedure.
中文释义 一台 VIN 仅在整车下线时一次性推送一次 IVI;重复提交会判定 VIN 重复而拒收;如需修正参数,走 EUCARIS 官方更正流程。
FAQ 使用建议
- 对外优先发放英文版本;
- 可以单独抽取做成 PDF 附件放在给进口商的交付包内;
- 禁止在 FAQ 中承诺 “eCoC 可以单独导出发给客户”。
文档 3:Certum Remote QES 高可用部署方案(多租户、多 Signer、负载限流)
面向年产规模大、多品牌、多 WVTA 制造商主体的车企;核心目标:避免单点故障、配额隔离、主体隔离、限流防击穿、审计可追溯;适配 Certum Remote QES API + SSLDUN 服务支撑。
3.1 业务背景与风险点
- 风险 1:单 Signer 账号绑定单一法人主体;不能跨制造商主体混用 Signer(证书 DN 和 IVI 制造商名称必须匹配,混用直接被 EUCARIS 拒收)
- 风险 2:高峰期下线并发(比如产线集中下线)压垮 Certum API,触发限流、5xx、签名超时
- 风险 3:Token 单点失效、账号冻结、配额耗尽,导致整条产线 eCoC 流程中断
- 风险 4:不同品牌 / 不同工厂日志、审计、配额无法隔离,出问题难以定位
术语说明:Signer = Certum 后台配置的签名主体,一个法人实体对应一个独立 SignerId,绑定一张 QES 证书。
3.2 架构设计:多 Signer 分组 + 流量路由
【IVI业务服务集群】
↓ 按ManufacturerName / WVTA主体路由
【签名网关(自研,独立中间层)】
├─ Group A:SignerId MFR-A(品牌A,工厂1)
├─ Group B:SignerId MFR-B(品牌B,工厂2)
└─ Group C:SignerId MFR-C(品牌C,海外子公司)
↓
Certum Remote QES API(生产/沙箱分开)
路由规则(强制)
- 路由键:IVI 报文内
ManufacturerName(和 QES 证书 DN 强绑定) - 一个 ManufacturerName 固定映射唯一 SignerId,禁止自动负载均衡跨 Signer 分发
重要:Signer 隔离≠负载均衡;同一个主体内部,可以做多 Token / 多应用凭证做高可用
3.3 单主体内部高可用(同一制造商,多凭证池)
同一法人制造商,在 Certum 侧申请多套 OAuth 应用凭证(ClientID+Secret),绑定同一个 SignerId:
- 签名网关维护凭证池,每个凭证独立获取 AccessToken
- 轮询策略:空闲优先,自动剔除 token 失效、被限流的凭证
- 配额拆分:和 Certum 签约时,把该主体总 TPS 配额分配给多个凭证,分散限流风险
- 熔断:单凭证连续 N 次失败,自动移出凭证池,进入冷却窗口(比如 5min)
签约沟通时通过 SSLDUN 向 Certum 申请:同一 Signer 允许多个 OAuth 应用接入。
3.4 限流、熔断、降级策略(网关层实现)
3.4.1 分层限流
- 全局总限流:不超过和 Certum 签约的 TPS 上限
- 按 Signer 分组限流:每个法人主体配额独立,防止一个品牌流量打爆全部配额
- 单凭证限流:Certum 侧每个 Client 有独立配额上限
3.4.2 熔断规则
- 连续
N次返回 429(Too Many Requests)、5xx:触发该凭证熔断,冷却窗口 - 401/403:直接标记凭证失效,触发告警,不重试
- 签名业务错误(如主体不匹配 SIGNER_NOT_AUTHORIZED):不熔断,直接返回业务失败,进入工单,不重复重试
3.4.3 降级策略(eCoC 场景降级方案,谨慎开启)
eCoC 属于合规强流程,不允许 “跳过签名”;降级仅做排队缓冲:
- 流量超过配额上限 → 进入网关本地消息队列(Redis 延迟队列),按配额限速排队,产线侧状态标记
PENDING_SIGN_QUEUED - 队列设置最大长度;队列溢出触发 P1 告警,通知 homologation、产线、SSLDUN 支撑
❌ 禁止方案:自动切换其他 Signer 代签(主体不匹配,EUCARIS 拒收)
3.5 多租户隔离方案(集团多子公司、多法人)
- 每个法人制造商单独申请 Certum Signer,独立 QES 证书、独立配额、独立 OAuth 凭证组
- 网关层按 ManufacturerName 做租户隔离:日志、监控、告警、账单、配额统计分开
- 审计日志打上租户标签(ManufacturerWVTAIdentifier、SignerId)
- 权限隔离:不同工厂运维人员只能查看本租户签名日志,不能访问其他 Signer 配置
3.6 监控指标清单(对接 Prometheus/Grafana)
- 按 Signer 分组:签名请求量、成功量、失败量、429 次数、平均耗时
- 凭证池指标:token 有效状态、剩余配额(Certum 可返回配额头时采集)
- 时延指标:Certum API 调用 RT、本地验签 RT
- 业务指标:等待排队队列长度、待签名 VIN 数量
- 证书指标:每个 Signer 绑定 QES 证书剩余有效期
3.7 灾备 & 故障切换流程
场景 1:单个 OAuth 凭证 token 失效
- 网关自动切同 Signer 下其他可用凭证;同时推送证书 / 凭证告警,运维刷新 token
场景 2:整个 Signer 对应的 Certum 服务大面积不可用
- 队列缓冲,持续重试;触发 P1 告警,联系 SSLDUN 对接 Certum QTSP 支持
- 产线侧不阻断 MES 下线,VIN 先落库排队,待签名恢复后自动补签推送
⚠️ 不支持备用 Signer 切换,主体无法替换
场景 3:QES 证书即将到期
- 提前 45 天启动续期流程;Certum 签发新证书后,在网关灰度切换,新旧证书并行一段时间(兼容存量报文验签),旧证书到期前下线
3.8 审计与账单配套
- 每一笔签名记录:VIN、MessageId、SignerId、OAuth ClientId、Certum signatureId、签名时间、签名证书序列号,持久存储≥10 年
- 账单按 Signer / 租户维度统计,便于集团内部分账
- 审计导出:支持按时间范围、ManufacturerName 导出签名日志,提供给欧盟主管机构核查
3.9 安全管控要点
- OAuth Client Secret、token 禁止出签名网关;网关对外只暴露内部服务接口,不对外网开放
- 签名网关与 Certum API 之间走公网 HTTPS;生产环境仅白名单出口 IP(向 Certum 报备出口 IP)
- 禁止开发环境复用生产 Signer;沙箱 Signer 和生产 Signer 严格隔离
- 密钥逻辑:Remote QES 密钥保存在 Certum HSM,我方系统不持有签名私钥,符合 eIDAS 要求

