You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ru...@apache.org on 2006/09/21 16:07:38 UTC
svn commit: r448555 - in /webservices/axis2/trunk/java/modules/security:
src/org/apache/rampart/builder/ test/org/apache/rampart/
Author: ruchithf
Date: Thu Sep 21 07:07:37 2006
New Revision: 448555
URL: http://svn.apache.org/viewvc?view=rev&rev=448555
Log:
Updated the tests to go through the security header adn check the elements and the order
Modified:
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/AsymmetricBindingBuilder.java
webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/AsymmetricBindingBuilderTest.java
webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java
webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/AsymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/AsymmetricBindingBuilder.java?view=diff&rev=448555&r1=448554&r2=448555
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/AsymmetricBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/builder/AsymmetricBindingBuilder.java Thu Sep 21 07:07:37 2006
@@ -407,7 +407,10 @@
if (sigToken.isDerivedKeys()) {
// Set up the encrypted key to use
- setupEncryptedKey(rmd);
+ if(this.encrKey == null) {
+ setupEncryptedKey(rmd);
+ }
+
WSSecDKSign dkSign = new WSSecDKSign();
dkSign.setExternalKey(encrKey.getEphemeralKey(), encrKey.getId());
Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/AsymmetricBindingBuilderTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/AsymmetricBindingBuilderTest.java?view=diff&rev=448555&r1=448554&r2=448555
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/AsymmetricBindingBuilderTest.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/AsymmetricBindingBuilderTest.java Thu Sep 21 07:07:37 2006
@@ -18,6 +18,12 @@
import org.apache.axis2.context.MessageContext;
import org.apache.neethi.Policy;
+import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.conversation.ConversationConstants;
+
+import javax.xml.namespace.QName;
+
+import java.util.ArrayList;
public class AsymmetricBindingBuilderTest extends MessageBuilderTestBase {
@@ -33,7 +39,13 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
+ ArrayList list = new ArrayList();
+
+ list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
+
+ this.verifySecHeader(list.iterator(), ctx.getEnvelope());
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
@@ -53,7 +65,13 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
+ ArrayList list = new ArrayList();
+
+ list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
+
+ this.verifySecHeader(list.iterator(), ctx.getEnvelope());
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
@@ -72,7 +90,17 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
+ ArrayList list = new ArrayList();
+
+ list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(ConversationConstants.WSC_NS_05_02, ConversationConstants.DERIVED_KEY_TOKEN_LN));
+ list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
+
+ this.verifySecHeader(list.iterator(), ctx.getEnvelope());
+
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
@@ -91,7 +119,18 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
+ ArrayList list = new ArrayList();
+
+ list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
+ list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(ConversationConstants.WSC_NS_05_02, ConversationConstants.DERIVED_KEY_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.REF_LIST_LN));
+ list.add(new QName(ConversationConstants.WSC_NS_05_02, ConversationConstants.DERIVED_KEY_TOKEN_LN));
+ list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
+
+ this.verifySecHeader(list.iterator(), ctx.getEnvelope());
+
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
@@ -110,7 +149,17 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
+ ArrayList list = new ArrayList();
+
+ list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(ConversationConstants.WSC_NS_05_02, ConversationConstants.DERIVED_KEY_TOKEN_LN));
+ list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
+ list.add(new QName(ConversationConstants.WSC_NS_05_02, ConversationConstants.DERIVED_KEY_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.REF_LIST_LN));
+
+ this.verifySecHeader(list.iterator(), ctx.getEnvelope());
+
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
@@ -130,7 +179,14 @@
MessageBuilder builder = new MessageBuilder();
builder.build(ctx);
- System.out.println(ctx.getEnvelope());
+ ArrayList list = new ArrayList();
+
+ list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
+ list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
+ list.add(new QName(WSConstants.ENC_NS, WSConstants.REF_LIST_LN));
+
+ this.verifySecHeader(list.iterator(), ctx.getEnvelope());
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java?view=diff&rev=448555&r1=448554&r2=448555
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/MessageBuilderTestBase.java Thu Sep 21 07:07:37 2006
@@ -16,7 +16,9 @@
package org.apache.rampart;
+import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
@@ -24,6 +26,7 @@
import org.apache.axis2.description.OutInAxisOperation;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyEngine;
+import org.apache.ws.security.WSConstants;
import javax.xml.namespace.QName;
import javax.xml.stream.FactoryConfigurationError;
@@ -32,6 +35,8 @@
import javax.xml.stream.XMLStreamReader;
import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
import junit.framework.TestCase;
@@ -49,11 +54,6 @@
super(arg0);
}
-
-
-
-
-
/**
* @throws XMLStreamException
* @throws FactoryConfigurationError
@@ -72,6 +72,29 @@
protected Policy loadPolicy(String xmlPath) throws Exception {
StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
return PolicyEngine.getPolicy(builder.getDocumentElement());
+ }
+
+ protected void verifySecHeader(Iterator qnameList, SOAPEnvelope env) {
+ Iterator secHeaderChildren = env.getHeader().getFirstChildWithName(
+ new QName(WSConstants.WSSE_NS,
+ WSConstants.WSSE_LN)).getChildElements();
+
+ while (secHeaderChildren.hasNext()) {
+ OMElement element = (OMElement ) secHeaderChildren.next();
+ if(qnameList.hasNext()) {
+ if(!element.getQName().equals(qnameList.next())) {
+ fail("Incorrect Element" + element);
+ }
+ } else {
+ fail("Extra child in the security header: " + element.toString());
+ }
+ }
+
+ if(qnameList.hasNext()) {
+ fail("Incorrect number of children in the security header: " +
+ "next expected element"
+ + ((QName) qnameList.next()).toString());
+ }
}
}
Modified: webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java?view=diff&rev=448555&r1=448554&r2=448555
==============================================================================
--- webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java (original)
+++ webservices/axis2/trunk/java/modules/security/test/org/apache/rampart/TransportBindingBuilderTest.java Thu Sep 21 07:07:37 2006
@@ -99,5 +99,7 @@
fail(e.getMessage());
}
}
+
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org