售后服务 卫生系统数字证书服务管
理平台接入规范
II
目 录
1 范围 .........................................................................................1
2 系统接入总体要求 .............................................................................1
3 CA系统功能要求 ...............................................................................1
4 CA系统接入接口要求 ...........................................................................2
证书信息同步接口.......................................................................2
黑名单信息同步接口.....................................................................4
查询证书信息接口.......................................................................8
5 WSDL文件 ....................................................................................11
WSDL原文 .............................................................................11
附录 (资料性附录) 名词解释 ....................................................................18
1 范围
根据《卫生系统电子认证服务管理办法(试行)》相关要求,电子认证服务机构在开展服务前须接
入卫生部数字证书服务管理系统。本规范描述了电子认证服务机构的CA系统(简称CA系统)接入卫生部
数字证书服务管理系统的总体要求、CA系统功能要求以及CA系统接入接口要求等。
本规范用于指导相关电子认证服务机构将CA系统接入卫生部数字证书服务管理系统,实现系统接入
过程标准化及安全控制,实现数字证书服务的统一管理。
2 系统接入总体要求
根据《卫生系统电子认证服务管理办法(试行)》的规定,卫生部将建设集中的数字证书服务管理
系统,用于卫生系统内所有证书用户信息的收集、查询、统计和分析,以及进行用户意见收集、服务质
量监督等管理工作。
卫生部通过数字证书服务管理系统对在卫生系统领域开展电子认证服务的CA机构实行接入控制及
服务管理。拟为卫生系统领域提供服务的电子认证服务机构,须符合《卫生系统电子认证服务管理办法
(试行)》的相关要求,将CA系统接入到卫生部数字证书服务管理系统。
接入卫生部数字证书服务管理系统的电子认证服务机构应符合以下要求:
1) 电子认证服务机构的CA系统应符合《证书认证系统密码及其相关安全技术规范》。
2) 电子认证服务机构的CA系统应遵循《电子政务电子认证体系建设总体规划》(国密局联字
[2007]2号)中关于电子认证体系建设的相关要求,符合《电子政务电子认证服务管理办法》
(国密局发[2009]7)相关要求。
3) 电子认证服务机构的CA系统签发的证书应遵循《卫生系统数字证书格式规范》,使用的证书介
质应符合《卫生系统数字证书介质技术规范》,开展证书应用集成工作时应遵循《卫生系统数
字证书应用集成规范》。
4) 电子认证服务机构的CA系统的功能应符合本文第3章要求。
5) 电子认证服务机构的CA系统应遵循本文第4章的接口要求,将CA系统中的数字证书和黑名单及
时同步到卫生部数字证书服务管理系统。
3 CA系统功能要求
电子认证服务机构的 CA系统须具备如下基本功能:
1) 证书申请:
CA系统签发的证书类型应包括:内部机构证书、内部工作人员证书、内部设备证书、外部机
构证书、外部个人证书和外部设备证书。以上各类证书格式须符合《卫生系统数字证书格式规范》
的要求。对内部用户提供服务时,为提高证书办理效率,CA系统应提供批量录入和批量审核的功
能。
2) 证书更新:
CA系统应提供证书更新功能。证书更新后,新证书的有效期须延长,密钥须更换,证书的实
体唯一标识须保持不变。
3) 证书解锁:
证书保护口令连续 10次输入错误,证书介质须自动锁死。CA系统应提供证书解锁功能,用
户可重新设置新的证书保护口令。
4) 证书吊销:
CA系统应提供证书吊销功能。证书吊销后,CA系统应实时签发黑名单,并将黑名单发布给相
关的卫生信息系统和卫生部数字证书服务管理系统。
5) 密钥恢复:
2
CA系统应提供加密密钥和加密证书的恢复功能。密钥恢复后,用户可恢复原有的加密证书和
加密密钥,证书和密钥的存储格式应与原有证书一致,保障用户的历史密文信息可以完成解密操作。
6) 证书信息发布:
CA系统应提供将数字证书申请、更新和吊销等相关信息同步到卫生部数字证书服务管理系统
的功能。数据同步时,CA系统应遵循和调用证书服务管理系统的证书信息同步接口(详见 节)。
CA系统应提供证书信息发布功能,外部证书用户的发布按照批准的电子认证业务规则(CPS)
规定的策略执行,内部用户证书在对外发布前应经用户管理单位审定。
4 CA系统接入接口要求
电子认证服务机构的 CA系统调用数字证书服务管理系统提供的数据同步接口,实现与卫生部数字
证书服务管理系统之间数字证书和黑名单的信息同步等,接口的函数原型及功能描述请参照以下章节描
述。
证书信息同步接口
函数原型:public string[] CertRequestInfoSyn(CUserInfo userinfo, string strSignValue)。
功能描述:CA系统调用该接口,将证书数据同步到卫生部数字证书服务管理系统。
输入参数:CUserInfo:需要同步的证书数据,详见表1说明。
strSignValue:使用CA系统的服务器证书对CUserInfo域的数据组合进行的数字签名,数据原文采
用XML数据标准格式,示例代码见附录。签名算法采用sha1RSA,数字签名的数据格式为
BASE64编码格式。
返回值:详见表2说明。
表 1 CUserInfo证书信息表
序号 属性 属性名称
是否
为空
数据类型 备注
1. TradeType 业务类型 N String 1:证书首次发放
2:证书更新
3:证书吊销
2. CaInfo CA身份标识 N String CA身份标识,CA机构的营业
许可证后 4位数字
3. CertType 证书类型 N String 工作人员证书:G;
内部机构证书:U;
内部设备证书:S
外部个人证书:P
外部机构证书:J
外部设备证书:W
4. UserId 用户实体唯一标
识
N String CA系统中的用户 ID号,即
证书实体唯一标识
5. CommonName 证书主体 N String 用户姓名或单位名称,该内
容为签发的证书主题名称
6. PaperType 证件类型 N String 组织机构代码:JJ
工商营业执照:GS
税务登记证:SW
身份证:SF
军官证:JG
护照:HZ
回乡证:HX
其他:QT
7. PaperID 证件号码 N String 个人证书和工作人员证书填
身份证号码、军官证、护照
或其他;
机构证书和设备证书填组织
机构代码、工商营业执照、
税务登记证或其他。
8. ProvinceName 省份名称 N String 省份名称必须有
9. LocalityName 城市名称 N String 城市名称必须有
10. UnitName 单位名称 N String 单位名称必须有
11. DepartmentName 部门名称 N String 部门名称
12. PostalAddress 邮政地址 Y String 邮政地址
13. PostalCode 邮政编码 Y String 应为 6位数字
14. AgentMan 联系人 Y String 联系人
15. TelephoneNumber 用户电话号码 Y String 单位证书时,应为单位的固
定电话
16. Fax 用户传真号码 Y String 用户传真号码
17. E_mail 用户电子邮件 Y String 可选项,单位证书时,与经
办人信息一致。
18. MobileTelephone 用户手机号码 Y String 可选项,单位证书时,与经
办人信息一致。
19. EncCertData 加密证书 Y String 用户证书,BASE64编码(加
密证书和签名证书不能同时
为空!)
20. SignCertData 签名证书 Y String 用户证书,BASE64编码(加
密证书和签名证书不能同时
为空!)
21. TransName 经办人姓名 Y String 单位证书时,非空
22. TransTel 经办人电话 Y String 单位证书时,非空
23. TransEmail 经办人电子邮件 Y String 单位证书时,非空
24. TransMobile 经办人手机号码 Y String 单位证书时,非空
25. TransPertype 经办人证件类型 Y String 身份证:SF
军官证:JG
护照:HZ
回乡证:HX
其他:QT
26. TransPaperID 经办人证件号码 Y String 填身份证号码、军官证、护
照或其他证件号码
27. TradeTime CA系统提交数据
时间
N String CA系统提交时间,格式
如:20071120133456
4
表 2 证书同步接口返回值说明表
序号 属性 属性名称
是 否
为空
数据类型
1. ErrorCode 返回代码 N 0:成功,其他值:失败(值为错误号)
EC301:验证数据签名失败
EC302:检查用户录入数据完整性错误
EC303:该用户发放数据已经同步成功
EC520:保存数据出现异常
2. Time 业务系统交易时
间
N 返回给 CA系统,格式如:20071120133456
3. strRetSignValue 签名值 N 接收端对返回代码 ErrorCode和时间
Time的数据组合进行的数字签名。签名
原文的数据格式是:ErrorCode +“,”+
Time
证书信息同步接口XML格式定义如下:
注:下文中的所有“CAURL”代表电子认证服务机构的服务网站URL,如。
<?xml version="" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http:///2001/XMLSchema-instance"
xmlns:xsd="http:///2001/XMLSchema"
xmlns:soapenc=" xmlns:tns="CAURL"
xmlns:types="CAURLencodedTypes" xmlns:soap="
<soap:Header>
<types:CredentialSoapHeader>
<UserName xsi:type="xsd:string">string</UserName>
<PassWord xsi:type="xsd:string">string</PassWord>
</types:CredentialSoapHeader>
</soap:Header>
<soap:Body soap:encodingStyle="
<q1:CertRequestInfoSyn xmlns:q1="CAURL/SU">
<userinfo href="#id1" />
<strSignValue xsi:type="xsd:string">string</strSignValue>
</q1:CertRequestInfoSyn>
<types:CUserInfo id="id1" xsi:type="types:CUserInfo"
xmlns:types="">
<TradeType xsi:type="xsd:string">string</TradeType>
<CaInfo xsi:type="xsd:string">string</CaInfo >
<CertType xsi:type="xsd:string">string</CertType >
<UserId xsi:type="xsd:string">string</UserId>
<CommonName xsi:type="xsd:string">string</CommonName>
<PaperType xsi:type="xsd:string">string</PaperType>
<PaperID xsi:type="xsd:string">string</PaperID>
<ProvinceName xsi:type="xsd:string">string</ProvinceName>
<LocalityName xsi:type="xsd:string">string</LocalityName>
<UnitName xsi:type="xsd:string">string</UnitName>
<DepartmentName xsi:type="xsd:string">string</DepartmentName>
<PostalAddress xsi:type="xsd:string">string</PostalAddress>
<PostalCode xsi:type="xsd:string">string</PostalCode>
<AgentMan xsi:type="xsd:string">string</AgentMan >
<TelephoneNumber xsi:type="xsd:string">string</TelephoneNumber>
<Fax xsi:type="xsd:string">string</Fax >
<E_mail xsi:type="xsd:string">string</E_mail>
<MobileTelephone xsi:type="xsd:string">string</MobileTelephone>
<EncCertData xsi:type="xsd:string">string</EncCertData>
<SignCertData xsi:type="xsd:string">string</SignCertData>
<TransName xsi:type="xsd:string">string</TransName >
<TransTel xsi:type="xsd:string">string</TransTel >
<TransEmail xsi:type="xsd:string">string</TransEmail >
<TransMobile xsi:type="xsd:string">string</TransMobile >
<TransPertype xsi:type="xsd:string">string</TransPertype >
<TransPaperID xsi:type="xsd:string">string</TransPaperID >
<TradeTime xsi:type="xsd:string">string</TradeTime >
</types:CUserInfo>
</soap:Body>
</soap:Envelope>
HTTP/ 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http:///2001/XMLSchema-instance"
xmlns:xsd="http:///2001/XMLSchema"
xmlns:soapenc=" xmlns:tns="CAURL"
xmlns:types="CAURLencodedTypes" xmlns:soap="
<soap:Body soap:encodingStyle="
<q4:CertRequestInfoSynResponse xmlns:q4="CAURL/SU">
<CertRequestInfoSynResult href="#id1" />
</q4:CertRequestInfoSynResponse >
<soapenc:Array id="id1" soapenc:arrayType="xsd:string[3]">
<Item>string</Item>
<Item>string</Item>
<Item>string</Item>
</soapenc:Array>
</soap:Body>
</soap:Envelope>
黑名单信息同步接口
函数原型:public string[] CrlInfoSyn(CCrlInfo crlrinfo, string strSignValue)
功能描述:CA系统调用该接口,将黑名单数据同步到卫生部数字证书服务管理系统。
6
输入参数:CCrlInfo:黑名单数据,具体内容见表3说明;
strSignValue:使用CA系统服务器证书对CCrlInfo域的数据进行的数字签名,数据原文采用XML数
据标准,示例代码见附录。签名算法采用sha1RSA,数字签名的数据格式为BASE64编码
格式。
返回值:见表4说明。
表 3 黑名单信息表
序号 属性 属性名称
是 否
为空
数据类型 备注
1. CaName CA身份标识 N String 电子认证服务机构身份
标识,由卫生部数字证
书服务管理系统统一分
配。
2. CrlName CRL别名 N String 针对一个 CA机构下多
个 CA证书链,对应多个
CRL文件,通过 CRLName
进行区分。CRLName参
数可使用 CRL颁发者的
通用名(即 CN)。
3. CrlData 本次传输的黑名单数
据
N String 黑名单(BASE64编码)
(最大不超过 400K)
4. Num 传输序号 N String 不大于 allNum
5. allNum 传输的总次数 N String
6. TradeTime CA系统交易时间 N String CA系统提交时间,格式
如:20100520133456
表 4 黑名单同步接口返回值表
序号 属性 属性名称
是 否
为空
数据类型 备注
1. ErrorCode 错误代码 N String 0:成功;
其他值:失败
错误代码如下:
EC301:验证数据签名失
败
EC302:该黑名单已经同
步成功
EC303:保存数据出现异
常
EC304:超时
2. TradeEndTime 数据同步完成时间 N String 返回给 CA系统,格式为
YYMMDDHHMMSSZ, 如 :
20100520133456
3. strRetSignValu
e
返回的签名子 N String 接收端对返回数据的签
名值(Base64编码)。原
文 数 据 格 式 :
ErrorCode+“,”+Trade
EndTime。
黑名单信息接口 XML格式定义如下:
<?xml version="" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http:///2001/XMLSchema-instance"
xmlns:xsd="http:///2001/XMLSchema"
xmlns:soapenc=" xmlns:tns="CAURL"
xmlns:types="CAURL/encodedTypes"
xmlns:soap="
<soap:Header>
<types:CredentialSoapHeader>
<UserName xsi:type="xsd:string">string</UserName>
<PassWord xsi:type="xsd:string">string</PassWord>
</types:CredentialSoapHeader>
</soap:Header>
<soap:Body soap:encodingStyle="
<q1:CrlInfoSyn xmlns:q1="CAURLSU">
<userinfo href="#id1" />
<strSignValue xsi:type="xsd:string">string</strSignValue>
</q1:CrlInfoSyn>
<types:CCrlInfo id="id1" xsi:type="types:CCrlInfo"
xmlns:types="">
<CaName xsi:type="xsd:string">string</CaName >
<CrlName xsi:type="xsd:string">string</CrlName>
<CrlData xsi:type="xsd:string">string</CrlData >
<num xsi:type="xsd:string">string</num >
<allNum xsi:type="xsd:string">string</allNum >
<TradeTime xsi:type="xsd:string">string</TradeTime >
</types:CCrlInfo>
</soap:Body>
</soap:Envelope>
HTTP/ 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http:///2001/XMLSchema-instance"
xmlns:xsd="http:///2001/XMLSchema"
xmlns:soapenc=" xmlns:tns="CAURL"
xmlns:types="CAURLencodedTypes" xmlns:soap="
<soap:Body soap:encodingStyle="
8
<q4:CrlInfoSynResponse xmlns:q4="CAURLSU">
<CrlInfoSynResult href="#id1" />
</q4:CrlInfoSynResponse>
<soapenc:Array id="id1" soapenc:arrayType="xsd:string[3]">
<Item>string</Item>
<Item>string</Item>
<Item>string</Item>
</soapenc:Array>
</soap:Body>
</soap:Envelope>
查询证书信息接口
函数原型:public CCertInfo GetSingleCertInfo(string paperType,string paperID,
string commonName, string caName, string strSignValue)
功能描述:CA系统调用该接口,获取该证书是否存在的详细信息。
输入参数:paperType:证件类型;paperID:证件号码;
commonName:用户姓名或单位名称,该内容为签发的证书主题名称;
caName: 由卫生部数字证书服务管理系统统一分配
strSignValue:使用CA系统服务器证书对三个参数的数据进行的数字签名,数据原文采用XML数据
标准,示例代码见附录。签名算法采用sha1RSA,数字签名的数据格式为BASE64编码格
式。
返回值:见表5说明。
表 5查询证书信息接口返回值表
序号 属性 属性名称
是否
为空
数据类型 备注
1. CaName 证书的颁发者 N String 颁发者(电子认证服务
机构身份标识,由卫生
部数字证书服务管理
系统统一分配)
2. CommonName 证书主体 N String 用户姓名或单位名称,
该内容为签发的证书
主题名称
3. PaperType 证件类型 N String 组织机构代码:JJ
工商营业执照:GS
税务登记证:SW
身份证:SF
军官证:JG
护照:HZ
回乡证:HX
其他:QT
4. PaperID 证件号码 N String 个人证书和工作人员
证书填身份证号码、军
官证、护照或其他;
机构证书和设备证书
填组织机构代码、工商
营业执照、税务登记证
或其他。
5. BeginDate 开始日期 N String 证书有效期的开始日
期
6. EndDate 截止日期 N String 证书有效期的截止日
期
7. CertType 证书类型 N String 工作人员证书:G;
内部机构证书:U;
内部设备证书:S
外部个人证书:P
外部机构证书:J
外部设备证书:W
8. UserId 用户实体唯一标识 N String CA系统中的用户ID号,
即证书实体唯一标识
9. TradeTime CA系统提交数据时
间
N String CA系统提交时间,格式
如:20100520133456
10. CertUniuqie
d
证书序列号 N String 证书序列号
(如果是双证书返回的
是加密证书和签名证
书组成的字符串,并用
英文的逗号分隔)
11. ErrorCode 错误代码 N String 0:没有找到该证书信
息;
其他值:失败
错误代码如下:
EC301:验证数据签名
失败
EC302:该证书信息已
经存在,且是有效证书。
EC303:查询数据出现
异常
EC304:超时
EC305:该证书信息已
经存在,且证书过期。
EC306:该证书信息已
经存在,且证书被吊销。
12. TradeEndTim
e
查询数据完成时间 N String 返回给 CA系统,格式为
YYMMDDHHMMSSZ,如:
20100520133456
13. strRetSignV
alue
返回的签名值 N String 接收端对返回数据的
签名值(Base64编码)。
10
原 文 数 据 格 式 :
ErrorCode+“,”+Trad
eEndTime。
查询证书基本信息接口 XML格式定义如下:
<?xml version="" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http:///2001/XMLSchema-instance"
xmlns:xsd="http:///2001/XMLSchema"
xmlns:soapenc=" xmlns:tns="CAURL"
xmlns:types="CAURL/encodedTypes"
xmlns:soap="
<soap:Header>
<types:CredentialSoapHeader>
<UserName xsi:type="xsd:string">string</UserName>
<PassWord xsi:type="xsd:string">string</PassWord>
</types:CredentialSoapHeader>
</soap:Header>
<soap:Body soap:encodingStyle="
<q1:GetSingleCertInfo xmlns:q1="CAURLSU">
<PaperType xsi:type="xsd:string">string</PaperType>
<PaperID xsi:type="xsd:string">string</PaperID>
<CommonName xsi:type="xsd:string">string</CommonName>
<CaName xsi:type="xsd:string">string</CaName >
<StrSignValue xsi:type="xsd:string">string</StrSignValue>
</q1:GetSingleCertInfo>
</soap:Body>
</soap:Envelope>
HTTP/ 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http:///2001/XMLSchema-instance"
xmlns:xsd="http:///2001/XMLSchema"
xmlns:soapenc=" xmlns:tns="CAURL"
xmlns:types="CAURLencodedTypes" xmlns:soap="
<soap:Body soap:encodingStyle="
<q4:GetSingleCertInfoResponse xmlns:q4="CAURLSU">
<GetSingleCertInfoResult href="#id1" />
</q4:GetSingleCertInfoResponse>
<types:CCertInfo id="id1" xsi:type="types:CCertInfo"
xmlns:types="">
<UserID xsi:type="xsd:string">string</UserID >
<BeginDate xsi:type="xsd:string">string</BeginDate>
<CaName xsi:type="xsd:string">string</CaName>
<CertType xsi:type="xsd:string">string</CertType >
<CertUniuqied xsi:type="xsd:string">string</CertUniuqied>
<CommonName xsi:type="xsd:string">string</CommonName>
<PaperType xsi:type="xsd:string">string</PaperType>
<PaperID xsi:type="xsd:string">string</PaperID>
<EndDate xsi:type="xsd:string">string</EndDate>
<ErrorCode xsi:type="xsd:string">string</ErrorCode>
<StrRetSignValue xsi:type="xsd:string">string</StrRetSignValue>
<TradeEndTimexsi:type="xsd:string">string</TradeEndTime>
<TradeTime xsi:type="xsd:string">string</TradeTime >
</types:CCertInfo>
</soap:Body>
</soap:Envelope>
5 WSDL文件
WSDL原文
请参看以下是原文,供编码使用。
<?xml version="" encoding="UTF-8"?>
<wsdl:definitions targetNamespace=""
xmlns:apachesoap="
xmlns:impl=""
xmlns:intf=""
xmlns:soapenc="
xmlns:tns1=""
xmlns:wsdl="
xmlns:wsdlsoap="
xmlns:xsd="http://"/>
12
<import
namespace="
<complexType name="CUserInfo">
<sequence>
<element name="agentMan" nillable="true"
type="xsd:string"/>
<element name="caInfo" nillable="true"
type="xsd:string"/>
<element name="certType" nillable="true"
type="xsd:string"/>
<element name="commonName" nillable="true"
type="xsd:string"/>
<element name="departmentName" nillable="true"
type="xsd:string"/>
<element name="e_mail" nillable="true"
type="xsd:string"/>
<element name="encCertData" nillable="true"
type="xsd:string"/>
<element name="extendValue1" nillable="true"
type="xsd:string"/>
<element name="fax" nillable="true" type="xsd:string"/>
<element name="icregistCode" nillable="true"
type="xsd:string"/>
<element name="insuranceNumber" nillable="true"
type="xsd:string"/>
<element name="leagalPerson" nillable="true"
type="xsd:string"/>
<element name="localityName" nillable="true"
type="xsd:string"/>
<element name="mobileTelephone" nillable="true"
type="xsd:string"/>
<element name="paperID" nillable="true"
type="xsd:string"/>
<element name="paperType" nillable="true"
type="xsd:string"/>
<element name="postalAddress" nillable="true"
type="xsd:string"/>
<element name="postalCode" nillable="true"
14
type="xsd:string"/>
<element name="provinceName" nillable="true"
type="xsd:string"/>
<element name="signCertData" nillable="true"
type="xsd:string"/>
<element name="taxRegisterID" nillable="true"
type="xsd:string"/>
<element name="telephoneNumber" nillable="true"
type="xsd:string"/>
<element name="tradeTime" nillable="true"
type="xsd:string"/>
<element name="tradeType" nillable="true"
type="xsd:string"/>
<element name="transEmail" nillable="true"
type="xsd:string"/>
<element name="transMobile" nillable="true"
type="xsd:string"/>
<element name="transName" nillable="true"
type="xsd:string"/>
<element name="transPaperID" nillable="true"
type="xsd:string"/>
<element name="transPertype" nillable="true"
type="xsd:string"/>
<element name="transTel" nillable="true"
type="xsd:string"/>
<element name="unitName" nillable="true"
type="xsd:string"/>
<element name="userId" nillable="true"
type="xsd:string"/>
</sequence>
</complexType>
<complexType name="CCrlInfo">
<sequence>
<element name="allNum" nillable="true"
type="xsd:string"/>
<element name="caName" nillable="true"
type="xsd:string"/>
<element name="crlData" nillable="true"
16
type="xsd:string"/>
<element name="crlName" nillable="true"
type="xsd:string"/>
<element name="num" nillable="true" type="xsd:string"/>
<element name="tradeTime" nillable="true"
type="xsd:string"/>
</sequence>
</complexType>
<complexType name="CCertInfo">
<sequence>
<element name="beginDate" nillable="true"
type="xsd:string"/>
<element name="caName" nillable="true"
type="xsd:string"/>
<element name="certType" nillable="true"
type="xsd:string"/>
<element name="certUniuqied" nillable="true"
type="xsd:string"/>
<element name="commonName" nillable="true"
type="xsd:string"/>
<element name="endDate" nillable="true"
type="xsd:string"/>
<element name="errorCode" nillable="true"
type="xsd:string"/>
<element name="paperID" nillable="true"
type="xsd:string"/>
<element name="paperType" nillable="true"
type="xsd:string"/>
<element name="strRetSignValue" nillable="true"
type="xsd:string"/>
<element name="tradeEndTime" nillable="true"
type="xsd:string"/>
<element name="tradeTime" nillable="true"
type="xsd:string"/>
<element name="userId" nillable="true"
type="xsd:string"/>
</sequence>
</complexType>
18
</schema>
<schema targetNamespace=""
xmlns="http://" use="encoded"/>
</wsdl:input>
<wsdl:output name="CertRequestInfoSynResponse">
<wsdlsoap:body
encodingStyle="
namespace="" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CrlInfoSyn">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="CrlInfoSynRequest">
<wsdlsoap:body
encodingStyle="
namespace="" use="encoded"/>
</wsdl:input>
<wsdl:output name="CrlInfoSynResponse">
<wsdlsoap:body
encodingStyle="
namespace="" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetSingleCertInfo">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="GetSingleCertInfoRequest">
<wsdlsoap:body
encodingStyle="
namespace="" use="encoded"/>
</wsdl:input>
<wsdl:output name="GetSingleCertInfoResponse">
<wsdlsoap:body
encodingStyle="
namespace="" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
20
<wsdl:service name="WSInterfaceService">
<wsdl:port binding="impl:WSInterfaceSoapBinding"
name="WSInterface">
<wsdlsoap:address
location="http://localhost:8080/MOHInterface/services/WSInterf
ace"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
附录
(资料性附录)
名词解释
1、数字证书
数字证书(Digital Certificate),是由权威的电子认证服务机构进行数字签名的,包含拥有者信
息、拥有者公开密钥、签发者信息、有效期以及一些扩展信息的数字文件。
2、黑名单
黑名单,即证书撤销列表(Certificate Revocation List),简称 CRL,是由权威电子认证服务机
构签发的,含有被作废证书序列号的数字文件。
3、CA系统
证书认证系统( Certificate Authentication System),简称 CA系统,是对数字证书进行证书生
命周期全过程管理的安全系统。
4、数字证书服务管理系统
数字证书服务管理系统(Digital Certificate Serving Management System),是卫生部建设的统
一管理数字证书信息和 CA机构服务质量的信息系统。
5、
import ;
import ;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2009</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version
*/
public class CreateXML {
public CreateXML() {
}
public String createCUserXmlSourceData(CUserInfo userinfo) {
//获得属性值
String tradeType = ();
String caInfo = ();
String certType = ();
String userId = ();
String commonName = ();
22
String paperType = ();
String paperID = ();
//以上属性均不能为空
String provinceName = ();
if (provinceName == null) {
provinceName = "";
}
String localityName = ();
if (localityName == null) {
localityName = "";
}
String unitName = ();
if (unitName == null) {
unitName = "";
}
String departmentName = ();
if (departmentName == null) {
departmentName = "";
}
String postalAddress = ();
if (postalAddress == null) {
postalAddress = "";
}
String postalCode = ();
if (postalCode == null) {
postalCode = "";
}
String agentMan = ();
if (agentMan == null) {
agentMan = "";
}
String telephoneNumber = ();
if (telephoneNumber == null) {
telephoneNumber = "";
}
String fax = ();
if (fax == null) {
fax = "";
}
String e_mail = _mail();
if (e_mail == null) {
e_mail = "";
}
String mobileTelephone = ();
if (mobileTelephone == null) {
mobileTelephone = "";
}
String insuranceNumber = ();
if (insuranceNumber == null) {
insuranceNumber = "";
}
String icregistCode = ();
if (icregistCode == null) {
icregistCode = "";
}
String leagalPerson = ();
if (leagalPerson == null) {
leagalPerson = "";
}
String taxRegisterID = ();
if (taxRegisterID == null) {
taxRegisterID = "";
}
String extendValue1 = ();
if (extendValue1 == null) {
extendValue1 = "";
}
String encCertData = ();
if (encCertData == null) {
encCertData = "";
}
String signCertData = ();
24
if (signCertData == null) {
signCertData = "";
}
String transName = ();
if (transName == null) {
transName = "";
}
String transTel = ();
if (transTel == null) {
transTel = "";
}
String transEmail = ();
if (transEmail == null) {
transEmail = "";
}
String transMobile = ();
if (transMobile == null) {
transMobile = "";
}
String transPaperID = ();
if (transPaperID == null) {
transPaperID = "";
}
String transPertype = ();
if (transPertype == null) {
transPertype = "";
}
String tradeTime = ();
if (tradeTime == null) {
tradeTime = "";
}
//组成 XML
String xmlCUser = "<?xml version=\"\" encoding=\"GBK\"?>";
xmlCUser = xmlCUser + "";
xmlCUser = xmlCUser + "<CUser-info>";
xmlCUser = xmlCUser + "<TradeType>" + tradeType + "</TradeType>";
xmlCUser = xmlCUser + "<CaInfo>" + caInfo + "</CaInfo>";
xmlCUser = xmlCUser + "<CertType>" + certType + "</CertType>";
xmlCUser = xmlCUser + "<UserId>" + userId + "</UserId>";
xmlCUser = xmlCUser + "<CommonName>" + commonName + "</CommonName>";
xmlCUser = xmlCUser + "<PaperType>" + paperType + "</PaperType>";
xmlCUser = xmlCUser + "<PaperID>" + paperID + "</PaperID>";
xmlCUser = xmlCUser + "<ProvinceName>" + provinceName +
"</ProvinceName>";
xmlCUser = xmlCUser + "<LocalityName>" + localityName +
"</LocalityName>";
xmlCUser = xmlCUser + "<UnitName>" + unitName + "</UnitName>";
xmlCUser = xmlCUser + "<DepartmentName>" + departmentName +
"</DepartmentName>";
xmlCUser = xmlCUser + "<PostalAddress>" + postalAddress +
"</PostalAddress>";
xmlCUser = xmlCUser + "<PostalCode>" + postalCode + "</PostalCode>";
xmlCUser = xmlCUser + "<AgentMan>" + agentMan + "</AgentMan>";
xmlCUser = xmlCUser + "<TelephoneNumber>" + telephoneNumber +
"</TelephoneNumber>";
xmlCUser = xmlCUser + "<Fax>" + fax + "</Fax>";
xmlCUser = xmlCUser + "<E_mail>" + e_mail + "</E_mail>";
xmlCUser = xmlCUser + "<MobileTelephone>" + mobileTelephone +
"</MobileTelephone>";
xmlCUser = xmlCUser + "<InsuranceNumber>" + insuranceNumber +
"</InsuranceNumber>";
xmlCUser = xmlCUser + "<IcregistCode>" + icregistCode +
"</IcregistCode>";
xmlCUser = xmlCUser + "<LeagalPerson>" + leagalPerson +
"</LeagalPerson>";
xmlCUser = xmlCUser + "<TaxRegisterID>" + taxRegisterID +
"</TaxRegisterID>";
xmlCUser = xmlCUser + "<ExtendValue1>" + extendValue1 +
"</ExtendValue1>";
xmlCUser = xmlCUser + "<EncCertData>" + encCertData + "</EncCertData>";
xmlCUser = xmlCUser + "<SignCertData>" + signCertData +
"</SignCertData>";
xmlCUser = xmlCUser + "<TransName>" + transName + "</TransName>";
xmlCUser = xmlCUser + "<TransTel>" + transTel + "</TransTel>";
xmlCUser = xmlCUser + "<TransEmail>" + transEmail + "</TransEmail>";
xmlCUser = xmlCUser + "<TransMobile>" + transMobile + "</TransMobile>";
xmlCUser = xmlCUser + "<TransPertype>" + transPertype +
"</TransPertype>";
xmlCUser = xmlCUser + "<TransPaperID>" + transPaperID +
"</TransPaperID>";
26
xmlCUser = xmlCUser + "<TradeTime>" + tradeTime + "</TradeTime>";
xmlCUser = xmlCUser + "</CUser-info>";
// (xmlCUser);
return xmlCUser;
}
public String createCCRLXmlSourceData(CCrlInfo crlinfo) {
//获得属性值
String caName = ();
String crlName = ();
String crlData = ();
String num = ();
String allNum = ();
String tradeTime = ();
//以上属性均不能为空
//组成 XML
String xmlCrl = "<?xml version=\"\" encoding=\"GBK\"?>";
xmlCrl = xmlCrl + "";
xmlCrl = xmlCrl + "<CCrl-info>";
xmlCrl = xmlCrl + "<CaName>" + caName + "</CaName>";
xmlCrl = xmlCrl + "<CRLName>" + crlName + "</CRLName>";
xmlCrl = xmlCrl + "<CrlData>" + crlData + "</CrlData>";
xmlCrl = xmlCrl + "<Num>" + num + "</Num>";
xmlCrl = xmlCrl + "<AllNum>" + allNum + "</AllNum>";
xmlCrl = xmlCrl + "<TradeTime>" + tradeTime + "</TradeTime>";
xmlCrl = xmlCrl + "</CCrl-info>";
// (xmlCrl);
return xmlCrl;
}
public String createCCertXMLSourceData(String paperType, String paperID,
String commonName, String caName){
String strXML = "";
strXML = "<?xml version=\"\" encoding=\"GBK\"?>";
strXML = strXML + "";
strXML = strXML + "<CCert-Info>";
strXML = strXML + "<CommonName>" + commonName + "</CommonName>";
strXML = strXML + "<PaperType>" + paperType + "</PaperType>";
strXML = strXML + "<PaperID>" + paperID + "</PaperID>";
strXML = strXML + "<CAName>" + caName + "</CAName>";
strXML = strXML + "</CCert-Info>";
// (strXML);
return strXML;
}
}
6、数字证书服务管理系统的测试服务器证书
MIIE9TCCA92gAwIBAgIKIAAAAAAAARJTczANBgkqhkiG9w0BAQUFADA6MQswCQYDVQQGEwJDTjENM
AsGA1UECgwEQkpDQTENMAsGA1UECwwEQkpDQTENMAsGA1UEAwwEQkpDQTAeFw0wOTEwMjExNjAwMD
BaFw0xMTEwMDExNTU5NTlaMEgxCzAJBgNVBAYTAkNOMQ0wCwYDVQQKDARCSkNBMQ0wCwYDVQQLDAR
CSkNBMRswGQYDVQQDDBLmnI3liqHlmajor4HkuabkuIAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAInLo4VW6RLWDkzxgn3gkYzvzPWOgG0JHVG1KWb18oGd+lo5RNOERn6rj6qmso7M1C5El5Zsu
6jPjz0EL7/XmfUKhFhv7raii+MOlM89PFe/8ifd0e5FoW7733pGua3MDUGxySdD73rU9JHnr60FRT
uyz2zus0vForyWZumznyS/AgMBAAGjggJxMIICbTAfBgNVHSMEGDAWgBTBzihoGF2OgzPxlaoIwz2
KCJqddjAMBgNVHQ8EBQMDB/gAMCsGA1UdEAQkMCKADzIwMDkxMDIyMDAwMDAwWoEPMjAxMTEwMDEy
MzU5NTlaMAkGA1UdEwQCMAAwgZkGA1UdHwSBkTCBjjBWoFSgUqRQME4xCzAJBgNVBAYTAkNOMQ0wC
wYDVQQKDARCSkNBMQ0wCwYDVQQLDARCSkNBMQ0wCwYDVQQDDARCSkNBMRIwEAYDVQQDEwljYTJjcm
wzNDkwNKAyoDCGLmh0dHA6Ly9sZGFwLmJqY2Eub3JnLmNuL2NybC9iamNhL2NhMmNybDM0OS5jcmw
wEQYJYIZIAYb4QgEBBAQDAgD/MCoGC2CGSAFlAwIBMAkKBBtodHRwOi8vYmpjYS5vcmcuY24vYmpj
YS5jcnQwGgYFKlYLBwkEEUpKMDExMDAwMTAwMDE1MTExMB0GCGCGSAGG+EQCBBFKSjAxMTAwMDEwM
DAxNTExMTAbBggqVoZIAYEwAQQPMDExMDAwMTAwMDE1MTExMB4GBipWCwcBCAQUMUJASkowMTEwMD
AxMDAwMTUxMTEwgbAGA1UdIASBqDCBpTA1BgkqgRwBxTiBFQEwKDAmBggrBgEFBQcCARYaaHR0cDo
vL3d3dy5iamNhLm9yZy5jbi9jcHMwNQYJKoEcAcU4gRUCMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly93
d3cuYmpjYS5vcmcuY24vY3BzMDUGCSqBHAHFOIEVAzAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3L
mJqY2Eub3JnLmNuL2NwczANBgkqhkiG9w0BAQUFAAOCAQEAgjF3O4M0Ztt1ykvbpMLWtCMlJ4sXZh
6ABh/XW3tC72wldX9KwJZIHG1lLYgumWHJdZjKL1AzayUntl7ifjkNEIMjU1oqajAAMXSPIPV84hg
RCVCx54ue+udknVFQhO1dfAl5cdc4SU2rftIUmx8FG0BF9qwNwE7GdIx8cdYusdXFivYKcExypBQr
28
RS284QOlB1a4GEoU1Pf7OvZ/86wzMRwic3DxM4iZjvJv+G4okR0w2HvRaYO7fsY4H2yBvjtiKoiur
yA6pqHIRtcgQvpxOdlRmxZgL5x4Ss3aJcIxUSJ7SF6w/nF5ywD/VSZZ8/jo7/avISOEuqDmvkqDYn
0Txw==