自适应的安全传输机制的研究与实现-毕业论文_第1页
自适应的安全传输机制的研究与实现-毕业论文_第2页
自适应的安全传输机制的研究与实现-毕业论文_第3页
自适应的安全传输机制的研究与实现-毕业论文_第4页
自适应的安全传输机制的研究与实现-毕业论文_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文(科研训练、毕业设计)题 目:自适应的安全传输机制的研究与实现姓 名:学 院:软件学院专 业:软件工程年 级:学 号:指导教师(校内): 职称: 年 月厦门大学本科毕业论文自适应的安全传输机制的研究与实现摘 要随着企业信息化不断深入,解决企业中的“信息孤岛”问题的要求越来越迫切。企业的应用集成需求,是企业信息化建设过程中的重大难题,也是深化企业信息化管理的核心困难所在。自适应的安全传输系统提供了一种解决企业应用集成的方案,在不影响企业原有应用系统使用、不改变原有系统数据库操作规则和结构规则等情况下,解决企业不同系统间数据集成和应用集成的问题,本文利用JMS技术,实现一种自适应的安全传输系统(AST)。第一章,主要介绍了系统的需求和系统中用到的关键技术。第二章,主要介绍了系统的总体设计,包括系统的设计原则、开发环境、系统的模块划分及各部分的大致流程。第三章,给出了系统各部分的详细设计。第四章,给出了系统的演示与测试。关键词:自适应的安全传输、应用集成、Java消息服务、JSFAdaptive secure transmission mechanism Research and ImplementationAbstractWith the increasing development of enterprise information,solve the problem of “isolated information island” becomes more and more important. Enterprise application integration needs, is the promotion of information technology in the process of a major challenge, as well as the deepening of enterprise information management at the heart of the difficulties lie.JMS(Java Message Service) provides a plan to realize EAI, Without prejudice to the original enterprise application system, not to change the original system database operation rules and structure of the rules, solve enterprise data between different systems integration and application integration issues. In this article,I will implement a adaptive secure transmission system (AST) by using JMS technology.Chapter 1, mainly on the needs of the system and the system used in key technology.Chapter 2, introduces the design of the system, including system design principles,development environment, system modules and the part of the general process.Chapter 3, the system is part of the detailed design. Chapter 4, gives the system demonstration and testing. Key words: Adaptive Secure Transmission(AST)、EAI、JMS、JSF目录第一章 引言 11.1系统需求分析 11.2 系统的关键技术介绍 11.2.1 JMS 11.2.2 JSF 21.2.3 AES 3第二章 AST系统的总体设计 42.1 系统的设计原则 42.1.1 B/S控制系统 42.1.2 数据压缩 42.1.3 数据传输的机密性 42.1.4 数据传输的完整性 52.1.5 系统定时运行 52.1.6 日志记录 52.1.7 系统的可配置性 52.2 系统的开发环境 62.3 系统的模块划分 62.4 系统的大致流程 72.5 压缩、加密、校验的大致流程 82.6 发送、接收子模块的大致流程 102.7 Web控制系统子模块的大致流程 10第三章 AST系统各模块的详细设计 123.1 压缩、加密子模块的详细设计 123.2 发送、接收子模块的详细设计 123.3 Web控制系统子模块的详细设计 163.3.1 准备工作 173.3.2 JSF配置 173.3.3 用户注销登录 193.4 定时器的详细设计 203.5 日志系统详细设计 203.6 系统配置文件详细设计 21第四章 系统演示与测试 224.1 Web控制系统演示 224.2 测试环境 264.3 传输效率 264.4 差错率检测 27第五章 总结 28致谢 29参考文献 30附录 32ContentsChapter 1 Introduction 11.1 System Requirements Analysis 11.2 The key technical presentation 11.2.1 JMS 11.2.2 JSF 21.2.3 AES 3Chapter 2 AST System Design 42.1 System design principles 42.1.1 B/S Control System 42.1.2 Data Compression 42.1.3 Data transmission confidential 42.1.4 The integrity of data transmission 52.1.5 Timing System Operation 52.1.6 Log records 52.1.7 System configurable 52.2 System development environment 62.3 System modules 62.4 The general flow system 72.5 Compression, encryption, the general flow calibration 82.6 Sending, receiving roughly the sub-module processes 102.7 Web Control System Module of the general process 10Chapter 3 AST module system for the detailed design 123.1 Compression, encryption module for the detailed design 123.2 Sending, receiving the detailed sub-module design 123.3 Web Control System Module of the detailed design 163.3.1 Ready to work 173.3.2 JSF configuration 173.3.3 Users logged cancellation 193.4 Detailed design of the timer 203.5 Detailed design of system log 203.6 System configuration file detailed design 21Chapter 4 Demonstration and testing 224.1 Web Control System Demo 224.2 Test Environment 264.3 Transmission efficiency 264.4 Error Detection 27Chapter 5 Summary 28Acknowledgement 29References 30Supplement 32第一章 引言1.1系统需求分析企业在信息化的过程中可能会遇到以下的问题:企业的不同应用平台之间的数据难以共享;系统是分布式的,系统间信息访问困难;企业新开发的系统与原有的遗留系统难以集成。随着企业信息化程度的提高和互联网的迅速发展,异构数据的集成已成为一个迫切需要解决的问题。普通的数据交换技术都是一种点对点的方式,每个系统和系统之间有一个数据交换接口,当系统一变多,接口级数增加,工作量会变的很大。并且,数据交换的耦合程度过高,当网络拥塞的时候也有可能造成应用系统崩溃。自适应的安全传输系统能够在不影响企业原有应用系统使用、不改变原有系统数据库操作规则和结构规则等情况下,解决多套异构应用之间的数据同步难题。集成系统需要一个安全稳定的数据传输机制来支撑。例如用友财务系统和其他商业ERP系统的集成,就直接要求其他ERP系统把相应的财务凭证导出,然后通过局域网或者移动硬盘等将这些凭证定期备份到用友财务软件指定的目录当中,然后用友财务系统再通过人工把该目录下的财务凭证数据导入到数据库中,实时性非常差,稳定性也不够。其它商业ERP系统等也不可能为用友财务软件定制接口。其他类似的PDM和ERP、ERP和CRM或OA等的集成需求还有很多。JMS异步通信的机制能够非常容易地实现企业系统之间的松散耦合,并且能够通过消息服务提供商实现可靠和健壮的消息传递。JMS传输系统使分布在不同机器上的不同应用程序之间能够相互通信,实现不同程序、不同系统之间的应用集成。JMS最大的魅力之一是客户机与服务器的耦合更松散了。1.2 系统的关键技术介绍1.2.1 JMSJMS是一种消息机制的标准,一种与厂商无关的接口规范,具有Java语言特有的平台无关性,提供了消息的创建、发送和接收等API函数,为企业级之间的应用提供灵活、可靠和安全的通讯通道。JMS提供了一种松耦合的、异步的组件间的通信方法。发送方在无需接收到确认的情况之下不断发送消息,接收方可以在消息发送后的任何时刻接收它。发送方不必知道谁是接收方,接收方也不必知道谁是发送方,通信本身是异步的。JMS消息系统的应用为分布式系统的通信提供了便利,因为消息的处理是以异步方式进行的,这意味着JMS客户发送一个消息之后无需等待响应而可以继续执行其他指令。JMS主要有以下几点好处:l 异步传递消息消息的发送者将消息发送以后,可以再开始另一个消息的发送,而不必处于锁定状态等待接收者接收。l 可靠地传递消息可以持久地存储消息,提供可靠性,但对系统的性能有一定的影响。l 松耦合发送方和接收方可以对处理的消息和消息处理机制一无所知,实现了语言中立和平台中立,并且可以配置。JMS系统的优势:l 与平台无关,与在网络上所处的位置无关。l 是可伸缩、可扩展的。需更大的吞吐量时,只需添加硬件即可。可支持数万台客户机,每秒可处理事件的数目可达几万。l 在异构的环境中可以很好地工作。l 是健壮的,发送接收可以失败,网络也可以失败,这时Messaging System可以继续执行它的职责,它可以保证消息一定被发送到目的地。JMS支持两种通信模式:点到点模式(Point_to_Point,简称P2P)和出版/订阅模式(Publish/Subscribe,简称Pub/Sub)。其中,P2P模式规定一个消息只能被一个消息消费者使用,消息通过队列(Queue)来提供。消息发送者叫QueueSender,消息接收者叫QueueReceiver;Pub/Sub模式允许多个注册过该消息的消费者使用,消息通过主题(Topic)来提供。消息发布者叫TopicPublisher,消息订阅者叫TopicSubscriber。1.2.2 JSFJavaServer Faces是一个完整的方案,解决了对软件开发者和消费软件的客户困扰已久的几个问题。JSF用组件化的思想来指导Web层开发。它允许把一个个的页面元素做成可重用的组件,这些组件具有一定的规划,Web程序员可以构造这些可重用组件,并对这些可重用组件进行组装,得到Web页面。使用它不仅仅可以极大地提高开发效率,而且在软件开发方法学的层面上也有所提升。对最终用户来说,JavaServer Faces为基于Web的应用,承诺了更简单、更直觉的使用体验。对软件开发者来说,JavaServer Faces提供了一个标准的、面向对象的、容易使用的应用编程接口(API),为Web应用世界带来卓越的用户体验,消除了大部分的痛苦。并且JSF已经成为一种标准,相信JSF会有很好的应用前景。1.2.3 AESAES是一种可用于保护电子数据的新的加密算法。更准确地说,AES是一种对称密钥块加密算法,可以使用128、192和256位的密钥,加密和解密的数据块长度是128位(16字节)。AES已被NIST批准为取代DES算法标准。AES算法基于Rijndael算法(由Vincent Rijmen和Joan Daemen开发)。AES加密数据的速度比3DES要快,因此越来越多地用于对商业应用、电信、私人和联邦政府信息进行数据加密。作为Java平台(J2SE 1.4.2及更高级版本)的一部分,JCE提供者(SunJCE)实现支持AES算法。AES算法可以像其他加密算法(如DES或Blowfish)一样使用,其编程模型和所涉及的步骤也与这些加密算法相同。第二章 AST系统的总体设计2.1 系统的设计原则2.1.1 B/S控制系统进入互联网时代后,便捷的网络彻底改变了人们的工作和生活。C/S架构的应用系统纷纷向B/S架构转换,为了使用户能够从远程登录系统,查看系统的运行状态及控制系统的运行间隔,决定向系统添加Web控制系统。在Web架构技术的选择方面,可以选择jsp/servlet,Struts,JSF等。在本毕业设计中,出于学习的目的,同时在与Struts进行比较之后,我们选择JSF作为我们的Web架构。2.1.2 数据压缩在数据集成中,通常采用JMS+XML的方式,将数据库中的数据映射为XML文件。为了更方便传输一般得先将XML文件进行压缩,在本毕业设计中,我们用来进行实验的jms.xml文件大小为1.03M,将它进行压缩后变为大小为44.8K的jms.zip文件,由此可见数据压缩的重要性。2.1.3 数据传输的机密性数据的机密性确保数据信息机密可靠,不会被没有权限的对象所访问和浏览到,基本的机密性保护手段就是数据加密。由于JMS本身并没有提供任何措施来保证数据传输的安全性,所以我们需要对所要传输的数据进行加密,以保证数据传输的机密性。密码体制分为对称密码体制和非对称密码体制。对称加密的算法代表为DES、AES,而非对称加密的算法代表为DSA、RSA。两种加密体制各有特点,大致的区别如下:l 对称加密:相比非对称加密,对称加密密钥长度更短,加密速度更快,产生的加密文件更小,但安全性比非对称加密差,且对称加密的密钥不能存储在KeyStore中,在本系统中我们自己定义了一个类AESKeyStore来存储对称密钥,加密和解密时都先从密钥文件中取出密钥进行加密和解密。l 非对称加密:相比对称加密,非对称加密密钥长度更长,安全性更好,但加密速度更慢,产生的加密文件更大,加密时从证书中取出公钥,解密时从KeyStore中取出密钥。在双向或多向通信时则比较麻烦,需要多个密钥对,且产生的加密文件太大,在数据量比较大的时候尤为明显,所以在本系统中我们采用对称加密,采用AES加密算法。2.1.4 数据传输的完整性完整性就是保证信息的完整,防止数据被篡改,因为虽然别人看不懂,但是可以破坏你的信息,比如删除一部分信息。这样,合法的接受方就无法得到正确的信息。而完整性机制保证了信息的完整不被破坏性,可以安全的让接受方获得全部数据。2.1.5 系统定时运行因为数据库的数据可能随时都在更新,这就要求我们能定时地将xml文件发送到目标机器以进行数据的更新,因此我们在系统中加入了定时器,以定时运行系统来进行数据的发送或接收。2.1.6 日志记录日志系统是一个系统的重要组成部分。日志系统能记录系统的运行过程,若系统出现错误,那么日志记录就能很好地帮助系统管理员找出错误原因和出错代码。Apache Log4j和Java Logging API是Java平台的两个主要的日志API,与Java Logging API相比,Log4J更加成熟,特性也更加丰富。在本毕业设计中,我们使用Log4j来实现日志系统。2.1.7 系统的可配置性在实际应用中,系统的发送方和接收方可能经常发生变化,提供者也可能会改变,将系统应用于不同的应用中一般也都需要改变目标队列的值,如果需要到源代码中去修改相应的值,那将会非常麻烦。为了提高系统的可移植性,决定将系统的配置信息统一到系统外部的一个XML文件中。这样,若系统应用发生改变或者目标队列发生改变,只要修改XML配置文件就可以了。这就极大的方便了用户,也提高了系统的可移植性。在本毕业设计中,我们使用dom4j来解析XML配置文件。2.2 系统的开发环境l JavaSE 6.0(/javase/downloads/)l Eclipse 3.2.1()l MyEclipse 5.1.0(/)l Jboss 4.0.5(/jbossas/)l Sun Microsystems公司的JavaServer Faces 1.1参考实现(/javaee/javaserverfaces/download.html) l jboss-richfaces-3.0.0(/jbossrichfaces/)l log4j 1.2.14 (/log4j/docs/download.html)l dom4j 1.6.1(/)网络环境:局域网Jboss是现在用的最广的JavaEE开源服务器,它开源和免费的性质不仅吸引了全球大批专业人员开发和完善其功能,更得到了越来越多用户的青睐。Eclipse是最高级别的Java开发环境。在Eclipse的JDT背后隐含着这样一种基本思想:通过自动化经常使用且耗时的操作,并提供高级工具帮助生成、编辑和导航Java代码,来尽可能地获得生产力。可扩展的Java模型和用以访问Java模型的应用编程接口集是Eclipse中的一大具有竞争力的优势。Eclipse+MyEclipse的IDE开发环境是非常方便的Java开发环境,能极大地提高开发效率,减少出错率。2.3 系统的模块划分在本自适应安全传输系统中,发送系统大致可以划分为:压缩、加密与校验、发送、Web四大模块。接收系统对应也可以划分为四个模块:解密、解压与校验、接收、Web。接收系统的各部分和发送系统的对应部分非常相似。(如图21、22所示)图21 发送方模块图22 接收方模块2.4 系统的大致流程发送方系统将xml文件压缩、加密、校验后包装成一个BytesMessage发送到目标队列,而后接收方系统从目标队列中接收BytesMessage,还原出原来的文件,然后校验、解密、解压,得到xml文件。如图23所示:图23 系统的大致流程2.5 压缩、加密、校验的大致流程压缩、加密、校验的大致流程如图24所示:图24 压缩、加密、校验流程图先从配置文件中读出XML文件位置,然后将此XML文件压缩为同名的ZIP文件,再从密钥文件中取出密钥,对ZIP文件进行加密,最后在文件尾加上CRC校验码。2.6 发送、接收子模块的大致流程发送、接收子模块的大致流程如图25所示:图25 发送、接收的大致流程图先将待发送文件写入一个BytesMessage,然后利用一个QueueSender将BytesMessage发送到消息队列;接收时则先利用一个QueueReceiver从消息队列接收消息,然后还原出BytesMessage中的发送文件。2.7 Web控制系统的流程Web控制系统的流程如图26所示:图26 Web控制系统流程图在本系统中,我们只定义了四个页面,它们的功能如下:welcome.jsp:欢迎页面,提示用户输入用户名和密码。nocheck.jsp:用户输入的用户名或密码有错,提示用户重新输入。start.jsp:系统已经启动,允许用户停止系统或者注销登录。nostart.jsp:系统还未启动,允许用户启动系统或者注销登录。第三章 AST系统各模块的详细设计3.1 压缩、加密子模块的详细设计在Java的类库中,提供了用于压缩、加密的类, java.util.zip包提供了对数据的压缩、解压的功能,通过ZipOutputStream类就可以很方便地对数据进行压缩。在本系统中,我们通过一个while循环,一边读入数据,一边写入压缩数据即可实现数据的压缩。在本系统中,我们采用AES对称加密来进行对数据的加密。首先就碰到了密钥存储的问题。因为keystool中只能存储密钥对,而对称密钥不能存储在里面。最后,我想到自己编写一个类用来存储AES密钥,我将这个类命名为AESKeyStore,这个类实现了Serializable,这样它便能够被序列化到文件中。 序列化的过程只能保存对象的非静态成员变量,不能保存任何成员方法、构造函数和静态的成员变量及声明为transient的变量。AESKeyStore类只有两个成员变量:private SecretKey sk=null和private char password,sk用来存储AES 密钥而char数组password则是用来存储密钥的口令,即在取密钥是需要先提供密钥的口令才能取出密钥。 AESKeyStore类只有两个成员函数: public void saveSecretKey(SecretKey sk,char password)和public SecretKey getAESKey(char password) , saveSecretKey用来存储密钥,而getAESKey顾名思义用来取出密钥。 saveSecretKey存储密钥时若类中的密钥为null则可以顺利存入密钥,若密钥非空则抛出错误。 getAESKey取出密钥时只有口令正确时才可以取出密钥,若口令错误则函数将返回一个随机生成的AES密钥。在将AES密钥存储到文件后,我们要对数据进行加密或解密时就只要先从文件中取密钥,然后在一个while循环中读入数据、调用Cipher类中的doFinal函数对数据进行加密或解密就可以了。3.2 发送、接收子模块的详细设计发送流程如图31所示:图31 发送流程图本JMS系统的核心就在于消息的发送与接收,JMS系统发送方与接收方之间异步通信的实现的关键就在于JMS提供者的存在,发送方与接收方都分别与JMS提供者通信,而不用管对方是否在线或者对方将在何时接收/发送消息。在本毕业设计中,我们用JBoss的JMS实现来做JMS系统的提供者,JBoss本身能够自动对消息进行持久化存储,这就极大的方便了JMS应用开发者。JBoss服务器和容器是基于模块化形式开发的,通过组件式的插件实现的。模块化的形式是通过使用JMX来实现的,并且JBoss自带了一个JMX HTML适配器实现,用户能够通过标准的Web浏览器查看服务器上的Mbean,查看并修改Mbean的属性,以及调用其操作方法。这就极大地方便了用户和开发人员。在JMS1.1点到点模式中,发送方与接收方的编程大致相同。具体如下:发送方:1.向工程添加必要的Jar包。2.初始化JNDI环境。3.执行JNDI应用程序接口以查找QueueConnectionFactory和Queue对象。4.创建一个QueueConnection实例和QueueSession实例。5.创建一个QueueSender实例。6.创建并发送消息。7.关闭QueueConnection。接收方:1.向工程添加必要的Jar包。2.初始化JNDI环境。3.执行JNDI应用程序接口以查找QueueConnectionFactory和Queue对象。4.创建一个QueueConnection实例和QueueSession实例。5.创建一个QueueReceiver实例。6.调用QueueReceiver实例的start()方法。7.接收消息。8.关闭QueueConnection。JMS API模型如图32所示:图32 JMS API关系图JNDI是Java命名和目录服务,它描述一个标准的用于访问诸如域名服务(DNS)、轻量目录访问协议(LDAP)、远程方法调用(RMI),甚至计算机上的文件系统等命名和目录服务的Java库。在初始化JNDI时,我们创建了一个Hashtable对象props并执行以下代码:props.put(Context.INITIAL_CONTEXT_FACTORY,erfaces.NamingContextFactory);props.put(Context.URL_PKG_PREFIXES,org.jboss.naming;erfaces);props.put(Context.PROVIDER_URL,destIP); /destIP为提供者的实际IP。然后,我们就可以利用这个Hashtable对象来建立一个上下文:Context ctx=new InitialContext(props);再用这个Context来查找QueueConnectionFactory和Queue对象。为了将加密后的文件发送到目的队列,我们把加密文件包装为一个BytesMessage来进行发送和接收。3.3 Web控制系统子模块的详细设计系统的流程如图33所示:图33 系统流程图AST系统发送方大致流程:用户通过身份认证登陆Web控制系统,如果AST系统还未启动,则自动跳转到nostart.jsp页面,显示系统还未启动,允许用户设置AST系统自动运行时间间隔并启动定时器。启动AST发送系统定时器后,定时器将定时运行一次系统,系统将依此完成以下流程:将XML文件压缩、加密、校验,然后将文件包装成BytesMessage消息,发送到目标消息队列中。如果用户登陆到Web控制系统时AST系统已经启动则自动跳转到start.jsp页面,显示系统已经启动,并允许用户停止AST系统。当然,用户登陆Web控制系统后,不管系统是否已经启动,都允许用户退出Web控制系统,系统将使这次会话无效,清空存在托管Bean中的用户名和密码,跳转到welcome.jsp欢迎页面,用户如果想要再次进入Web控制系统则得重新输入用户名和密码。AST系统接收方大致流程与发送方基本一样,只是定时器定时运行系统时,系统完成的流程为:从目标消息队列中接收BytesMessage消息,还原出文件,校验、解密、解压为XML文件。而Web控制系统几乎一模一样。3.3.1 准备工作为了运行JSF,需要先到SUN网站下载SUN公司的JSF参考实现。因为JSF用到了Apache项目的一些类库,所以要到相关项目下在这些Jar包,并把它们添加到WEB-INFlib目录中。在这里因为我们已经装了MyEclipse5.1.0,所以可以在建好工程后直接对它添加JSF1.1支持,MyEclipse就会把需要的Jar包都添加到lib目录中。在这里需要特别小心的是:需要删除Jboss安装目录下的serverdefaultdeployjbossweb-tomcat55.sarjsf-libs目录,这个目录中的jar包是Jboss自带的JSF的MyFaces实现,它会与本系统中使用的SUN实现的JSF冲突,所以需要将他们删除或移到别处备份。3.3.2 JSF配置JSF的核心是事件驱动,组件和标签的封装程度非常高,很多应用不需要开发者处理HTTP。在JSF中,所有JSF页面都是由特定的servlet处理,该servlet是JSF实现代码的一部分。要确保在请求JSF页面时激活正确的servlet,JSF URL要使用特殊的格式。在该配置中,他们都有一个扩展名.faces。例如,不能将浏览器指向http:/localhost:8080/JMSSYSTEM/welcome.jsp,URL应该是http:/localhost:8080/JMSSYSTEM/welcome.faces。servlet容器使用servlet映射规则来激活JSF servlet,它去除faces后缀并加载welcome.jsp页面。1.web.xml文件的配置。为了使JSF能正确运行,应该在web.xml文件中进行必的配置,在标签中加入如下代码:javax.faces.CONFIG_FILES/WEB-INF/faces-config.xmlFaces Servletjavax.faces.webapp.FacesServlet0Faces Servlet*.faces2.因为在Web工程中要使用jboss-richfaces-3.0.0所以要在web.xml的标签中加入如下配置: org.ajax4jsf.SKIN blueSky Ajax4jsf Filter ajax4jsf org.ajax4jsf.Filter ajax4jsf Faces ServletREQUESTFORWARDINCLUDE3.faces-config.xml的配置。在faces-config.xml中配置映射规则和managed-bean。在这个系统中我们定义了四个页面,具体的映射规则如图34所示:图34 映射规则图另外,我们定义了一个managed-bean:con(Control类)来存储用户的用户名和密码等信息,页面上的启动系统、停止系统、登录、注销等按钮的处理函数都绑定到了这个bean的方法上,页面组件的值也都绑定到了这个bean的属性上。此外,我们定义了一个类:TimerSave,这个类中的变量都是静态的,以处理用户的并发访问以及在用户间共享数据。3.3.3 用户注销登录用户注销登录只要得到会话,并使其无效即可,实现代码如下: HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论