RA20CS接口开发手册.docx
《RA20CS接口开发手册.docx》由会员分享,可在线阅读,更多相关《RA20CS接口开发手册.docx(33页珍藏版)》请在冰豆网上搜索。
RA20CS接口开发手册
RA2.0C/S接口开发手册
1.概述
RA2.0C/S接口采用ApacheAxis来开发WebService,可以完成B/S结构全部的证书管理功能,包括证书的申请、补发、换发、冻结、解冻、吊销、两码重发、制证以及证书查询等。
2.使用对象
使用C/S结构RA系统的开发人员。
3.使用方法
开发客户端应用程序时,先将CS客户端程序\lib目录下的包引入到客户端应用程序中。
如果应用程序运行在jdk1.3上,将CS客户端程序\xml目录下的包引入到客户端应用程序中。
如果jdk版本在1.3以上不要引入\xml目录下的包,否则会有包冲突。
4.RA系统C/S接口说明
4.1证书申请
PublicReturnDatacertApply(CertApplyVOcertApplyVO)
Ø功能说明
提交一个证书申请请求,返回构造好的证书DN、参考号和授权码,如发生异常,则返回错误码和错误信息。
Ø输入参数
CertApplyVO包含
参数
类型
参数说明
是否必填
certTypeEname
String
证书类型英文名(只能按下面内容设置参数)
Customers–个人普通
BusinessCustomers-个人高级证书
Enterprises–企业普通
Units–企业高级
WebServers–Web服务器证书
是
userName
String
用户名(长度限制:
80)
是
engName
String
用户英文名(长度限制:
80)
是
idTypeCode
String
证件类型编码(参照附件1)
是
userIdNo
String
证件号(长度限制:
80)
是
email
String
电子邮件(长度限制:
80)
是
address
String
地址(长度限制:
80)
否
telNo
String
电话号码(长度限制:
80)
否
organCode
String
机构编码(长度限制:
20)
是
domainName
String
域名(长度限制:
80)
否(申请Web服务器证书时必填)
extInfo
String
扩展域值(长度限制:
512)
否
Ø输出参数
ReturnData包含:
参数
类型
参数说明
dn
String
证书DN
refNo
String
证书参考号
authCode
String
证书授权码
errorCode
String
错误码
errorInfo
String
错误信息
Ø错误码和错误信息
错误码
错误信息
80010001
该用户证书已经被申请
80010203
数据有效性检查证书类型不能为空
80010207
数据有效性检查该证书已经不存在,请重新查询
80010209
数据有效性检查姓名不能为空
80010210
数据有效性检查英文名不能为空
80010211
数据有效性检查证件类型不能为空
80010212
数据有效性检查证件编号不能为空
80010213
数据有效性检查电子邮件地址不能为空
80010214
数据有效性检查电子邮件地址格式不对
80010215
数据有效性检查机构不能为空
80010219
数据有效性检查域名不能为空
80010222
数据有效性检查姓名长度超过数据库限制,长度不能超过80位
80010223
数据有效性检查英文名长度超过数据库限制,长度不能超过80位
80010224
数据有效性检查地址长度超过数据库限制,长度不能超过80位
80010225
数据有效性检查电子邮件长度超过数据库限制,长度不能超过80位
80010226
数据有效性检查域名长度超过数据库限制,长度不能超过80位
80010227
数据有效性检查电话长度超过数据库限制,长度不能超过80位
80010228
数据有效性检查证件号码长度超过数据库限制,长度不能超过80位
80010229
数据有效性检查身份证号码只能是15位或18位
80010230
数据有效性检查机构编码长度超过数据库限制,长度不能超过20位
80010231
数据有效性检查域名长度超过数据库限制,长度不能超过80位
80010232
数据有效性检查系统不支持的两码发送方式
80010233
数据有效性检查系统不支持的证件类型
80010234
数据有效性检查系统不支持的证书类型
80010235
数据有效性检查扩展值长度超过数据库限制,长度不能超过512位
80010401
连接CA服务器失败
80010402
CA处理业务失败
80010403
释放CA连接失败
80010404
解析CA响应数据失败
80010405
CA拒绝申请
80010406
获得CA返回的业务结果失败
80010501
数据库操作错误
80010601
对扩展信息进行编码出错
80019999
服务器端系统错误
Ø调用示例
publicstaticvoidmain(String[]args){
try{
Stringwsdl="http:
//localhost:
8080/raWeb/services/CSProcessor?
WSDL";
URLwsdlUrl=newURL(wsdl);
//取得Web服务
CSProcessorSoapBindingStubservice=(CSProcessorSoapBindingStub)new
CSProcessorServiceLocator().
getCSProcessor(wsdlUrl);
//构造输入参数对象
CertApplyVOcertApplyVO=newCertApplyVO();
//设置用户姓名
certApplyVO.setUserName("test");
//设置用户英文名
certApplyVO.setEngName("test");
//设置用户地址
certApplyVO.setAddress("Beijing");
//设置邮编
certApplyVO.setZipCode("246725");
//设置电子邮件
certApplyVO.setEmail("username@");
//设置电话号码
certApplyVO.setTelNo("12345678");
//设置证件类型
certApplyVO.setIdTypeCode(RAConstant.PASSPORT);
//设置证件号
certApplyVO.setUserIdNo("5108888888888x");
//设置机构编码
certApplyVO.setOrganCode("10001");
//证书类型
certApplyVO.setCertTypeEname(RAConstant.CERT_TYPE_USER);
//证书起始时间
certApplyVO.setStartTime("20070510000000");
//证书截止时间
certApplyVO.setEndTime("20080509100000");
com.cfca.ra.cs.generated.ReturnDataresult=service.certApply(certApplyVO);
if(result!
=null){
if(result.getErrorCode==null){//判断返回错误码是否为空,如果为空,则表明申请成功
System.out.println("dn="+result.getDn());//返回的证书DN(cn中包含序号)
System.out.println("refNo="+result.getRefNo());//返回的证书参考号
System.out.println("authCode="+result.getAuthCode());//返回的证书授权码(明文)
}
}
}catch(Exceptione){
e.printStackTrace();
}
}
4.2证书补发
PublicReturnDatacertRenew(Stringdn)
Ø功能说明
提交一个证书补发请求。
吊销旧证书,获得新证书的两码。
新证书的有效截止日期不变。
Ø输入参数
参数
类型
参数说明
是否必填
dn
String
做补发操作的证书DN(长度限制:
256)
是
Ø输出参数
ReturnData包含:
参数
类型
参数说明
refNo
String
证书参考号
authCode
String
证书授权码
errorCode
String
错误码
errorInfo
String
错误信息
Ø错误码和错误信息
错误码
错误信息
80050001
要操作的证书不存在或证书不是激活状态
80050303
状态检查证书已经不是“激活”状态
80050401
连接CA服务器失败
80050402
CA处理业务失败
80050403
释放CA连接失败
80050404
解析CA响应数据失败
80050405
CA拒绝申请
80050406
获得CA返回的业务结果失败
80050501
数据库操作错误
80059999
服务器端系统错误
Ø调用示例
publicstaticvoidmain(String[]args){
System.out.println("RA2.0C/S接口功能测试!
");
try{
Stringwsdl="http:
//localhost:
8080/raWeb/services/CSProcessor?
WSDL";
URLwsdlUrl=newURL(wsdl);
//取得Web服务
CSProcessorSoapBindingStubservice=(CSProcessorSoapBindingStub)new
CSProcessorServiceLocator().
getCSProcessor(wsdlUrl);
//调用证书补发业务(参数为证书DN)
ReturnDatarenewData=service.certRenew("cn=041@1endUser00001@endUser00001@00000001,ou=Customers,ou=tccb,o=CFCATESTCA,c=cn");
if(renewData!
=null){
if(result.getErrorCode==null){//判断返回错误码是否为空,如果为恐则表明补发成功
System.out.println("dn="+result.getDn());//返回的证书DN
System.out.println("refNo="+result.getRefNo());//返回的证书参考号
System.out.println("authCode="+result.getAuthCode());//返回的证书授权码(明文)
}else{
System.out.println("Theresultisnull!
");
}
}catch(Exceptione){
e.printStackTrace();
}
}
4.3证书换发
PublicReturnDatacertUpdate(Stringdn)
Ø功能说明
提交一个证书换发请求。
吊销旧证书,获得新证书的两码。
新证书的有效截止日期改变。
Ø输入参数
参数
类型
参数说明
是否必填
dn
String
做换发操作的证书DN(长度限制:
256)
是
Ø输出参数
ReturnData包含:
参数
类型
参数说明
refNo
String
证书参考号
authCode
String
证书授权码
errorCode
String
错误码
errorInfo
String
错误信息
Ø错误码和错误信息
错误码
错误信息
80080001
要操作的证书不存在或证书不是激活状态
80080002
要操作的证书现在不能被换发,必须在有效期截止日前*月内进行换发
80080303
状态检查证书已经不是“激活”状态
80080401
连接CA服务器失败
80080402
CA处理业务失败
80080403
释放CA连接失败
80080404
解析CA响应数据失败
80080405
CA拒绝申请
80080406
获得CA返回的业务结果失败
80080501
数据库操作错误
80089999
服务器端系统错误
Ø调用示例
publicstaticvoidmain(String[]args){
System.out.println("RA2.0C/S接口功能测试!
");
try{
Stringwsdl="http:
//localhost:
8080/raWeb/services/CSProcessor?
WSDL";
URLwsdlUrl=newURL(wsdl);
//取得Web服务
CSProcessorSoapBindingStubservice=(CSProcessorSoapBindingStub)new
CSProcessorServiceLocator().
getCSProcessor(wsdlUrl);
//调用证书换发业务
ReturnDataupdateData=service.certUpdate("cn=041@1endUser00001@endUser00001@00000001,ou=Customers,ou=tccb,o=CFCATESTCA,c=cn");
if(updateData!
=null){
if(updateData.getErrorCode==null){//判断返回错误码是否为空,如果为空则表明换发成功
System.out.println("dn="+result.getDn());//返回的证书DN
System.out.println("refNo="+result.getRefNo());//返回的证书参考号
System.out.println("authCode="+result.getAuthCode());//返回的证书授权码(明文)
}else{
System.out.println("errorInfo="+result.getErrorInfo());//返回的错误信息
}
}else{
System.out.println("Theresultisnull!
");
}
}catch(Exceptione){
e.printStackTrace();
}
}
4.4证书冻结
PublicReturnDatacertFreeze(Stringdn)
Ø功能说明
提交一个证书冻结请求。
将证书状态置为“冻结”
Ø输入参数
参数
类型
参数说明
是否必填
dn
String
证书DN(长度限制:
256)
是
Ø输出参数
ReturnData包含:
参数
类型
参数说明
errorCode
String
错误码
errorInfo
String
错误信息
Ø错误码和错误信息
错误码
错误信息
80140001
要操作的证书不存在或证书不是激活状态
80140303
状态检查证书已经不是“激活”状态
80140401
连接CA服务器失败
80140402
CA处理业务失败
80140403
释放CA连接失败
80140404
解析CA响应数据失败
80140405
CA拒绝申请
80140406
获得CA返回的业务结果失败
80140501
数据库操作错误
80149999
服务器端系统错误
Ø调用示例
publicstaticvoidmain(String[]args){
System.out.println("RA2.0C/S接口功能测试!
");
try{
Stringwsdl="http:
//localhost:
8080/raWeb/services/CSProcessor?
WSDL";
URLwsdlUrl=newURL(wsdl);
//取得Web服务
CSProcessorSoapBindingStubservice=(CSProcessorSoapBindingStub)new
CSProcessorServiceLocator().
getCSProcessor(wsdlUrl);
//调用证书冻结服务
ReturnDatafreezeData=service.certFreeze("cn=041@1endUser00001@endUser00001@00000001,ou=Customers,ou=tccb,o=CFCATESTCA,c=cn");
if(freezeData!
=null){
System.out.println(freezeData.getErrorCode());
System.out.println(freezeData.getErrorInfo());
}else{
System.out.println("证书冻结成功");
}
}catch(Exceptione){
e.printStackTrace();
}
}
4.5证书解冻
PublicReturnDatacertUnfreeze(Stringdn)
Ø功能说明
提交一个证书解冻请求。
将证书状态置为“激活”。
Ø输入参数
参数
类型
参数说明
是否必填
dn
String
做解冻操作的证书DN(长度限制:
256)
是
Ø输出参数
ReturnData包含:
参数
类型
参数说明
errorCode
String
错误码
errorInfo
String
错误信息
Ø错误码和错误信息
错误码
错误信息
80170001
要操作的证书不存在或证书不是冻结状态
80170304
状态检查证书已经不是“冻结”状态
80170401
连接CA服务器失败
80170402
CA处理业务失败
80170403
释放CA连接失败
80170404
解析CA响应数据失败
80170405
CA拒绝申请
80170406
获得CA返回的业务结果失败
80170501
数据库操作错误
80179999
服务器端系统错误
Ø调用示例
publicstaticvoidmain(String[]args){
System.out.println("RA2.0C/S接口功能测试!
");
try{
Stringwsdl="http:
//localhost:
8080/raWeb/services/CSProcessor?
WSDL";
URLwsdlUrl=newURL(wsdl);
//取得Web服务
CSProcessorSoapBindingStubservice=(CSProcessorSoapBindingStub)new
CSProcessorServiceLocator().
getCSProcessor(wsdlUrl);
//调用证书解冻业务
ReturnDataunFreezeData=service.certUnFreeze("cn=041@1endUser00001@endUser00001@00000001,ou=Customers,ou=tccb,o=CFCATESTCA,c=cn");
if(unFreezeData!
=null){
System.out.println(unFreezeData.getErrorCode());
System.out.println(unFreezeData.getErrorInfo());
}else{
System.out.println("证书解冻成功");
}
}catch(Exceptione){
e.printStackTrace();
}
}
4.6两码重发
PublicReturnDatacodeResend(Stringdn)
Ø功能说明
提交一个证书两码重发请求。
重新取得两码。
Ø输入参数
参数
类型
参数说明
是否必填
dn
String
证书DN(长度限制:
256)
是
Ø输出参数
ReturnData包含:
参数
类型
参数说明
refNo
String
证书参考号
authCode
String
证书授权码
errorCode
String
错误码
errorInfo
String
错误信息
Ø错误码和错误信息
错误码
错误信息
80200001
要操作的证书不存在或证书不是未下载状态
80200301
状态检查证书已经不是“未下载”状态
80200401
连接CA服务器失败
80200402
CA处理业务失败
80200403
释放CA连接失败
80200404
解析CA响应数据失败
80200405
CA拒绝申请
80200406
获得CA返回的业务结果失败
80200501
数据库操作错误
80209999
服务器端系统错误
Ø调用示例
publicstaticvoidmain(String[]args){
System.out.println("RA2.0C/S接口功能测试!
");
try{
Stringwsdl="http:
//localhost:
8080/raWeb/services/CSProcessor?
WSDL";
URLwsdlUrl=newURL(