前 言
本标准按照 GB/T 1.1—2020《标准化工作导则第 1 部分:标准化文件的结构和起草规则》的规定起草。
请注意本标准的某些内容可能涉及专利。本标准的发布机构不承担识别专利的责任。本标准由 xxx 提出并归口。
本标准起草单位:xxx、xxx、xxxx。本标准主要起草人:xxx、xxx。
1.范围
本标准规定了身份认证服务的认证服务提供者接入身份认证服务,提供数字证书认证及电子证照认证服务所应遵守的接口标准。
本标准适用于认证服务机构接入身份认证服务来提供数字证书服务、电子证照服务,认证服务机构包括:证书认证机构、电子证照认证机构。
2.规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本标准必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本标准;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本标准。
GB/T 33560-2017 信息安全技术 密码应用标识规范
GB/T 25064-2010 信息安全技术 公钥基础设施 电子签名格式规范
GB/T 19713-2005 信息技术 安全技术 公钥基础设施 在线证书状态协议
GB/T 19714-2005 信息技术 安全技术 公钥基础设施 证书管理协议
GB/T 25056-2018 信息安全技术证书认证系统密码及其相关安全技术规范
GB/T 20520-2006 信息安全技术 公钥基础设施 时间戳规范
GB/T 35285-2017 信息安全技术 公钥基础设施 基于数字证书的可靠电子签名生成及验证技术要求
GB/T 20518-2018 信息安全技术 公钥基础设施 数字证书格式
GB/T 32905-2016 信息安全技术 SM3 密码杂凑算法
GB/T 35275-2017 信息安全技术 SM2 密码算法加密签名消息语法规范
GB/T 35276-2017 信息安全技术 SM2 密码算法使用规范
GB/T 38540-2020 信息安全技术 安全电子签章密码技术规范
GB/Z 21716.1-2008 健康信息学 公钥基础设施(PKI) 第 1 部分:数字证书服务综述
GB/Z 21716.2-2008 健康信息学 公钥基础设施(PKI) 第 2 部分:证书轮廓
GB/Z 21716.3-2008 健康信息学 公钥基础设施(PKI) 第 3 部分:认证机构的策略管理
GM/Z0001-2013 密码术语
GB/T 36901-2018 电子证照 总体技术架构
GB/T 36902-2018 电子证照 目录信息规范
GB/T 36903-2018 电子证照 元数据规范
GB/T 36904-2018 电子证照 标识规范
GB/T 36905-2018 电子证照 文件技术要求
GB/T 36906-2018 电子证照 共享服务接口规范
《卫生系统电子认证服务规范(试行)》
《卫生系统数字证书应用集成规范(试行)》
《卫生系统数字证书格式规范(试行)》
3.术语和定义
下列术语和定义适用于本标准。
3.1数字证书 digital certificate
也称公钥证书,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。按类别可分为个人证书、机构证书和设备证书,按用途可分为签名证书和加密证书。
[来源:GB/T 25056—2018]
3.2证书认证机构 certification authority (CA)
对数字证书进行全生命周期管理的实体。也称为电子认证服务机构。
[来源:GB/T 25056—2018]
3.3数字签名 digital signature
签名者使用私钥对待签名数据的杂凑值做密码运算得到的结果,该结果只能用签名者的公钥进行验证,用于确认待签名数据的完整性、签名者身份的真实性和签名行为的抗抵赖性。
[来源:GM/Z 0001-2013]
3.4证书验证 certificate validation
按照验证策略确认证书有效性和真实性的过程。
[来源:GM/Z 0001-2013]
3.5证书撤销列表 certificate revocation list (CRL)
由证书认证机构(CA)签发并发布的被撤销证书的列表。
[来源:GM/Z 0001-2013]
3.6证照 certificate
由机关、团体、企事业单位颁发的、能够证明资格或权利等的凭证类文件。注:证照包括证件和执照等。
[来源:GB/T 36901-2018]
3.7电子证照 electronic certificate
由计算机等电子设备形成﹑传输和存储的证照数据文件。
[来源:GB/T 36901-2018]
3.8电子证照文件 electronic certificate file
以版式文档表示的电子证照,该文件既包含照面固定版式效果,又包含证照元数据及标识, 并应用密码技术保障这些内容的真实性和完整性。
[来源:GB/T 36901-2018]
3.9电子证照有效性 electronic certificate validity
电子证照的凭证效力被其颁发机构继续认可的性质。
[来源:GB/T 36906-2018]
3.10电子证照文件完整性 electronic certificate file integrity
电子证照文件的内容﹑结构和背景信息齐全且没有破坏、变异或丢失的性质。
[来源:GB/T 36906-2018]
3.11电子证照文件真实性 electronic certificate file authenticity
电子证照文件中的内容、结构和背景信息与形成时的原始状态相一致的性质。
[来源:GB/T 36906-2018]
3.12带密钥的杂凑算法 keyed-hash message authentication code (HMAC)
一种密码杂凑算法,密钥作为其输入参数参与运算。
[来源:GM/Z 0001-2013]
3.13认证服务机构 authentication service authority
本标准定义的认证服务机构指为身份认证服务的提供者,提供数字证书、电子证照的服务机构,包括证书认证机构(CA)、电子证照认证机构。
4.缩略语
下列缩略语适用于本标准。
CA Certification Authority 证书认证机构
CRL Certificate revocation list 证书撤销列表
HMAC Keyed-hash message authentication code 一种密码杂凑算法。
JSON JavaScript 0bject Notation JS 对象标记
HTTP Hyper Text Transfer Protocol 超文本传输协议
HTTPS Hyper Text Transfcr Protocol over SecurcSocket Layer 安全的 HTTP 协议
5.认证服务机构接入接口说明

图 1 认证服务机构接入接口说明
身份认证服务可以向上层应用系统提供多种身份认证方式,包括数字证书认证、电子证照认证。认证服务机构可以遵循本标准的定义接入身份认证服务。
本标准的认证服务机构包括:证书认证机构、电子证照认证机构。
6.通讯协议和数据结构
6.1通讯协议
认证服务机构应按如下的通讯协议和数据结构与身份认证服务进行信息交换。身份认证服务和认证服务机构基于 HTTPS 协议,报文格式定义如下:
请求数据封装格式:application/json
返回数据封装格式:application/json
请求和响应参数组成结构说明如下:
接口请求和响应的均为 json 格式数据报文,数据报文由公共参数和业务参数两部分构成,请求报文需要由身份认证服务使用 HMAC 签名算法进行签名计算,支持的签名算法为HMAC-SM3。
6.2请求方法和 URL 规则
支持HTTPS GET POST 方法。
——使用 GET 方法时,输入参数附加在请求的 URL 上,输出参数为 JSON 格式。示例如下:
https://{ip:port}/open/{signature}?{paramkey}={paramValue}
——使用 POST 方法时,输入和输出参数均采用 JSON 格式。示例如下:
https://{ip:port}/open/{signature}
注:{斜体}为可变内容域,是认证服务机构服务网络地址,下同。
6.3授权类别
——当前支持的授权类别为 trusted,必须经过验证签名。
6.4认证信息
各接入的认证服务机构在与身份认证服务通讯时,身份认证服务提供认证信息,用于鉴别其身份。可以通过验证签名的方式鉴别身份。
——认证服务机构向身份认证服务分配唯一的 app_id 和 app_secret。
——通过接口传输数据时,调用方应通过 HMAC-SM3 算法对请求数据进行加签计算。
——认证服务机构提供的开放接口采用 https 协议。
公共参数放入请求头中进行传输,请求的 Header 中包含认证信息如下:
参数名 | 参数类型 | 参数说明 |
app_id | String | 接入应用系统 app_id,认证服务机构分配。 |
signature | String | 参数签名值,由分配 app_secret 和请求参数计算得出结果,采用HEX 编码 |
timestamp | String | 请求发送的时间戳(Unix Timestamp,毫秒) |
nonce | String | 请求随机数,每笔业务在一定时间内唯一(2 分钟) |
6.5状态信息
认证服务机构 API 返回状态信息,状态信息包含字符形式的状态码和状态描述。状态码见附录 A 的规定。
7.证书认证机构(CA)接入接口
7.1接口列表
证书认证机构(CA)应该按照下列标准提供相应的 API 接口,供身份认证服务调用。
表格 1 证书认证机构接入接口
编号 | 接口功能 | 接口 URL 对象 | 方法 | 授权 | 备注 |
1 | 个人证书申请 | https://{ip:port}/open/digitalCert/person/apply | POST | trusted | |
2 | 机构证书申请 | https://{ip:port}/open/digitalCert/enterpise/apply | POST | trusted | |
3 | 证书更新 | https://{ip:port}/open/digitalCert/update | POST | trusted | |
4 | 证书吊销 | https://{ip:port}/open/digitalCert/ revoke | POST | trusted | |
5 | 证书验证 | https://{ip:port}/open/digitalCert/effective | POST | trusted |
7.2机构证书数据结构
证书域名 | 含义 | 说明 | 字段内容(示例) | |
Version | 版本号 | 证书版本号 | V3 | |
Serial Number | 序列号 | 由颁发机构指定 | 证书序列号 | |
Signature | 签名算法 | 符合国家标准 | 符合国家标准 | |
Issuer | 颁发者 | C | 国家 | CN |
O | 单位 | Xx | ||
OU | 部门 | xx | ||
CN | 二级 CA 通用名 | xx CA | ||
Validity | 有效期限 | 最长 2 年 | ||
notBefore | 有效期起始日期 | 签发日期 | 年月日+时分秒 | |
notAfter | 有效期终止日期 | 起始日期+x 个月 | 年月日+时分秒 | |
Subject | 主体 | C | 国家 | CN |
S | 省份 | 持证人所在省份,如:广东 | ||
L | 城市 | 持证人所在城市,如:深圳 | ||
O | 用户单位/机构 | xx 卫生厅(局) | ||
OU | 部门名称 | 信息中心(可选字段) | ||
CN | 用户通用名 | xx 卫生厅(局)xx 部门(单位名称全称) | ||
电子邮件 | (可选字段) | |||
Subject Public KeyInformation | 公钥 | 包括加密算法及公钥值 | 采用 SM2 算法 | |
Extensions | 扩展域 | |||
KeyUsage | 密钥用法 | 关键扩展项 | Digital Signature, keyEncipherment;根据证书用途,分“签名”或“加密”证书 | |
SubjectUniqueID | 实体唯一标识 | 非关键扩展项 | OID:1.2.156.xxxx,OID对应的值如:1@1001JJ0123456789 | |
SubjectKeyIdentifier | 主体密钥标识符 | 关键扩展项 | 用户证书公钥的哈希值 | |
AuthorityKeyIdentifier | 颁 发 机 构密 钥 标 识符 | 关键扩展项 | 颁发单位证书公钥的哈希值 | |
CRLDistributionPoints | CRL 分发点 | 非关键扩展项 | [1]CRL Distribution Point Distribution Point Name: Full Name: Directory Address: DN… [2]CRL Distribution Point Distribution Point Name: Full Name: URL=http://ldap.xxca.org.cn/crl/ caxcrlxx.crl | |
SignatureAlgorithm | 签名算法 | 对证书基本信息的数字 | 签名的签名算法 | |
Issuer’s Signature | 签名值 | 颁发机构对证书基本信息的数字签名 | 数字签名值 |
7.3 个人证书数据结构
证书域名 | 含义 | 说明 | 字段内容(示例) | |
Version | 版本号 | 证书版本号 | V3 | |
Serial Number | 序列号 | 由颁发机构指定 | 证书序列号 | |
Signature | 签名算法 | 符合国家标准 | 符合国家标准 | |
Issuer | 颁发者 | C | 国家 | CN |
O | 单位 | xx | ||
OU | 部门 | xx | ||
CN | 二级 CA 通用名 | xx CA | ||
Validity | 有效期限 | 最长 2 年 | ||
notBefore | 有效期起始日期 | 签发日期 | 年月日+时分秒 | |
notAfter | 有效期终止日期 | 起始日期+x 个月 | 年月日+时分秒 | |
Subject | 主体 | C | 国家 | CN |
S | 省份 | 持证人所在省份,如:广东 | ||
L | 城市 | 持证人所在城市,如:深圳 | ||
O | 用户单位/机构 | xx 卫生厅(局) | ||
OU | 部门名称 | 信息中心(可选字段) | ||
CN | 用户通用名 | 张三(个人姓名) | ||
电子邮件 | (可选字段) | |||
Subject Public KeyInformation | 公钥 | 包括加密算法及公钥值 | 如:采用 SM2 算法 | |
Extensions | 扩展域 | |||
KeyUsage | 密钥用法 | 关键扩展项 | Digital Signature, keyEncipherment;根据证书用途,分“签名”或“加密”证书 | |
SubjectUniqueID | 实体唯一标识 | 非关键扩展项 | OID如:1.2.156.xxx8,OID对应的值如 : 1@1001SF0342222197205053618 | |
SubjectKeyIdentifier | 主体密钥标识符 | 关键扩展项 | 用户证书公钥的哈希值 | |
AuthorityKeyIdentifier | 颁发机构密钥标识符 | 关键扩展项 | 颁发单位证书公钥的哈希值 | |
CRLDistributionPoints | CRL 分发点 | 非关键扩展项 | [1]CRL Distribution Point Distribution Point Name: Full Name: Directory Address: DN… [2]CRL Distribution Point Distribution Point Name: Full Name: URL=http://ldap.xxca.org.cn/crl/ caxcrlxx.crl | |
SignatureAlgorithm | 签名算法 | 对证书基本信息的数字签名的签名算法 | ||
Issuer’s Signature | 签名值 | 颁发机构对证书基本信息的数字签名 | 数字签名值 |
7.4 个人证书申请
URL:https://{ip:port}/open/digitalCert/person/apply
调用方法:POST
功能描述:当用户办理证书新办业务时,调用本接口申请证书。
| 参数名 | 参数类型 | 是否必填 | 说明 |
输入数: | transId | String | Y | 流水号 |
time | String | Y | 发送时间 | |
busiType | String | Y | 业务类型:新增,变更,补办【enroll,reChange,reEnroll】 | |
serialnumberSign | String | N | 签名证书序列号,业务类型为变更,补办时需要 | |
name | String | Y | 姓名 | |
idType | String | Y | 证件类型:1-居民身份证 | |
idNumber | String | Y | 证件号码 | |
phone | String | Y | 手机号 | |
orgName | String | Y | 持证人所在的单位名称 | |
deptName | String | N | 持证人所在部门名称 | |
csr | String | Y | 证书申请请求文件 | |
certValidays | String | Y | 证书申请天数业务类型为变更,补办时此参数填入 0,服务端根据原证书进行 | |
province | String | N | 持证人所在的省份 | |
city | String | N | 持证人所在的城市 | |
audit | Object | Y | 证书鉴证审核信息 | |
audit 对象: | auditMemo | String | Y | 审核的备注信息 |
auditTime | String | Y | 审核时间 yyyy-MM-dd HH:mm:ss | |
auditType | String | Y | 审核方式 1 现场人工审核 2 线上资料审核3 身份证 OCR 比对 4 调用公安部接口 5 活体检测 6 第三方平台审核 | |
输出参数:
| result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | object | 返回数据对象 | ||
body 对象: | serialnumberSign | String | 签名证书序列号 | |
digitaCert | String | 签名证书 Base64 编码 | ||
digitalCertChain | String | 签名证书证书链 | ||
notBefore | String | 签名证书有效期开始日期(日期字符串) | ||
notAfter | String | 签名证书有效期结束日期(日,期字符串) |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ "serialnumberSign":"3342342342377238", "digitaCert":" MIIDjDCCAzCgAwIBAgIUfT7uMyQfR…..mBggrBgEFBQcCAEbHkaZ/UxNYdMAXGeda4NWJ0pqR0OVAD8NX+ii+MK4 ", "digitalCertChain":"dfskjhdfkshjdfhssdk", "notBefore":"2022-10-21 10:00:00", "notAfter":"2023-10-21 10:00:00" } }
7.5机构证书申请
URL:https://{ip:port}/open/digitalCert/enterpise/apply
调用方法:POST
功能描述:当机构申请数字证书时,调用本接口申请证书。
| 参数名 | 参数类型 | 是否必填 | 说明 |
输入参数: | transId | String | Y | 流水号 |
time | String | Y | 发送时间 | |
busiType | String | Y | 业务类型:新增,变更,补办【enroll,reChange,reEnroll】 | |
serialnumberSign | String | N | 签名证书序列号,业务类型为变更,补办时需要 | |
orgName | String | Y | 单位名称 | |
socialcreditcode | String | Y | 统一社会信用代码 | |
personName | String | Y | 法定代表人姓名 | |
personIdType | String | Y | 证件类型:1-居民身份证 | |
personIdNumber | String | Y | 法定代表人证件号码 | |
transName | String | N | 经办人姓名 | |
transPhone | String | N | 经办人手机号 | |
transNumber | String | N | 经办人身份证号 | |
csr | String | Y | 证书申请请求文件 | |
certValidays | String | Y | 证书申请天数;业务类型为变更、补办时此参数填入 0,服务端根据原证书有效期进行自动计算 | |
province | String | N | 持证人所在的省份 | |
city | String | N | 持证人所在的城市 | |
audit | Object | Y | 鉴证审核信息 | |
audit 对象: | auditMemo | String | Y | 审核的备注信息 |
auditTime | String | Y | 审核时间 yyyy-MM-dd HH:mm:ss | |
auditType | String | Y | 审核方式 1 现场人工审核 2 线上资料审核3 身份证 OCR 比对 4 调用公安部接口 5 活体检测 6 第三方平台审核 | |
输出参数: | result_code | String |
| 正常状态码 |
result_msg | String |
| 正常响应描述 | |
success | bool |
| 成功失败,成功:true,失败:false | |
body 对象: | body | object |
| 返回数据对象 |
serialnumberSign | String |
| 签名证书序列号 | |
digitalCert | String |
| 签名证书 | |
digitalCertChain | String |
| 签名证书证书链 | |
notBefore | String |
| 签名证书有效期开始日期(日期字符串) | |
notAfter | String |
| 签名证书有效期结束日期(日,期字符串) |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ "serialnumberSign":"3342342342377238", "digitalCert":" MIIDjDCCAzCgAwIBAgIUfT7uMyQfR…..mBggrBgEFBQcCAEbHkaZ/UxNYdMAXGeda4NWJ0pqR0OVAD8NX+ii+MK4 ", "digitalCertChain":"dfskjhdfkshjdfhssdk", "notBefore":"2022-10-21 10:00:00", "notAfter":"2023-10-21 10:00:00" } }
7.6证书更新
URL:https://{ip:port}/open/digitalCert/update
调用方法:POST
功能描述:本接口用于证书更新延期。
| 参数名 | 参数类型 | 是否必填 | 说明 |
输入参数: | transId | String | Y | 流水号 |
time | String | Y | 发送时间 | |
serialnumberSign | String | Y | 签名证书序列号 | |
certValidays | String | Y | 证书更新天数(整数) | |
audit | Object | Y | 鉴证审核信息 | |
audit 对象: | auditMemo | String | Y | 审核的备注信息 |
auditTime | String | Y | 审核时间 yyyy-MM-dd HH:mm:ss | |
auditType | String | Y | 审核方式 1 现场人工审核 2 线上资料审核3 身份证OCR 比对 4 调用公安部接口 5 活体检测 6 第三方平台审核 | |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | object | 返回数据对象 | ||
body 对象: | serialnumberSign | String | 签名证书序列号 | |
| digitalCert | String | 签名证书 | |
digitalCertChain | String | 签名证书证书链 | ||
notBefore | String | 签名证书有效期开始日期(日期字符串) | ||
notAfter | String | 签名证书有效期结束日期(日,期字符串) |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ "serialnumberSign":"3342342342377238", "digitalCert":" MIIDjDCCAzCgAwIBAgIUfT7uMyQfR…..mBggrBgEFBQcCAEbHkaZ/UxNYdMAXGeda4NWJ0pqR0OVAD8NX+ii+MK4 ", "digitalCertChain":"dfskjhdfkshjdfhssdk", "notBefore":"2022-10-21 10:00:00", "notAfter":"2023-10-21 10:00:00" } }
7.7证书吊销
URL:https://{ip:port}/open/digitalCert/revoke
调用方法:POST
功能描述:当证书彻底废弃不再使用时,可以进行证书吊销,需调用本接口进行证书吊销。
| 参名数 | 参数类型 | 是否必填 | 说明 |
输入参数: | transId | String | Y | 流水号 |
serialnumberSign | String | Y | 签名证书序列号 | |
revokeReason | String | Y | 吊销原因 | |
audit | Object | Y | 鉴证审核信息 | |
audit 对象: | auditMemo | String | Y | 审核的备注信息 |
auditTime | String | Y | 审核时间 yyyy-MM- dd HH:mm:ss | |
auditType | String | Y | 审核方式 1 现场人工审核 2 线上资料审核3 身份证 OCR 比对 4调用公安部接口 5 活体检测 6 第三方平台审核 | |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | object | 返回数据对象(改对象为空) | ||
body 对象: | isRevoke | bool | true 吊销成功 false 失败 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ isRevoke:true } }
7.8证书验证
URL:https://{ip:port}/open/digitalCert/effective
调用方法:POST
功能描述:本接口用于通过服务端验证证书有效性。
| 参数名 | 参数类型 | 是否必填 | 说明 |
输入参数: | transId | String | Y | 流水号 |
time | String | Y | 发送时间 | |
digitalCert | String | Y | 证书 base64 编码 | |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
| success | bool | 成功失败,成功:true,失败:false | |
| body | object | 返回数据对象 | |
body 对象: | isEffective | bool | true 有 效 false 无效 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ isEffective:true } }
8.电子证照认证机构接入接口
8.1接口列表
电子证照认证服务机构应该按照下列标准提供相应的API 接口,供身份认证服务调用。
表格 2 电子证照认证机构接入接口
编号 | 接口功能 | 接口 URL 对象 | 方法 | 授权 | 备注 |
1 | 电子证照申领 | https://{ip:port}/open/elecCert/apply | POST | trusted |
|
2 | 电子证照亮证 | https://{ip:port}/open/elecCert/show | POST | trusted |
|
3 | 电子证照查证 | https:// {ip:port}/open/elecCert/query | POST | trusted |
|
4 | 电子证照真伪验证 | https://{ip:port}/open/elecCert/verifySeal | POST | trusted |
|
5 | 电子证照类型列表 | https://{ip:port}/open/elecCert/queryTypeList | POST | trusted |
|
8.2电子证照申领
URL:https://{ip:port}/open/digitalCert/apply
调用方法:POST
功能描述: 通过身份标识(身份证号码或统一社会信用代码)申领电子证照,获取电子证照元数据、照面数据以及电子证照的版式文件,在需要亮证的业务场景中使用。
| 参数名 | 参数类型 | 是否必填 | 说明 |
输入参数: | elecCertHolderCode | String | Y | 证照持有主体代码(如:公民身份证号码、统一社会信用代码) |
elecCertHolderType | String | N | 证照持有主体代码类型 | |
elecCertType | String | Y | 证照类型 | |
useFor | String | Y | 用途描述,不超过200 字 | |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | object | 返回数据对象 | ||
body 对象: | elecCertID | String | 电子证照标识 | |
elecCertInfo | Object | 证照照面数据 | ||
fileFormat | String | 证照文件格式 | ||
fileUrl | String | 文件下载地址 | ||
elecCertMeta | object | 返回数据对象 | ||
证照元数据对象: | elecCertType | String | 证照名称 | |
issueDept | String | 颁发单位 | ||
elecCertNumber | String | 证照编号 | ||
issueDate | String | 证照颁发时间 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ "elecCertID":"3342342342377238", "elecCertInfo":" MI4 ", "fileFormat":"", "fileUrl":"https://ddjd.pdf", "elecCertMeta":{ "elecCertType":"", "issueDept":"四川卫健委", "elecCertNumber":"3434", "issueDate":"2022-10-11 10:00:00" } } }
8.3电子证照亮证
URL:https://{ip:port}/open/ elecCert /show
调用方法:POST
功能描述:通过电子证照标识,获取证照文件下载路径和证照二维码。
| 参数名称 | 参数类型 | 是否必填 | 参数说明 |
输入参数: | elecCertId | String | Y | 电子证照标识 |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | object | 结果信息 | ||
body 对象: | qrCodeImgBase64 | String | 证照二维码图片 | |
| fileUrl | String | 证照文件下载路径 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ "qrCodeImgBase64":"base==", "fileUrl":"https://ddjd.pdf" } }
8.4电子证照查证
URL:https:// {ip:port}/open/elecCert/query
调用方法:POST
功能描述:应用系统在需要使用电子证照的业务场景中,通过本接口获取电子证照的元数据、照面数据。
参数名称 | 参数类型 | 是否必填 | 参数说明 | |
输入参数: | elecCertHolderCode | String | Y | 证照持有主体代码(如:公民身份证号码、统一社会信用代码) |
| elecCertTypeCode | String | N | 证照持有主体代码类型 |
elecCertHolderType | String | N | 证照类型名称 | |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | Aarry | 证照列表 | ||
body数组: | qrCodeImgBase64 | String | 证照二维码图片 | |
fileUrl | String | 证照文件下载路径 | ||
elecCertId | String | 证照唯一标识 | ||
elecCertType | String | 证照类型名称 | ||
sourceId | String | 证照源标识 | ||
certypeDtlName | String | 证照明细名称 | ||
certypeDtlId | String | 证照明细编码 | ||
elecCertName | String | 证照名称 | ||
elecCertHolder | String | 持证主体 | ||
elecCertHolderCode | String | 持证主体代码 | ||
elecCertHolderType | String | 持有者证件类型 | ||
elecCertHolderCategory | String | 持有者类型 | ||
issueDept | String | 证照颁发机构 | ||
elecCertNumber | String | 证照编号 | ||
issueDeptCode | String | 证照颁发机构代码 | ||
issueDate | String | 证照颁发日期 | ||
elecCertLevel | String | 证照等级 | ||
validityStart | String | 证照有效期起始 | ||
validityEnd | String | 证照有效期截止 | ||
state | String | 证照状态: 0-未签章证照,1-签章证照,11-证照已变更,21-证照已注销,22-证照已废止 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":[ { "elecCertId": "1.2.156.3005.2..37010056F5F25F9A271.1.X", "sourceId": "1.2.156.3005.2..370100025F9A271.1.X", "elecCertNumber": "1262235241", "certypeDtlName": "变更照面测试3", "certypeDtlId": "5B56C2C3C216454680B51E7780FAACE8", "elecCertType": "中华人民共和国外国人工作许可证", "elecCertTypeCode": "11100000000013063F001", "issueDept": "济南市发展和改革委员会", "issueDeptCode": "370100004188602", "elecCertHolder": "测试", "elecCertHolderCode": "522228199612100611", "elecCertHolderType": "51", "elecCertHolderCategory": "", "issueDate": "2019-10-14", "validityStart": "2019-10-14", "validityEnd": "2019-10-14", "state": "0", "version": 1, "elecCertLevel": "A", " qrCodeImgBase64": "Afdfdhfhlds\*\*\*\*hlfh==", " fileUrl ": "https:\*\*\*dddd.pdf" } ] }
8.5电子证照真伪验证
URL:https://{ip:port}/open/elecCert/verifySeal
调用方法:POST
功能描述:电子证照签章验证,验证章的有效性。
参数名称 | 参数类型 | 是否必填 | |
输入参数: | elecCertId | String | Y |
fileEntity | String | N | |
输出参数: | result_code | String | |
result_msg | String | 正常响应描述 | |
success | bool | 成功失败,成功:true,失败:false | |
body | object | 结果信息 | |
body 对象: | verifyResult | Bool | 文件整体验证结果 ture 或false |
| fileName | String | 验证文件名称 |
| verifyList | Array | 签章验证列表 |
verifyList 数组: | signIndex | Int | 签名或签章序号,标识文档中出现的第几个签名或签章,从 1 开始编号。 |
signType | String | “es.GBT38540”GB/T 3854 标准“es.GMT0031” GM/T 0031 标准“ds.GBT35275”GB/T 35275 标准“ds.PKCS7” PKCS#7 数字签名“unknown” 未识别的签名类型 | |
verify | String | 单个印章或签名验证结果“true/false”,当 signType 类型为 es.GMT0031或 ds.PKCS7时,不做验证,该值为“unknown” | |
errorCode | String | 错误码 | |
errorMsg | String | 错误原因 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":{ " verifyResult ":"true", " fileName ":"ddd.pdf", "verifyList":[{ "signIndex":1, "signType":"ds.PKCS7", "verify":"unknown", "errorCode":"c803302", "errorMsg":"该数字签名为rsa签名" }] } }
8.6电子证照类型列表
URL:https://{ip:port}/open/ elecCert /queryTypeList
调用方法:POST
功能描述:电子证照类型列表获取。
参数名称 | 参数类型 | 是否必填 | 参数说明 | |
输入参数: | elecCertTypeName | String | N | 证照类型名称 |
输出参数: | result_code | String | 正常状态码 | |
result_msg | String | 正常响应描述 | ||
success | bool | 成功失败,成功:true,失败:false | ||
body | Array | 证照类型列表,body 对象数组 | ||
body 对象: | elecCertTypeCode | String | 证照类型编码 | |
elecCertTypeName | String | 证照类型名称 | ||
defineAuthorityName | String | 定义部门代码 | ||
defineAuthorityLevel | String | 定义部门等级 | ||
defineAuthorityCode | String | 定义部门名称 | ||
category | String | 证照类型 1 证照 | ||
elecCertHolderCategory | String | 持证人类型 1 自然人 2法人 3 混合 4 其他 | ||
validityRange | String | 有效期 | ||
dtlNum | String | 该证照类型包含的明细数量 | ||
isStandard | String | 是否为国家标准类型 1是 2 否 |
返回内容示例:
{ "result_code":"0", "result_msg":"请求成功", "success":true, "body":[{ "elecCertTypeCode": "11100000000013127D012", "defineAuthorityName": "中华人民共和国公安部", "defineAuthorityLevel": "1", "isStandard": "1", "defineAuthorityCode": "11100000000013127D", "category": "", "elecCertHolderCategory": "", "subjectId": "", "elecCertTypeName": "出海船民证", "validityRange": "", "dtlNum": 10 }] }
附录 A
表格 A.1 接口返回状态码定义
消息代码 | 消息描述 |
0 | 成功 |
1000 | 应用 ID 为空 |
1001 | 应用 ID 未匹配任何应用 |
1002 | 参数签名为空 |
1003 | 参数签名值错误 |
1103 | 参数错误 |
1104 | 数据重复 |
1105 | 权限验证错误 |
1107 | 二维码生成失败 |
1299 | 应用负载超过设定值 |
1202 | 调用内部服务出错 |
1205 | 非法 IP 调用 |
2001 | 用户不存在 |
2003 | 签名验证失败 |
2006 | 二维码登录失败 |
3001 | 网络错误 |