㈠ 我用XFire实现ws_security,配置的services.xml文件如下,怎么老报错啊
根据报错,应该是你的bean路径写错了或者说你的bean不存在,导致找不到bean
㈡ WS-Security的介绍
WS-Security (Web服务安全) 是一种提供在Web服务上应用安全的方法的网络传输协议。
㈢ 什么是WSE它有什么作用啊
Web Services Enhancements 2.0 for Microsoft .NET (WSE)是一个用来建设Web服务的.NET类库,它支持最新的Web服务协议,包括WS-Security、WS-SecureConversation、WS-Trust、WS-Policy、WS-SecurityPolicy、WS-Addressing和 WS-Attachments。WSE可使开发人员跨安全平台建设可升级的、安全的Web服务。它支持用传输的方式发送SOAP消息,而不是HTTP。另一个特点是具有建立SOAP路由器的功能,SOAP消息被发送给SOAP路由器,路由器再将工作交付给托管该服务的Web服务器。
㈣ 急!!!思科交换机型号里的各种字母代表什么请详细介绍一下~~~~
Cisco的交换机产品以“Catalyst”为商标,包含1900、2800、2900、3500、4000、5000、5500、6000、8500等十多个系列。总的来说,这些交换机可以分为两类: 一类是固定配置交换机,包括3500及以下的大部分型号,比如1924是24口10M以太交换机,带两个100M上行端口。除了有限的软件升级之外,这些交换机不能扩展;另一类是模块化交换机,主要指4000及以上的机型,网络设计者可以根据网络需求,选择不同数目和型号的接口板、电源模块及相应的软件。 选择设备时,许多人对长长的产品型号十分头疼。其实,Cisco对产品的命名有一定之规。就Catalyst交换机来说,产品命名的格式如下: Catalyst NNXX [-C] [-M] [-A/-EN] 其中,NN是交换机的系列号,XX对于固定配置的交换机来说是端口数,对于模块化交换机来说是插槽数,有-C标志表明带光纤接口,-M表示模块化,-A和-EN分别是指交换机软件是标准板或企业版。 目前,网络集成项目中常见的Cisco交换机有以下几个系列,1900/2900系列、3500系列、6500系列。他们分别使用在网络的低端、中端和高端。下面分别介绍一下这几个系列的产品: 1、低端产品 先说一下低端的产品,1900和2900是低端产品的典型。其实在低端交换机市场上,Cisco并不占特别的优势,因为3Com、Dlink等公司的产品具有更好的性能价格比。 1900交换机适用于网络末端的桌面计算机接入,是一款典型的低端产品。它提供12或24个10M端口及2个100M端口,其中100M端口支持全双工通讯,可提供高达200Mbps的端口带宽。机器的背板带宽是320Mbps。 带企业版软件的1900还支持VLAN和ISL Trunking,最多4个VLAN,但一般情况下,低端的产品对这项功能的要求不多。 某些型号的1900带100BaseFX光纤接口。如C1912C、C1924C带一个百兆Tx口和一个百兆Fx口,C1924F带两个100BaseFX接口。1900系列的主要型号如下: C1912:12口10BaseTx,2口100BaseTx,1个AUI口 C1912C:12口10BaseTx,1口100BaseTx,1个AUI口,1个100BaseFx口 C1924:24口10BaseTx,2口100BaseTx,1个AUI口 C1924C:24口10BaseTx,1口100BaseTx,1个AUI口,1个100BaseFx口 C1924F:24口10BaseTx,1个AUI口,1个100BaseFx口 (19XX已经被列为思科淘汰类产品中,将不会出现在新一版本的认证考试中) 如果在你的网络中,有些桌面计算机是100M的,那么2900系列可能更加适合。与1900相比,2900最大的特点是速度增加,它的背板速度最高达3.2G,最多24个10/100M自适应端口,所有端口均支持全双工通讯,使桌面接入的速度大大提高。除了端口的速率之外,2900的其他许多性能也比1900系列有了显著的提高。比如,2900的MAC地址表容量是16K,可以划分1024个VLAN,支持ISL Trunking协议等等。 2900系列的产品线很长。其中,有些是普通10/100BaseTx交换机,如C2912、C2924等;有些是带光纤接口的,如C2924C带两个100BaseFx口;有些是模块化的,如C2924M 带两个扩展槽。扩展槽的插卡可以放置100BaseTx模块、100baseFx模块,甚至可以插ATM模块和千兆以太接口卡(GBIC)。详细情况如下: C2912-XL:12口10/100BaseTx自适应 C2912MF-XL:2个扩展槽,12口100BaseFX C2924-XL:24口10/100BaseTX自适应 C2924C-XL:22口10/100BaseTX自适应,2口100BaseFX C2924M-XL:2个扩展槽,24口10/100BaseTx自适应 在2900系列中,有两款产品比较独特,一是C2948G,二是C2948G-L3。2948G的性能价格比还不错,它使用的软件和Catalyst 5000/5500一样,有48个10/100Mbps自适应以太网端口和2个千兆以太网端口,24G背板带宽,带可热插拔的冗余电源,有一系列容错特征和网管特性。C2948G-L3在C2948G的基础上增加了三层交换的能力,最大三层数据包吞吐量可达10Mpps。不过,总的来说,2900系列交换机一般用在网络的低端,千兆和路由的能力并不是很重要,所以两款2948在实际项目中使用得不多。 2、中端产品 再来看中端产品,中端产品中3500系列使用广泛,很有代表性。 C3500系列交换机的基本特性包括背板带宽高达10Gbps,转发速率7.5Mpps,它支持250个VLAN,支持IEEE 802.1Q和ISL Trunking,支持CGMP网/千兆以太网交换机,可选冗余电源等等。不过C3500的最大特性在于管理和千兆。 管理特性方面,C3500实现了Cisco的交换集群技术,可以将16个C3500,C2900,C1900系列的交换机互联,并通过一个IP地址进行管理。利用C3500内的Cisco Visual Switch Manager(CVSM)软件还可以方便地通过浏览器对交换机进行设置和管理。 千兆特性方面,C3500全面支持千兆接口卡(GBIC)。目前GBIC有三种1000BaseSx,适用于多模光纤,最长距离550m;1000BaseLX/LH,多模/单模光纤都适用,最长距离10km;1000BaseZX适用于单模光纤,最长距离100km。 C3500主要有4种型号: Catalyst 3508G XL:8口GBIC插槽 Catalyst 3512 XL:12口10/100M自适应,2口GBIC插槽 Catalyst 3524 XL:24口10/100M自适应,2口GBIC插槽 Catalyst 3548 XL:48口10/100M自适应,2口GBIC插槽 3、高端产品 最后,介绍一下高端的产品。对于企业数据网来说,C6000系列替代了原有的C5000系列,是最常用的产品。 Catalyst 6000系列交换机为园区网提供了高性能、多层交换的解决方案,专门为需要千兆扩展、可用性高、多层交换的应用环境设计,主要面向园区骨干连接等场合。 Catalyst 6000系列是由Catalyst 6000 和Catalyst 6500 两种型号的交换机构成,都包含6个或9个插槽型号,分别为6006、6009、6506和6509,其中,尤以6509使用最为广泛。所有型号支持相同的超级引擎、相同的接口模块,保护了用户的投资。这一系列的特性主要包括: 端口密度大。支持多达384个10/100BaseTx自适应以太网口,192个100BaseFX 光纤快速以太网口,以及130个千兆以太网端口(GBIC插槽)。 速度快。C6500的交换背板可扩展到256 Gbps,多层交换速度可扩展到150 Mpps。C6000的交换背板带宽32 Gbps ,多层交换速率30 Mpps。支持多达8个快速/千兆以太网口利用以太网通道技术(Fast EtherChannel,FEC或Gigabit EtherChannel,GEC)连接, 在逻辑上实现了16 Gbps的端口速率,还可以跨模块进行端口聚合实现。 多层交换。C6000系列的多层交换模块可以进行线速的IP,IPX和 and IP-multicast 路由。 容错性能好。C6000系列带有冗余超级引擎,冗余负载均衡电源,冗余风扇,冗余系统时钟,冗余上连,冗余的交换背板(仅对C6500系列),实现了系统的高可用性。 丰富的软件特性。C6000软件支持丰富的协议,包括NetFlow、VTP(VLAN Trunking Protocol)、VQP(VLAN Query Protocol)、ISL Trunking、HSRP(Hot Standby Router Protocol)、Port Security、TACACS、CGMP(Cisco Group Management Protocol)、IGMP等等。 希望对你有帮助,还有什么问题可以来我们的网站,找专业的老师咨询了解
㈤ axis2问题,axis2 omelement对象怎么传递数组参数
Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security、WS-ReliableMessaging 等)的实现中。Apache Axis2 是Axis的后续版本,是新一代的SOAP引擎。主要特点1)采用名为 AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。2)支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。3)提供阻塞和非阻塞客户端 API。4)支持内置的 Web服务寻址 (WS-Addressing) 。5)灵活的数据绑定,可以选择直接使用 AXIOM,使用与原来的 Axis 相似的简单数据绑定方法,或使用XMLBeans、JiBX 或 JAXB 2.0 等专用数据绑定框架。6)新的部署模型,支持热部署。7)支持HTTP,SMTP,JMS,TCP传输协议。8)支持REST (Representational State Transfer)。编辑本段方式比较其中前面两种都是从基本的代码开始写起的.后面三种是从WSDL生成代码框架.Deploying POJOs(Plain Old java Objects)JavaBean类需满足JavaBean规范,如采用标准的setter/getter方法设置成员变量.POJO只是普通的java类.可以认为,JavaBean类都是是POJO,但POJO类未必是JavaBean!Building the service using AXIOM需要我们在代码中,获取XML利用STAX进行获取相关返回值,和创建消息等.是一个比较底层的创建方式.比POJOS复杂.SAX实际上是定义了一个拉式(pull)的xml解析器。 一般的解析xml是通过DOM或SAX形式。DOM的问题是需要一次性读入整个XML,对于大型的xml效率低。STAX是基于事件, 当读取到文档的某个位置会触发到某个事件。而这个读取过程是不受控的, 就是必须一次读完(对这个不熟悉)。这就是所谓推(push)式的。即把整个文件推给client。STAX也是类似于SAX的事件,但是是由client的next()来控制指针的前进, 是把文件的内容pull出来的。这大大增强了客户端的控制能力,例如写入和修改节点。SAX:Simple API for XMLStAX(Streaming API for XML)是标准的XML处理API,它能够从应用程序的stream对象解析XML数据或把XML数据转换成stream对象。STAX是一个用Java实现的XML拉式解析器
㈥ java生成webservice 中的message 是什么意思
在调用webService时,有时候需要在SOAP头中插入信息,比如鉴权信息。下面的例子演示如何设置给WebService设置授权信息。首先我们需要实现SOAPHandler接口的类,这个类决定了要调用那些Handler,以什么顺序调用。最后我们需要给WebService的客户端添加HandlerResolver类实例.默认情况下SOAP头是空的:<S:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:Username>TestUser</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">TestPassword</wsse:Password></wsse:UsernameToken></wsse:Security></S:Header>如下是SOAPHandler<SOAPMessageContext>的实现,这里有好多方法可以实现,但在这里我们仅需要实现handleMessage()方法。package cn.outofmemory.ws.example;import java.util.Set;import javax.xml.namespace.QName;import javax.xml.soap.SOAPElement;import javax.xml.soap.SOAPEnvelope;import javax.xml.soap.SOAPHeader;import javax.xml.soap.SOAPMessage;import javax.xml.ws.handler.MessageContext;import javax.xml.ws.handler.soap.SOAPHandler;import javax.xml.ws.handler.soap.SOAPMessageContext;/**** @author outofmemory.cn*/public class HeaderHandler implements SOAPHandler<SOAPMessageContext> {public boolean handleMessage(SOAPMessageContext smc) {Boolean outboundProperty = (Boolean) smc.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);if (outboundProperty.booleanValue()) {SOAPMessage message = smc.getMessage();try {SOAPEnvelope envelope = smc.getMessage().getSOAPPart().getEnvelope();SOAPHeader header = envelope.addHeader();SOAPElement security =header.addChildElement("Security", "wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");SOAPElement usernameToken =security.addChildElement("UsernameToken", "wsse");usernameToken.addAttribute(new QName("xmlns:wsu"), "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");SOAPElement username =usernameToken.addChildElement("Username", "wsse");username.addTextNode("TestUser");SOAPElement password =usernameToken.addChildElement("Password", "wsse");password.setAttribute("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");password.addTextNode("TestPassword");//Print out the outbound SOAP message to System.outmessage.writeTo(System.out);System.out.println("");} catch (Exception e) {e.printStackTrace();}} else {try {//This handler does nothing with the response from the Web Service so//we just print out the SOAP message.SOAPMessage message = smc.getMessage();message.writeTo(System.out);System.out.println("");} catch (Exception ex) {ex.printStackTrace();}}return outboundProperty;}public Set getHeaders() {//throw new UnsupportedOperationException("Not supported yet.");return null;}public boolean handleFault(SOAPMessageContext context) {//throw new UnsupportedOperationException("Not supported yet.");return true;}public void close(MessageContext context) {//throw new UnsupportedOperationException("Not supported yet.");}}如下是HandlerResolver的实现类定义:package cn.outofmemory.ws.example;import java.util.ArrayList;import java.util.List;import javax.xml.ws.handler.Handler;import javax.xml.ws.handler.HandlerResolver;import javax.xml.ws.handler.PortInfo;/**** @author outofmemory.cn*/public class HeaderHandlerResolver implements HandlerResolver {public List<Handler> getHandlerChain(PortInfo portInfo) {List<Handler> handlerChain = new ArrayList<Handler>();HeaderHandler hh = new HeaderHandler();handlerChain.add(hh);return handlerChain;}}下面是调用webService的代码:JavadbWebServiceService service = new JavadbWebServiceService();HeaderHandlerResolver handlerResolver = new HeaderHandlerResolver();service.setHandlerResolver(handlerResolver);JavadbWebService port = service.getJavadbWebServicePort();//调用web serviceString currentTime = port.getTime();System.out.println("Current time is: " + currentTime);
㈦ 使用诺顿安全特警扫描,监测到威胁WS.SecurityRisk.3,WS.SecurityRisk.3是什么
亲,当诺顿信誉检测到风险的时候可能会出现该提示,如果该文件不重要的话,可以选择删除,否则请尽快上报给官方进行确认。
㈧ ws-security数字证书为什么提示加载不了文件
第一步 生成可用的数字证书 使用命令行打开您要生成数字证书的路径 生成证书还是比较麻烦的,要用到jdk的一个工具——keytool 首先,创建客户端KeyStore和公钥 在命令行运行: 1、创建私钥和KeyStore: keytool -genkey -alias clientprivatekey -keypass keypass -keystore Client_KeyStore.jks -storepass storepass -dname "CN=tongtech.com,C=CN" -keyalg RSA 创建KeyStore,文件名字为Client_KeyStore.jks,里面有个名为clientprivatekey的私钥。 2、给私钥进行自签名: keytool -selfcert -keystore Client_KeyStore.jks -storepass storepass -alias clientprivatekey -keypass keypass 签名成功,无任何提示。 3、导出私钥 作用是导出的证书将作为公钥保存到TrustStore中。 keytool -export -alias clientprivatekey -file Client_PublicCert.cer -keystore Client_KeyStore.jks -storepass storepass 如果成功,可以看到提示: 保存在文件中的认证 <Client_PublicCert.cer> 然后创建服务端KeyStore 1、创建私钥和KeyStorekeytool -genkey -alias serverprivatekey -keypass keypass -keystore Server_KeyStore.jks -storepass storepass -dname "CN=tongtech.com,C=CN" -keyalg RSA 2、给私钥进行自签名keytool -selfcert -keystore Server_KeyStore.jks -storepass storepass -alias serverprivatekey -keypass keypass 3、导出私钥keytool -export -alias serverprivatekey -file Server_PublicCert.cer -keystore Server_KeyStore.jks -storepass storepass 接下来,将客户端公钥导入到服务端TrustStore中,将服务端公钥导入到客户端TrustStore中。 在命令行中输入:keytool -import -alias clientpublickey -file Client_PublicCert.cer -keystore Server_TrustStore.jks -storepass storepass 回车后会提示引用所有者:CN=tongtech.com, C=CN 签发人:CN=tongtech.com, C=CN 序列号:4cc7e86c 有效期: Wed Oct 27 16:53:00 CST 2010 至Tue Jan 25 16:53:00 CST 2011 证书指纹: MD5:FB:AB:71:9F:56:F3:CB:65:16:DC:52:E0:2D:27:FF:F6 SHA1:06:A8:B1:B4:E2:42:9D:B2:F7:99:E7:70:34:08:96:52:E1:CD:4A:76 签名算法名称:SHA1withRSA 版本: 3 信任这个认证? [否]: 打y即可,然后提示引用认证已添加至keystore中同理,将服务端公钥导入到客户端TrustStore中keytool -import -alias serverpublickey -file Server_PublicCert.cer -keystore Client_TrustStore.jks -storepass storepass 同样会出现提示,打y回车,提示成功就可以了。 最终你会在您的文件夹中看到如下的文件 第二步 服务端配置 1.放置证书的位置和属性配置 将上面生成的文件以Server开头的文件放置在src的cert包下 配置Server_Decrypt.properties,内容如下 org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=storepass org.apache.ws.security.crypto.merlin.keystore.alias=serverprivatekey org.apache.ws.security.crypto.merlin.file=cert/Server_KeyStore.jks 这里有个问题要注意,要注意去除空格,否则会报org.apache.ws.security.components.crypto.Merlin Not Found的error 配置Server_Verf.properties,内容如下 org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=storepass org.apache.ws.security.crypto.merlin.keystore.alias=clientpublickey org.apache.ws.security.crypto.merlin.file=cert/Server_TrustStore.jks 2.设置配置文件(由于在上一篇文章已经有了基本的配置,这里直接给出WSS4JInInterceptor的配置) <bean id="WSS4JInInterceptorCert" class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor"> <constructor-arg> <map> <entry key="action" value="Signature Encrypt" /> <entry key="signaturePropFile" value="Server_SignVerf.properties"/> <entry key="decryptionPropFile" value="Server_Decrypt.properties"/> <entry key="passwordCallbackClass" value="ws.interceptor.UTPasswordServerCallBack"/> </map> </constructor-arg> </bean> 3.UTPasswordServerCallBack类 ?123456789101112131415161718 import java.io.IOException; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; import org.apache.ws.security.WSPasswordCallback; public class UTPasswordServerCallBack implements CallbackHandler { public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { WSPasswordCallback pc = (WSPasswordCallback) callbacks[0]; pc.setPassword("keypass"); System.out.println("Server Identifier=" + pc.getIdentifier()); System.out.println("Server Password=" + pc.getPassword()); } }第三部 客户端配置 1.放置证书的位置和属性配置 将上面生成的文件以Client开头的文件放置在src的cert包下 配置Client_Encrypt.properties,内容如下 org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=storepass org.apache.ws.security.crypto.merlin.keystore.alias=serverpublickey org.apache.ws.security.crypto.merlin.file=cert/Client_TrustStore.jks 配置Client_Sign.properties,内容如下 org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=storepass org.apache.ws.security.crypto.merlin.keystore.alias=clientprivatekey org.apache.ws.security.crypto.merlin.file=cert/Client_KeyStore.jks 2.设置配置文件(由于在上一篇文章已经有了基本的配置,这里直接给出WSS4JOutInterceptor的配置) <bean id="WSS4JOutInterceptorCert" class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor"> <constructor-arg> <map> <entry key="action" value="Signature Encrypt"/> <entry key="user" value="clientprivatekey"/> <entry key="signaturePropFile" value="Client_Sign.properties"/> <entry key="encryptionUser" value="serverpublickey"/> <entry key="encryptionPropFile" value="Client_Encrypt.properties"/> <entry key="passwordCallbackClass" value="ws.erp.UTPasswordClientCallBack"/> </map> </constructor-arg> </bean> 3.UTPasswordClientCallBack类 ?12345678910111213141516171819 import java.io.IOException; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; import org.apache.ws.security.WSPasswordCallback; public class UTPasswordClientCallBack implements CallbackHandler { public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { WSPasswordCallback pc = (WSPasswordCallback) callbacks[0]; pc.setPassword("keypass"); System.out.println("Client Identifier=" + pc.getIdentifier()); System.out.println("Client Password=" + pc.getPassword()); } }最后结合你的webservice,直接调用你的服务方法就可以了,如果出现以下的提示就证明你成功了
㈨ WS-Security的相关规范
下面的规范草案与WS-Security有关。· WS-SecureConversation· WS-Federation· WS-Authorization· WS-Policy· WS-Trust· WS-Privacy
㈩ org.apache.ws.security.wsconstants属于哪个jar包
如果我没记错的话,这个应该是jsP引擎解析jsp页面生成servlet代码时产生的异常,应该是你的页面中语法有问题,而不是执行期间的问题,你看看具体的异常堆栈里面提示的有响应的信息。 补充,看到楼上说的。怎么会没异常,服务器又不是只有struts才会报异常:)。应用容器中部署的servlet会报异常的,比如这个问题就很可能是负责jsp解析的servlet报的异常,这些异常信息位于服务器的日志目录中,比如tomcat,那会在logs目录下的catalina.out中或者localhost….log。 哦,也许uranus63 的意思是没有办法在struct中区捕获并处理这些异常,不过我才楼主的意思并不是这样,他说的处理是指如何解决这个错误而不是要编写一个错误处理机制。