ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:59.50KB ,
资源ID:9454166      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9454166.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(一种基于JAXMXKMS密钥定位服务实现方案(网络安全技术和应用杂志).doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

一种基于JAXMXKMS密钥定位服务实现方案(网络安全技术和应用杂志).doc

1、一种基于JAXM的XKMS密钥定位服务的实现方案 蒋勇 (江苏联合职业技术学院徐州财经分院 江苏 徐州,221008) 摘 要:JAXM是是为Java平台上的应用程序定义的API,供了一种能够在Java平台上通过Internet发送XML文档的标准方法;XML密钥管理规范(XKMS) 以已有的XML加密和XML数字签名为基础,定义了分发和注册公钥的协议。密钥定位服务是XKMS中一个重要的服务规范,本文在探讨JAXM和XKMS理论的基础上,给出了一个基于JAXM的XKMS密钥定位服务的实现方案。 关键词:JAXM;XKMS;密钥定位服务;实现方案 中图分类号:TP309

2、 文献标识码:A 0 引言:JAXM简介 JAXM(Java API for XML Messaging,简称JAXM)是为Java平台上的应用程序定义的API,用以通过XML(以及SOAP)发送和接收消息,支持同步消息和异步消息[1]。它定义了一个能够与XML消息交换的基本框架。JAXM提供了一种能够在Java平台上通过Internet发送XML文档的标准方法,使得开发者可以使用Java平台进行XML消息收发。而大多数的Web服务都是由简单的消息交换组成,对于有些Web服务,直接在低级别的消息层编程通常是很有用的。JAXM提供了使XML数据能够在二个应用之间互操作的

3、框架,允许在两个独立的Web服务之间完成全部XML文件的传输, 通常我们说的JAXM API包括两个包[2]: Javax.xml.soap:它是发送SOAP消息的基本包,主要包含了发送带有附件的SOAP消息的API(SOAP with Attachments API for Java ,SAAJ)。它是SOAP消息的基本包,它为构建SOAP包和解析SOAP包提供了重要的支持。它包含了发送请求--响应消息相关的API。 Javax.xml.messaging:定义了JAXM的规范,包含了发送和接收消息所需的API,因此能够发送单向消息。 利用JAXM实现WEB服务主要由JAXM服务端

4、和JAXM客户端两部分组成: JAXM服务端JAXM客户端发送的消费XML消息。服务读取和处理客户端的消息。服务对客户端的反应取决于两者之间所建立的消息交换的类型。这部分取决于发送消息的客户端是单独的JAXM客户端还是使用消息提供者的JAXM客户端。 JAXM客户端向接收者发送消息。最终的接收者一般是服务。 JAXM客户端可以直接发送消息给服务,也可以发送给一个中介提供者,被称为JAXM消息提供者。取决于客户端和接收者是如何配置的。 1 XKMS及密钥定位服务 2001年,Verisign、Microsoft和Web Methods三家公司发布了XML密钥管理规范(XML K

5、ey Management Specification,XKMS)[4]。XKMS以已有的XML加密和XML数字签名为基础,定义了分发和注册公钥的协议,以提供Web上的可信服务,主要功能包括公钥的注册、发布、查询、验证、撤销、恢复服务。 XKMS核心功能被包括两个规范[3][4]:XML密钥信息服务规范 (XML Key Information Service Specification,X-KISS)和XML密钥注册服务规范 (XML Key Registration Service Specification,X-KRSS)。 XML密钥信息服务规范(X-KISS)允许

6、客户端应用程序认证经过加密和签名的数据。X-KISS支持对元素的处理,该元素指定了XML加密和XML签名中的密钥信息。X-KISS支持两种服务:定位服务和验证服务。 定位服务负责完成解析与XML加密或XML签名规范文档中相关的元素。定位服务由定位请求LocateRequest和定位响应LocateResult两个消息组成。客户端在LocateRequtst请求消息中携带公钥或证书的标识,如密钥名、证书的URI等,并指出响应中需要返回的信息。信任服务获取相应的结果后,构建LocateResult消息并返回给请求者。 定位服务主要通过密钥名称或密

7、钥信息的存放位置来查找和检索公钥。规范化的XML加密或XML签名文档中,可以指定密钥名称,可以指定密钥的位置。Web服务请求者向XKMS可信服务提供者发送密钥请求信息,服务提供者收到包含的请求消息后,解析请求获得密钥名或密钥位置,然后调用底层PKI功能来获取密钥信息,返回密钥信息,如X.509证书。服务提供者再将密钥放在中发送给请求者。整个定位服务过程如图1所示: Web服务请求方 XKMS可信服务提供者 PKI实现者 1、 2、获取密钥消息 <

8、ds:KeyName> 3、X.509证书 4、 图1 X-KISS定位服务 2 一种基于JAXM的密钥定位服务的实现方案 前已述及,XKMS定位服务由LocateRequest请求和LocateResult应答两种消息组成。客户端按照LocateRequest消息的要求发送请求来定位一个PKI密钥库的公钥。服务端获得公钥后按照LocateResult消息要求返回响应给请求者。 2.1 客户端实现 客户端发送包含一个密钥名为yefriend的

9、LocateRequst的请求来定位一个PKI密钥库的公钥,同时,请求方要求服务方返回该密钥的模数和指数。客户端编程将按照以下步骤进行: (1)创建SOAP连接 (2)创建SOAP消息 (3)向SOAP消息中增加数据 (4)发送SOAP请求消息 (5)对SOAP响应消息进行处理 客户端发送XKMS请求消息的关键代码如下: SOAPConnectionFactory sf=SOAPConnectionFactory.newInstance(); SOAPConnection con=sf.createConnection(); //创建SOAP连接 MessageFactory

10、 mf=MessageFactory.newInstance(); //创建消息工厂 SOAPMessage message=mf.createMessage(); //创建SOAP消息 SOAPPart soapPart=message.getSOAPPart(); //获取SOAPPart对象 SOAPEnvelope envelope=soapPart.getEnvelope();//狭取SOAPEnvelope SOAPBody body=envelope.getBody(); //获取SOAPBody //创建元素,第1个参数为元素名,第2

11、个参数为元素的名称空间的前缀,第3个参数为元素的名称空间。 Name name_locate=envelope.createName(“LocateRequest”,“xkms”, “http://www.w3.org/TR/CR-xkms2-20040405”); SOAPBodyElement locate=body.addBodyElement(name-locate); //向添加子元素,元素值为KeyName locate.addChildElement(“ResponseWith”).addTextNode(“Key

12、Name”); //向添加子元素,元素值为KeyValue locate.addChildElement(“ResponseWith”).addTextNode(“KeyValue”); //向添加子元素,该元素包括子元素元素又包含子元素。 Name name_query=envelope.createName(“QueryKeyBinding”,“xkms”, “http://www.w3.org/TR/C

13、R-xkms2-20040405”); SOAPElement ele_query=locate.addChildElement(name_query); Name name_keyinfo=envelope.createName(“KeyInfo”,“ds”, “http://www.w3.org/2000/09/xmldsign#”); SOAPElement KeyInfo=ele_query.addChildElement(name_keyinfo); Name name_keyname=envelope.createName(“KeyName”,“ds”, “http:/

14、/www.w3.org/2000/09/xmldsign#”); KeyInfo.addChildElement(name_keyname).addTextNode(“yefriend”); message.saveChanges(); //保存消息结构 //创建URLEndpoint对象,指定定位服务的URL。 URLEndpoint endpoint=new URLEndpoint(“http://localhost:8080/xkms/XKMSService”); //发送请求消息并使用SOAPMessage接收服务方发来的响应消息 SOAPMessage response=

15、con.call(message,endpoint); con.close(); //当处理完响应消息后,关闭SOAP连接 2.2 信任服务端 服务端首先使用Keytools工具生成一个RSA密钥对,将其存储在keystore中。命令如下:keytool -genkey alias yefriend -keyalg RSA-dname“CN=302,0U=302,0=302,L=GuangDong,S=GuangZhou,C=CN” -keypass yefriend –keystore KeyStore -storepass yefriend -storetype JKS 服务

16、端接收到LocateRequest请求消息,解析该消息,获得密钥别名,检索密钥库中相应的公钥,并对公钥进行Base64编码转换,最后按照XKMS规范生成LocateResult响应消息并返回给请求者。 采用JAXM时,服务端处理消息的步骤如下: (1)获取请求信息 (2)读取请求消息中相关的参数 (3)根据参数调用相应的业务处理,返回结果给业务调用者 (4)构建SOAP响应消息,向SOAP响应消息中添加请求方需要的信息 (5)返回SOAP响应消息给请求方 定位服务实现的关键代码如下: public class XKMSService { public Document loc

17、ate(Document doc) { try{ //获取Messagecontext对象 MessageContext context=MessageContext.getCurrentContext(); Message request=context.getRequestMessage(); //获取请求消息 SOAPPart part=request.getSOAPPart(); SOAPEnVelope env=part.getEnvelope(); SOAPBody body=env.getBody(); //获取到请求消息的body元素 //遍历body元素,提取

18、相关信息,如KeyName,解析需要返回哪些信息 Iterator it= body.getChildElements(env.createName(“KeyName”,“ds”, “http://www.w3.org/2000/09/xmldsign#”)); String alias=((SOAPElement)it.next()).getValue(); //获取密钥名 //name为密钥库文件名,包含路径 FileInputStream fin=new FileInputStream(name); KeyStore ks=KeyStore.getInstance(“JKS

19、); //导入Keystore文件,参数password为访问密钥库的密码 ks.load(fin,password.toCharArray()); //获取用户数亨证书 java.security.cert.Certificate cert=ks.getCertificate(alias); fin.close(); //关闭证书文件流 //获取用户RSA公钥 RSAPublicKey pkey=(RSAPublicKey)cert.getPublicKey() BigInteger be=pkey.getPublicExponent();//提取密钥指数 BigInte

20、ger bm=pkey.getModulus(); //提取密钥模数 byte[] bbe=be.toByteArray(); //将指数转换为字节数组 byte[] bbm=be.toByteArray(); //将模数转换为字节数组 BASE64Encoder encoder=new BASE64Encoder();//创建BASE64转换类对象 String str_be=encoder.encode(bbe); //将编码后的密钥指数转换为字符串 String str_bm=encoder.encode(bbm); //将编码后的密钥模数转换为字符串 //生成响应消息,与客

21、户端生成SOAP消息类似,按照XKMS规范向SOAP消息rfl添加密钥指数和模数,此处省略 return doc; //返回组装成的响应 } catch(Exception e){return null;}} 3 总结 本文在探讨了JAXM和XKMS的理论知识的基础上,基于JAXM设计了一个XKMS密钥定位服务的客户端与信任服务端的主要代码模型。XKMS密钥定位服务只是X-KISS服务的一部分,它只能够完成对于密钥的定位,而无法验证公钥或证书的有效性。对于密钥返回有效性的验证,还需要通过验证服务来实现。 XKMS规范除了X-KISS外,还有一个X-KRSS规范。它允许

22、基于XKMS的可信服务提供者提供公钥管理服务。它主要包括注册密钥服务(Regi ster Key Service)、撤销密钥服务(Revoke Key Service)、恢复密钥服务(Recover Key Service)、重发密钥服务(Reissue Key Service)等几个规范。这不是本文主要探讨的范畴,不再详述。 参考文献: [1]陈亚强. [2]百度百科. [3]百度百科. [4]曹庆华,罗键.基于XKMS与SAM L的Web服务安全模型[J],算机时代 2009(12):24-26 [5]李昕,张军.面向Web服务的XKMS模型设计与实现

23、[J],计算机工程与设计 2010,31(8):1738:1742 An execution program based on JAXM and XKMS Key location service Jiang Yong (Jiangsu Union Technical Institute Xuzhou Finance and economics Branch,XuZhou 221008,China) Abstract: JAXM is an application program for the definition of API on Java platform, whi

24、ch provides a standard method to dispatch the XML document on Java platform by Internet. XML Key Management Specification is based on XML encryption and XML signature,which defines the agreement of dispatch and registration. Key location service is one of the important service standards. This paper is based on the theory of JAXM and XKMS, providing an execution program for JAXM and XKMS. Key words: JAXM;XKMS;Key location service;execution program 作者简介:蒋勇(1977- ),男,硕士,讲师,数据库系统工程师,江苏联合职业技术学院徐州财经分院教师,研究方向为计算机学科教育教学。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服