团体标准-电子证照及CA机构身份认证服务接入接口标准

前 言

本标准按照 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_idString接入应用系统  app_id,认证服务机构分配。
signatureString参数签名值,由分配  app_secret  和请求参数计算得出结果,采用HEX 编码
timestampString请求发送的时间戳(Unix Timestamp,毫秒)
nonceString请求随机数,每笔业务在一定时间内唯一(2 分钟)

6.5状态信息

认证服务机构 API 返回状态信息,状态信息包含字符形式的状态码和状态描述。状态码见附录 A 的规定。

7.证书认证机构(CA)接入接口

7.1接口列表

证书认证机构(CA)应该按照下列标准提供相应的 API 接口,供身份认证服务调用。

表格 1 证书认证机构接入接口

编号

接口功能

接口 URL 对象方法授权备注

个人证书申请

https://{ip:port}/open/digitalCert/person/applyPOSTtrusted 

机构证书申请https://{ip:port}/open/digitalCert/enterpise/applyPOSTtrusted 

证书更新https://{ip:port}/open/digitalCert/updatePOSTtrusted 

证书吊销https://{ip:port}/open/digitalCert/ revokePOSTtrusted 

证书验证https://{ip:port}/open/digitalCert/effectivePOSTtrusted 

7.2机构证书数据结构

证书域名含义

说明

字段内容(示例)
Version版本号证书版本号V3 
Serial Number序列号由颁发机构指定证书序列号
Signature签名算法符合国家标准符合国家标准
Issuer颁发者国家CN 
单位Xx 
OU 部门xx 
CN 二级 CA 通用名xx CA 
Validity有效期限 最长 2 年
notBefore有效期起始日期签发日期年月日+时分秒
notAfter有效期终止日期起始日期+x 个月年月日+时分秒
Subject主体国家CN 
省份持证人所在省份,如:广东
城市持证人所在城市,如:深圳
用户单位/机构xx 卫生厅(局)
OU 部门名称信息中心(可选字段)
CN 用户通用名xx 卫生厅(局)xx 部门(单位名称全称)
Email 电子邮件(可选字段)
Subject Public KeyInformation公钥包括加密算法及公钥值采用 SM2 算法
Extensions扩展域  
KeyUsage密钥用法关键扩展项Digital Signature, keyEncipherment;根据证书用途,分“签名”或“加密”证书

 

SubjectUniqueID

实体唯一标识非关键扩展项OID:1.2.156.xxxx,OID对应的值如:1@1001JJ0123456789  

 

SubjectKeyIdentifier

主体密钥标识符关键扩展项用户证书公钥的哈希值
AuthorityKeyIdentifier颁 发 机 构密 钥 标 识符关键扩展项颁发单位证书公钥的哈希值
CRLDistributionPointsCRL 分发点非关键扩展项[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颁发者国家CN 
单位xx 
OU 部门xx 
CN 二级 CA 通用名xx CA 
Validity有效期限 最长 2 年
notBefore有效期起始日期签发日期年月日+时分秒
notAfter有效期终止日期起始日期+x 个月年月日+时分秒
Subject主体国家CN 
省份持证人所在省份,如:广东
城市持证人所在城市,如:深圳
用户单位/机构xx 卫生厅(局)
OU 部门名称信息中心(可选字段)
  CN 用户通用名张三(个人姓名)
  Email 电子邮件(可选字段)
Subject Public KeyInformation公钥包括加密算法及公钥值如:采用 SM2 算法
Extensions扩展域  
KeyUsage密钥用法关键扩展项Digital Signature, keyEncipherment;根据证书用途,分“签名”或“加密”证书
SubjectUniqueID实体唯一标识非关键扩展项

OID如:1.2.156.xxx8,OID对应的值如 : 1@1001SF0342222197205053618 

SubjectKeyIdentifier主体密钥标识符关键扩展项用户证书公钥的哈希值
AuthorityKeyIdentifier颁发机构密钥标识符关键扩展项颁发单位证书公钥的哈希值
CRLDistributionPointsCRL 分发点非关键扩展项[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

功能描述:当用户办理证书新办业务时,调用本接口申请证书。

 

参数名参数类型

是否必填

说明

输入数:transIdString

Y

流水号
 timeString

Y

发送时间
 busiTypeString

Y

业务类型:新增,变更,补办【enroll,reChange,reEnroll】
 serialnumberSignString

N

签名证书序列号,业务类型为变更,补办时需要
 nameString

Y

姓名
 idTypeString

Y

证件类型:1-居民身份证
 idNumberString

Y

证件号码
 phoneString

Y

手机号
 orgNameString

Y

持证人所在的单位名称
 deptNameString

N

持证人所在部门名称
 csrString

Y

证书申请请求文件
 certValidaysString

Y

证书申请天数业务类型为变更,补办时此参数填入  0,服务端根据原证书进行

 provinceString

N

持证人所在的省份
 cityString

N

持证人所在的城市
 auditObject

Y

证书鉴证审核信息
audit 对象:auditMemoString

Y

审核的备注信息
 auditTimeString

Y

审核时间  yyyy-MM-dd HH:mm:ss
 auditTypeString

Y

审核方式  1  现场人工审核  2  线上资料审核3 身份证 OCR 比对 4 调用公安部接口 5 活体检测 6 第三方平台审核

输出参数:

 

 

result_codeString 正常状态码
result_msgString 正常响应描述
successbool 成功失败,成功:true,失败:false 
 bodyobject 返回数据对象
body 对象:serialnumberSignString 签名证书序列号
 digitaCertString 签名证书 Base64 编码
 digitalCertChainString 签名证书证书链
 notBeforeString 签名证书有效期开始日期(日期字符串)
 notAfterString 签名证书有效期结束日期(日,期字符串)

返回内容示例:

{
	"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

功能描述:当机构申请数字证书时,调用本接口申请证书。

 

参数名参数类型

是否必填

说明

输入参数:transIdString

Y

流水号
 timeString

Y

发送时间
 busiTypeString

Y

业务类型:新增,变更,补办【enroll,reChange,reEnroll】
 serialnumberSignString

N

签名证书序列号,业务类型为变更,补办时需要
 orgNameString

Y

单位名称
 socialcreditcodeString

Y

统一社会信用代码
 personNameString

Y

法定代表人姓名
 personIdTypeString

Y

证件类型:1-居民身份证
 personIdNumberString

Y

法定代表人证件号码
 transNameString

N

经办人姓名
 transPhoneString

N

经办人手机号
 transNumberString

N

经办人身份证号
 csrString

Y

证书申请请求文件
 certValidaysString

Y

证书申请天数;业务类型为变更、补办时此参数填入 0,服务端根据原证书有效期进行自动计算

 provinceString

N

持证人所在的省份
 cityString

N

持证人所在的城市
 auditObject

Y

鉴证审核信息
audit 对象:auditMemoString

Y

审核的备注信息
 auditTimeString

Y

审核时间  yyyy-MM-dd HH:mm:ss
 auditTypeString

Y

审核方式  1  现场人工审核  2  线上资料审核3  身份证 OCR 比对 4 调用公安部接口 5 活体检测 6 第三方平台审核

输出参数: result_codeString

 

正常状态码
 result_msgString

 

正常响应描述
 successbool

 

成功失败,成功:true,失败:false 
body 对象: bodyobject

 

返回数据对象
 serialnumberSignString

 

签名证书序列号
 digitalCertString

 

签名证书
 digitalCertChainString

 

签名证书证书链
 notBeforeString

 

签名证书有效期开始日期(日期字符串)
 notAfterString

 

签名证书有效期结束日期(日,期字符串)

返回内容示例:

{
	"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

功能描述:本接口用于证书更新延期。

 

参数名参数类型

是否必填

说明

输入参数:transIdString

Y

流水号
 timeString

Y

发送时间
 serialnumberSignString

Y

签名证书序列号
 certValidaysString

Y

证书更新天数(整数) 
 auditObject

Y

鉴证审核信息
audit 对象:auditMemoString

Y

审核的备注信息
 auditTimeString

Y

审核时间  yyyy-MM-dd HH:mm:ss
 auditTypeString

Y

审核方式 1  现场人工审核 2  线上资料审核3 身份证OCR 比对 4  调用公安部接口 5  活体检测  6 第三方平台审核
输出参数:result_codeString 正常状态码
 result_msgString 正常响应描述
 successbool 成功失败,成功:true,失败:false 
 bodyobject 返回数据对象
body 对象: serialnumberSignString 签名证书序列号

 

digitalCertString 签名证书
 digitalCertChainString 签名证书证书链
 notBeforeString 签名证书有效期开始日期(日期字符串)
 notAfterString 签名证书有效期结束日期(日,期字符串)

返回内容示例:

{
	"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

功能描述:当证书彻底废弃不再使用时,可以进行证书吊销,需调用本接口进行证书吊销。

 

参名数参数类型

是否必填

说明

输入参数:transIdString

Y

流水号
 serialnumberSignString

Y

签名证书序列号
 revokeReasonString

Y

吊销原因
 auditObject

Y

鉴证审核信息
audit 对象:auditMemoString

Y

审核的备注信息
 auditTimeString

Y

审核时间  yyyy-MM- dd HH:mm:ss
 auditTypeString

Y

审核方式 1  现场人工审核 2  线上资料审核3 身份证  OCR 比对  4调用公安部接口 5  活体检测 6 第三方平台审核
输出参数:result_codeString 正常状态码
 result_msgString 正常响应描述
 successbool 成功失败,成功:true,失败:false 
 bodyobject 返回数据对象(改对象为空) 
body 对象:isRevokebool true 吊销成功 false 失败

返回内容示例:

{
	"result_code":"0",
	"result_msg":"请求成功",
	"success":true,
	"body":{
		isRevoke:true
	}
}

7.8证书验证

URL:https://{ip:port}/open/digitalCert/effective

调用方法:POST

功能描述:本接口用于通过服务端验证证书有效性。

 

参数名参数类型是否必填

说明

输入参数:transIdString

Y

流水号
 timeString

Y

发送时间
 digitalCertString

Y

证书  base64  编码
输出参数:result_codeString 正常状态码
 result_msgString 正常响应描述

 

successbool 成功失败,成功:true,失败:false 

 

bodyobject 返回数据对象
body 对象:isEffectivebool true 有 效 false 无效

返回内容示例:

{
	"result_code":"0",
	"result_msg":"请求成功",
	"success":true,
	"body":{
		isEffective:true
	}
}

8.电子证照认证机构接入接口

8.1接口列表

电子证照认证服务机构应该按照下列标准提供相应的API 接口,供身份认证服务调用。

表格 2 电子证照认证机构接入接口

编号

接口功能接口 URL 对象方法

授权

备注

电子证照申领https://{ip:port}/open/elecCert/applyPOST

trusted

 

电子证照亮证https://{ip:port}/open/elecCert/showPOST

trusted

 

电子证照查证https:// {ip:port}/open/elecCert/queryPOST

trusted

 

电子证照真伪验证https://{ip:port}/open/elecCert/verifySealPOST

trusted

 

电子证照类型列表https://{ip:port}/open/elecCert/queryTypeListPOST

trusted

 

8.2电子证照申领

URL:https://{ip:port}/open/digitalCert/apply

调用方法:POST

功能描述: 通过身份标识(身份证号码或统一社会信用代码)申领电子证照,获取电子证照元数据、照面数据以及电子证照的版式文件,在需要亮证的业务场景中使用。

 

参数名参数类型

是否必填

说明

输入参数:elecCertHolderCodeString

Y

证照持有主体代码(如:公民身份证号码、统一社会信用代码)
 elecCertHolderTypeString

N

证照持有主体代码类型 
 elecCertTypeString

Y

证照类型
 useForString

Y

用途描述,不超过200 字
输出参数:result_codeString 正常状态码
 result_msgString 正常响应描述
 successbool 成功失败,成功:true,失败:false 
 bodyobject 返回数据对象
body 对象:elecCertIDString 电子证照标识
 elecCertInfoObject 证照照面数据
 fileFormatString 证照文件格式
 fileUrlString 文件下载地址
 elecCertMetaobject 返回数据对象
证照元数据对象:elecCertTypeString 证照名称
 issueDeptString 颁发单位
 elecCertNumberString 证照编号
 issueDateString 证照颁发时间

返回内容示例:

{
	"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

功能描述:通过电子证照标识,获取证照文件下载路径和证照二维码。

 

参数名称参数类型是否必填参数说明

输入参数:

elecCertIdString

Y

电子证照标识

输出参数:

result_codeString 正常状态码
 result_msgString 正常响应描述
 successbool 成功失败,成功:true,失败:false 
 bodyobject 结果信息

body 对象: 

qrCodeImgBase64String 证照二维码图片

 

fileUrlString 证照文件下载路径

返回内容示例:

{
	"result_code":"0",
	"result_msg":"请求成功",
	"success":true,
	"body":{
		"qrCodeImgBase64":"base==",
		"fileUrl":"https://ddjd.pdf"
	}
}

8.4电子证照查证

URL:https:// {ip:port}/open/elecCert/query

调用方法:POST

功能描述:应用系统在需要使用电子证照的业务场景中,通过本接口获取电子证照的元数据、照面数据。

 参数名称 参数类型 

是否必填 

参数说明
输入参数:elecCertHolderCodeString

Y

证照持有主体代码(如:公民身份证号码、统一社会信用代码)

 

elecCertTypeCodeString

N

证照持有主体代码类型
 elecCertHolderTypeStringN证照类型名称
输出参数:result_codeString 正常状态码
 result_msgString 正常响应描述
 successbool 成功失败,成功:true,失败:false
 bodyAarry 证照列表
body数组:qrCodeImgBase64String 证照二维码图片
 fileUrlString 证照文件下载路径
 elecCertIdString 证照唯一标识
 elecCertTypeString 证照类型名称
 sourceIdString 证照源标识
 certypeDtlNameString 证照明细名称
 certypeDtlIdString 证照明细编码
 elecCertNameString 证照名称
 elecCertHolderString 持证主体
 elecCertHolderCodeString 持证主体代码
 elecCertHolderTypeString 持有者证件类型
 elecCertHolderCategoryString 持有者类型
 issueDeptString 证照颁发机构
 elecCertNumberString 证照编号
 issueDeptCodeString 证照颁发机构代码
 issueDateString 证照颁发日期
 elecCertLevelString 证照等级
 validityStartString 证照有效期起始
 validityEndString 证照有效期截止
 stateString 证照状态: 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

功能描述:电子证照签章验证,验证章的有效性。

 参数名称 参数类型 是否必填
输入参数: elecCertIdStringY
 fileEntityStringN
输出参数: result_codeString 
 result_msgString正常响应描述
 successbool成功失败,成功:true,失败:false
 bodyobject结果信息
body 对象: verifyResultBool文件整体验证结果 ture 或false

 

fileNameString验证文件名称

 

verifyListArray签章验证列表
verifyList 数组:signIndexInt签名或签章序号,标识文档中出现的第几个签名或签章,从 1 开始编号。
 signTypeString“es.GBT38540”GB/T 3854 标准“es.GMT0031” GM/T 0031 标准“ds.GBT35275”GB/T 35275 标准“ds.PKCS7” PKCS#7 数字签名“unknown” 未识别的签名类型
 verifyString单个印章或签名验证结果“true/false”,当 signType 类型为 es.GMT0031或 ds.PKCS7时,不做验证,该值为“unknown”
 errorCodeString错误码
 errorMsgString错误原因

返回内容示例:

{
	"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

功能描述:电子证照类型列表获取。

 参数名称参数类型

是否必填

参数说明
输入参数:elecCertTypeNameString

N

证照类型名称
输出参数:result_codeString 正常状态码
 result_msgString 正常响应描述
 successbool 成功失败,成功:true,失败:false 
 bodyArray 证照类型列表,body 对象数组
body 对象: elecCertTypeCodeString 证照类型编码
 elecCertTypeNameString 证照类型名称
 defineAuthorityNameString 定义部门代码
 defineAuthorityLevelString 定义部门等级
 defineAuthorityCodeString 定义部门名称
 categoryString 证照类型 1 证照
 elecCertHolderCategoryString 持证人类型 1 自然人 2法人 3 混合 4 其他
 validityRangeString 有效期
 dtlNumString 该证照类型包含的明细数量
 isStandardString 是否为国家标准类型 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 接口返回状态码定义

消息代码

消息描述

成功
1000 应用 ID 为空
1001 应用 ID 未匹配任何应用
1002 参数签名为空
1003 参数签名值错误
1103 参数错误 
1104 数据重复
1105 权限验证错误
1107 二维码生成失败
1299 应用负载超过设定值
1202 调用内部服务出错
1205 非法 IP 调用
2001 用户不存在
2003 签名验证失败
2006 二维码登录失败
3001 网络错误