油气液体化工品物流监控企业接入规范Word格式.docx

上传人:b****1 文档编号:13591286 上传时间:2022-10-11 格式:DOCX 页数:11 大小:236.38KB
下载 相关 举报
油气液体化工品物流监控企业接入规范Word格式.docx_第1页
第1页 / 共11页
油气液体化工品物流监控企业接入规范Word格式.docx_第2页
第2页 / 共11页
油气液体化工品物流监控企业接入规范Word格式.docx_第3页
第3页 / 共11页
油气液体化工品物流监控企业接入规范Word格式.docx_第4页
第4页 / 共11页
油气液体化工品物流监控企业接入规范Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

油气液体化工品物流监控企业接入规范Word格式.docx

《油气液体化工品物流监控企业接入规范Word格式.docx》由会员分享,可在线阅读,更多相关《油气液体化工品物流监控企业接入规范Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

油气液体化工品物流监控企业接入规范Word格式.docx

4.海关系统将生成的业务回执签名、压缩、通过IPSECVPN安全通道,写入企业端回执信息接收队列中;

5.企业系统从企业队列中读取回执,解压、验签,进行进一步的业务处理。

二、技术要求

采用该方式的企业,需进行如下准备工作:

(一)实现与海关的VPN联网

企业准备一条具有固定公网IP地址的互联网接入线路,配备VPN接入设备。

相关配置要求见《采用IPSecVPN技术与南京海关联网的设备配置规范》的规范配置实施与海关网络的互联。

南京海关技术处提供相关技术支持,联系方式为南京海关技术热线:

(二)购置与本系统配套的CA认证卡(USBKey)

该Key的购置方法与网站程序录入方式相同,但企业需要基于该Key进行编程,实现报文发送接收的加验签。

CA公司提供报文签名、验签控件等相应编程接口,各企业可在开发中使用,相关的技术支持由CA公司承担。

报文数字签名要求:

与海关交换的报文和回执均须进行数字签名,可采用省CA公司或联通CA公司的CA体系,由用户自行选择。

企业用户需基于USBKey对向海关申报的XML报文内容进行加签,并对海关回执报文验签。

加签验签的标准以海关总署2008年81号公告中《中国海关进出境水运、空运货物舱单报文格式制定说明》有关报文数字签名的要求为准。

经与两CA公司协商,两家公司均已开发出符合上述规范的报文加签验签的标准接口,企业用户如开发程序需要,可与相关CA公司联系,有关CA公司提供相应开发接口程序及技术支持

(三)生成符合标准的报文

  企业按照南京海关报文规范,从自身业务系统中抽取形成标准报文。

具体报文规范及格式要求见南京海关相关公告。

(四)开发报文传输软件

企业需开发报文传输系统,按照海关确定的标准接口,把海关规定申报的报文数字签名后发送给海关,同时接受海关回执报文。

报文传输采用MSMQ3.0软件,CA体系支持江苏CA和联通CA两类。

1.具体传输方式

企业端需要建立2个MQ队列。

其一为接收海关业务回执的队列,此队列为事务性队列。

企业需要提供相关MQ地址信息(格式

FORMATNAME:

DIRECT=TCP:

192.168.170.2\private$\client_sample_receipt,其中“192.168.170.2”应填海关在VPN网上分配给企业MQ服务器的地址)。

其二为接收报文是否验签成功的传输回执接受队列,此队列为非事务性队列。

企业需要提供相关MQ地址等信息(格式FORMATNAME:

192.168.170.2\private$\client_sample_response,其中“192.168.170.2”应填海关在VPN网上分配给企业MQ服务器的地址),海关端程序将向两个队列中写入相应回执信息。

企业端程序负责从相应队列中读取回执,如企业需要可以进行相关报文存证,企业要对队列进行实时监控,保持MQ报文传输服务器的稳定性和消息队列的畅通。

针对海运部分系统及空运部分系统,海关分别提供2个报文接收队列,业务报文接收队列为MSMQ事务性队列,传输回执接受队列为非事物性队列。

业务报文接收队列用于接收企业申报的业务报文数据,传输回执接收队列用于接收海关业务回执报文是否验签成功的信息。

2.目前海关端接受队列地址。

●海运系统报文接受队列

业务报文接收队列(事务性队列)

192.168.2.126\private$\east_sample_message_qy

传输回执接受队列(非事务性队列)

192.168.2.126\private$\east_sample_response

●空运系统报文接受队列

192.168.2.127\private$\east_sample_message_qy

192.168.2.127\private$\east_sample_response

3.企业报文传输分两个阶段:

企业申报报文发送阶段及企业回执报文接受阶段。

具体流程图如下

 

企业申报报文发送阶段,主要步骤为6步:

(1)企业应用系统生成符合海关规范的申报报文,

(2)调用相应的CA控件队报文进行数字签名

(3)将数字签名后的报文进行ZIP压缩

(4)将压缩后的数据内存流转换成字符数组,并作base64编码。

(5)将Base64编码后的报文数据写入海关企业报文接受队列中。

注意:

写入规范为将申报报文的文件名赋值给消息的标签(Label)属性,报文内容赋值给消息的报文体(Body)属性。

企业传输回执接受队列地址赋值给消息的回执报文队列(ResponseQueue)属性。

(6)从企业传输回执接受队列中收取海关传输回执消息。

回执消息的标签(Label)属性为回执报文的文件名(即企业申报报文的文件名),回执消息的报文体(Body)属性为回执报文的内容。

回执报文的内容为布尔值“TRUE”或“FALSE”,“TRUE”表示该企业申报报文海关验证通过,“FALSE”表示该企业申报报文海关验证未通过。

企业回执报文接收阶段,主要步骤也分为6步:

(1)企业应用系统将接收海关业务回执的队列中的回执报文读出。

报文内容为回执消息报文体(Body)属性中的内容,报文名为回执消息的标签(Label)属性的内容。

海关传输回执接受队列地址为回执消息的回执报文队列(ResponseQueue)属性的内容。

(2)将报文内容(BASE64编码)转化为字节数组。

(3)将字节数组解压缩转换成报文原文。

(4)调用相应CA控件验证海关数字签名。

(5)生成传输回执消息发送至海关传输回执接受队列。

同样,传输回执消息的标签(Label)属性为报文的文件名(即海关回执报文的文件名),传输回执消息的报文体(Body)属性为回执报文的内容。

回执报文的内容为布尔值“TRUE”或“FALSE”,“TURE”表示该海关回执报文企业验证通过,“FALSE”表示该海关回执报文企业验证未通过。

(6)企业应用系统使用海关回执报文。

4.开发报文传输程序可参考本文第三部分“报文传输软件参考程序片断”。

三、报文传输软件参考程序片断

(一)签名

publicstaticstringSignXml(stringxmlContent)

{

if(provider.ToLower()=="

uni"

if(signaturer.ToLower()=="

server"

SignatureInterface.SignatureInterfacePortTypeClientsig=newMsgTrnsCommon.SignatureInterface.SignatureInterfacePortTypeClient();

returnsig.getXMLSignature(ConfigurationManager.AppSettings["

SystemId"

],xmlContent);

}

else

returnUniClient.XMLSignMQ(xmlContent);

elseif(provider.ToLower()=="

jsca"

JsServer.SetServer(ConfigurationManager.AppSettings["

JsServer"

],int.Parse(ConfigurationManager.AppSettings["

SignPort"

]));

returnJsServer.gtSignXmlString(xmlContent,ConfigurationManager.AppSettings["

JsCert"

]);

returnJsClient.gtSignXmlString(xmlContent);

returnstring.Empty;

(二)验签

(三)

publicstaticstringVerifySign(stringxmlContent)

if(verifier.ToLower()=="

VerifySignature.VerifySignatureInterfacePortTypeClientver=newMsgTrnsCommon.VerifySignature.VerifySignatureInterfacePortTypeClient();

returnver.xmlVerifySignature(xmlContent);

returnUniClient.XMLVerifyMQSign(xmlContent);

],int.Parse(ConfigurationManager.AppSettings["

ValiPort"

returnJsServer.gtVerifyXmlString(xmlContent);

UTF8Encodingut=newUTF8Encoding();

Byte[]encodedBytes=ut.GetBytes(xmlContent);

StringdecodedString=ut.GetString(encodedBytes);

returnJsClient.gtVerifyXmlString(decodedString);

(四)压缩

(五)

publicstaticStreamCompress(Streams)

s.Seek(0,SeekOrigin.Begin);

MemoryStreamcs=newMemoryStream();

try

DeflaterOutputStreamcs1=ne

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1