You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2006/09/06 09:47:31 UTC
svn commit: r440647 - in /webservices/axis2/trunk/java/modules/secpolicy: ./
src/META-INF/services/ src/org/apache/ws/secpolicy/
src/org/apache/ws/secpolicy/builders/ src/org/apache/ws/secpolicy/model/
Author: sanka
Date: Wed Sep 6 00:47:29 2006
New Revision: 440647
URL: http://svn.apache.org/viewvc?view=rev&rev=440647
Log:
Update the Builders to reflect the changes in the latest Neethi codebase. Also implemented normlize() for all the necessary secuirty assertions
Modified:
webservices/axis2/trunk/java/modules/secpolicy/maven.xml
webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AlgorithmSuiteBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedElementsBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedPartsBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/InitiatorTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/LayoutBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/RecipientTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecureConversationTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecurityContextTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedElementsBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedPartsBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SupportingTokensBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SymmetricBindingBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportBindingBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/Trust10Builder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS10Builder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS11Builder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/X509TokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AlgorithmSuite.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/ProtectionToken.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedElements.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SymmetricBinding.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java
Modified: webservices/axis2/trunk/java/modules/secpolicy/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/maven.xml?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/maven.xml Wed Sep 6 00:47:29 2006
@@ -8,4 +8,13 @@
xmlns:maven="jelly:maven"
xmlns:deploy="deploy"
xmlns:ant="jelly:ant">
+
+ <preGoal name="java:compile" >
+ <copy toDir="target/classes/META-INF/">
+ <fileset dir="src/META-INF">
+ <include name="**/services/*"/>
+ </fileset>
+ </copy>
+ </preGoal>
+
</project>
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/META-INF/services/org.apache.neethi.builders.AssertionBuilder Wed Sep 6 00:47:29 2006
@@ -18,4 +18,4 @@
org.apache.ws.secpolicy.builders.Trust10Builder
org.apache.ws.secpolicy.builders.SecurityContextTokenBuilder
org.apache.ws.secpolicy.builders.SecureConversationTokenBuilder
-
+org.apache.ws.secpolicy.builders.SymmetricBindingBuilder
\ No newline at end of file
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java Wed Sep 6 00:47:29 2006
@@ -59,6 +59,9 @@
*/
public final static String SIGN_BEFORE_ENCRYPTING = "SignBeforeEncrypting";
+ public final static String ONLY_SIGN_ENTIRE_HEADERS_AND_BODY = "OnlySignEntireHeadersAndBody";
+
+
public final static String WSS_X509_V1_TOKEN10 = "WssX509V1Token10";
public final static String WSS_X509_V3_TOKEN10 = "WssX509V3Token10";
@@ -278,5 +281,4 @@
public static final QName SC10_SECURITY_CONTEXT_TOKEN = new QName(Constants.SP_NS, "SC10SecurityContextToken");
public static final QName BOOTSTRAP_POLICY = new QName(Constants.SP_NS, "BootstrapPolicy");
-
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AlgorithmSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AlgorithmSuiteBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AlgorithmSuiteBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AlgorithmSuiteBuilder.java Wed Sep 6 00:47:29 2006
@@ -129,7 +129,7 @@
target.addConfiguration(algorithmSuite);
}
- public QName getKnownElement() {
- return Constants.ALGORITHM_SUITE;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.ALGORITHM_SUITE};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java Wed Sep 6 00:47:29 2006
@@ -78,17 +78,20 @@
} else if (Constants.INCLUDE_TIMESTAMP.equals(name)) {
asymmetricBinding.setIncludeTimestamp(true);
- } else if (Constants.ENCRYPT_BEFORE_SIGNING.equals(name)) {
+ } else if (Constants.ENCRYPT_BEFORE_SIGNING.equals(name.getLocalPart())) {
asymmetricBinding.setProtectionOrder(Constants.ENCRYPT_BEFORE_SIGNING);
- } else if (Constants.SIGN_BEFORE_ENCRYPTING.equals(name)) {
+ } else if (Constants.SIGN_BEFORE_ENCRYPTING.equals(name.getLocalPart())) {
asymmetricBinding.setProtectionOrder(Constants.SIGN_BEFORE_ENCRYPTING);
- }
+
+ } else if (Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name.getLocalPart())) {
+ asymmetricBinding.setEntireHeaderAndBodySignatures(true);
+ }
}
}
- public QName getKnownElement() {
- return Constants.ASYMMETRIC_BINDING;
+ public QName[] getKnownElements() {
+ return new QName[]{Constants.ASYMMETRIC_BINDING};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedElementsBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedElementsBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedElementsBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedElementsBuilder.java Wed Sep 6 00:47:29 2006
@@ -49,8 +49,8 @@
- public QName getKnownElement() {
- return Constants.ENCRYPTED_ELEMENTS;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.ENCRYPTED_ELEMENTS};
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedPartsBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedPartsBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedPartsBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/EncryptedPartsBuilder.java Wed Sep 6 00:47:29 2006
@@ -47,8 +47,8 @@
return signedEncryptedParts;
}
- public QName getKnownElement() {
- return Constants.ENCRYPTED_PARTS;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.ENCRYPTED_PARTS};
}
private void processElement(OMElement element, SignedEncryptedParts parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/InitiatorTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/InitiatorTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/InitiatorTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/InitiatorTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -60,8 +60,8 @@
}
}
- public QName getKnownElement() {
- return Constants.INITIATOR_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.INITIATOR_TOKEN};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/LayoutBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/LayoutBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/LayoutBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/LayoutBuilder.java Wed Sep 6 00:47:29 2006
@@ -50,8 +50,8 @@
return layout;
}
- public QName getKnownElement() {
- return Constants.LAYOUT;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.LAYOUT};
}
public void processAlternative(List assertions, Layout parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -46,8 +46,8 @@
return protectionToken;
}
- public QName getKnownElement() {
- return Constants.PROTECTION_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.PROTECTION_TOKEN};
}
private void processAlternative(List assertions, ProtectionToken parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/RecipientTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/RecipientTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/RecipientTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/RecipientTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -64,8 +64,8 @@
}
}
- public QName getKnownElement() {
- return Constants.RECIPIENT_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.RECIPIENT_TOKEN};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecureConversationTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecureConversationTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecureConversationTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecureConversationTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -86,8 +86,8 @@
return conversationToken;
}
- public QName getKnownElement() {
- return Constants.SECURE_CONVERSATION_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.SECURE_CONVERSATION_TOKEN};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecurityContextTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecurityContextTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecurityContextTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SecurityContextTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -76,8 +76,8 @@
return contextToken;
}
- public QName getKnownElement() {
- return Constants.SECURE_CONVERSATION_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.SECURE_CONVERSATION_TOKEN};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedElementsBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedElementsBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedElementsBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedElementsBuilder.java Wed Sep 6 00:47:29 2006
@@ -48,8 +48,8 @@
return signedEncryptedElements;
}
- public QName getKnownElement() {
- return Constants.SIGNED_ELEMENTS;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.SIGNED_ELEMENTS};
}
private void processElement(OMElement element, SignedEncryptedElements parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedPartsBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedPartsBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedPartsBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SignedPartsBuilder.java Wed Sep 6 00:47:29 2006
@@ -44,8 +44,8 @@
return signedEncryptedParts;
}
- public QName getKnownElement() {
- return Constants.SIGNED_PARTS;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.SIGNED_PARTS};
}
private void processElement(OMElement element, SignedEncryptedParts parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SupportingTokensBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SupportingTokensBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SupportingTokensBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SupportingTokensBuilder.java Wed Sep 6 00:47:29 2006
@@ -59,19 +59,25 @@
for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
processAlternative((List) iterator.next(), supportingToken);
+
+ /*
+ * for the moment we will say there should be only one alternative
+ */
+ break;
}
return supportingToken;
}
- public QName getKnownElement() {
- return Constants.SUPPORIING_TOKENS;
+ public QName[] getKnownElements() {
+ return new QName[] { Constants.SUPPORIING_TOKENS,
+ Constants.SIGNED_SUPPORTING_TOKENS,
+ Constants.ENDORSING_SUPPORTING_TOKENS,
+ Constants.SIGNED_ENDORSING_SUPPORTING_TOKENS};
}
- private void processAlternative(List assertions, SupportingToken parent) {
- SupportingToken supportingToken = new SupportingToken(parent
- .getTokenType());
-
+ private void processAlternative(List assertions, SupportingToken supportingToken) {
+
for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
Assertion primitive = (Assertion) iterator.next();
@@ -100,8 +106,5 @@
supportingToken.addToken((Token) primitive);
}
}
-
- parent.addConfiguration(supportingToken);
}
-
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SymmetricBindingBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SymmetricBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/SymmetricBindingBuilder.java Wed Sep 6 00:47:29 2006
@@ -27,18 +27,18 @@
import org.apache.neethi.PolicyEngine;
import org.apache.neethi.builders.AssertionBuilder;
import org.apache.ws.secpolicy.Constants;
-import org.apache.ws.secpolicy.model.EncryptionToken;
+import org.apache.ws.secpolicy.model.AlgorithmSuite;
+import org.apache.ws.secpolicy.model.Layout;
import org.apache.ws.secpolicy.model.ProtectionToken;
-import org.apache.ws.secpolicy.model.SignatureToken;
import org.apache.ws.secpolicy.model.SymmetricBinding;
public class SymmetricBindingBuilder implements AssertionBuilder {
public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
- SymmetricBinding symmetricBinding = new SymmetricBinding();
+ SymmetricBinding symmetricBinding = new SymmetricBinding();
Policy policy = PolicyEngine.getPolicy(element);
- policy = (Policy) policy.normalize();
+ policy = (Policy) policy.normalize(false);
for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
processAlternatives((List) iterator.next(), symmetricBinding);
@@ -51,11 +51,11 @@
return symmetricBinding;
}
- public QName getKnownElement() {
- return Constants.SYMMETRIC_BINDING;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.SYMMETRIC_BINDING};
}
- private void processAlternatives(List assertions, SymmetricBinding parent) {
+ private void processAlternatives(List assertions, SymmetricBinding symmetricBinding) {
Assertion assertion;
QName name;
@@ -63,15 +63,26 @@
assertion = (Assertion) iterator.next();
name = assertion.getName();
- if (Constants.ENCRYPTION_TOKEN.equals(name)) {
- parent.setEncryptionToken((EncryptionToken) assertion);
+ if (Constants.ALGORITHM_SUITE.equals(name)) {
+ symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion);
- } else if (Constants.SIGNATURE_TOKEN.equals(name)) {
- parent.setSignatureToken((SignatureToken) assertion);
+ } else if (Constants.LAYOUT.equals(name)) {
+ symmetricBinding.setLayout((Layout) assertion);
+
+ } else if (Constants.INCLUDE_TIMESTAMP.equals(name)) {
+ symmetricBinding.setIncludeTimestamp(true);
} else if (Constants.PROTECTION_TOKEN.equals(name)) {
- parent.setProtectionToken((ProtectionToken) assertion);
+ symmetricBinding.setProtectionToken((ProtectionToken) assertion);
+
+ } else if (Constants.ENCRYPT_BEFORE_SIGNING.equals(name.getLocalPart())) {
+ symmetricBinding.setProtectionOrder(Constants.ENCRYPT_BEFORE_SIGNING);
+
+ } else if (Constants.SIGN_BEFORE_ENCRYPTING.equals(name.getLocalPart())) {
+ symmetricBinding.setProtectionOrder(Constants.SIGN_BEFORE_ENCRYPTING);
+ } else if (Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name.getLocalPart())) {
+ symmetricBinding.setEntireHeaderAndBodySignatures(true);
}
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportBindingBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportBindingBuilder.java Wed Sep 6 00:47:29 2006
@@ -54,8 +54,8 @@
return transportBinding;
}
- public QName getKnownElement() {
- return Constants.TRANSPORT_BINDING;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.TRANSPORT_BINDING};
}
private void processAlternative(List assertionList, TransportBinding parent, AssertionBuilderFactory factory) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/TransportTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -49,8 +49,8 @@
return transportToken;
}
- public QName getKnownElement() {
- return Constants.TRANSPORT_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.TRANSPORT_TOKEN};
}
private void processAlternative(List assertions, TransportToken parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/Trust10Builder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/Trust10Builder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/Trust10Builder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/Trust10Builder.java Wed Sep 6 00:47:29 2006
@@ -63,8 +63,8 @@
return trust10;
}
- public QName getKnownElement() {
- return Constants.TRUST_10;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.TRUST_10};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -67,8 +67,8 @@
return usernameToken;
}
- public QName getKnownElement() {
- return Constants.USERNAME_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.USERNAME_TOKEN};
}
private void processAlternative(List assertions, UsernameToken parent) {
@@ -78,8 +78,8 @@
QName qname = assertion.getName();
if (Constants.WSS_USERNAME_TOKEN10.equals(qname)) {
- parent.setUseUTProfile11(false)
- ;
+ parent.setUseUTProfile11(false);
+
} else if (Constants.WSS_USERNAME_TOKEN11.equals(qname)) {
parent.setUseUTProfile11(true);
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS10Builder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS10Builder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS10Builder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS10Builder.java Wed Sep 6 00:47:29 2006
@@ -50,8 +50,8 @@
return wss10;
}
- public QName getKnownElement() {
- return Constants.WSS10;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.WSS10};
}
private void processAlternative(List assertions, Wss10 parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS11Builder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS11Builder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS11Builder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/WSS11Builder.java Wed Sep 6 00:47:29 2006
@@ -49,8 +49,8 @@
return wss11;
}
- public QName getKnownElement() {
- return Constants.WSS11;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.WSS11};
}
private void processAlternative(List assertions, Wss11 parent) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/X509TokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/X509TokenBuilder.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/X509TokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/X509TokenBuilder.java Wed Sep 6 00:47:29 2006
@@ -105,7 +105,7 @@
}
}
- public QName getKnownElement() {
- return Constants.X509_TOKEN;
+ public QName[] getKnownElements() {
+ return new QName[] {Constants.X509_TOKEN};
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java Wed Sep 6 00:47:29 2006
@@ -22,7 +22,7 @@
public abstract class AbstractConfigurableSecurityAssertion extends AbstractSecurityAssertion {
- private ArrayList configurations = null;
+ protected ArrayList configurations = null;
public void addConfiguration(Assertion assertion) {
if (configurations == null) {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java Wed Sep 6 00:47:29 2006
@@ -19,6 +19,8 @@
import org.apache.neethi.PolicyComponent;
public abstract class AbstractSecurityAssertion implements Assertion{
+
+ private boolean normalized = false;
private boolean isOptional;
@@ -37,5 +39,12 @@
public boolean equal(PolicyComponent policyComponent) {
throw new UnsupportedOperationException();
}
-
+
+ public void setNormalized(boolean normalized) {
+ this.normalized = normalized;
+ }
+
+ public boolean isNormalized() {
+ return normalized;
+ }
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AlgorithmSuite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AlgorithmSuite.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AlgorithmSuite.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AlgorithmSuite.java Wed Sep 6 00:47:29 2006
@@ -15,52 +15,58 @@
*/
package org.apache.ws.secpolicy.model;
+import java.util.Iterator;
+
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.neethi.All;
+import org.apache.neethi.ExactlyOne;
+import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
import org.apache.ws.secpolicy.Constants;
import org.apache.ws.secpolicy.WSSPolicyException;
public class AlgorithmSuite extends AbstractConfigurableSecurityAssertion {
-
+
private String symmetricSignature = Constants.HMAC_SHA1;
-
+
private String asymmetricSignature = Constants.RSA_SHA1;
private String computedKey = Constants.P_SHA1;
private int maximumSymmetricKeyLength = 256;
-
+
private int minimumAsymmetricKeyLength = 1024;
-
+
private int maximumAsymmetricKeyLength = 4096;
private String digest;
-
+
private String encryption;
-
+
private String symmetricKeyWrap;
-
+
private String asymmetricKeyWrap;
-
+
private String encryptionKeyDerivation;
-
+
private String signatureKeyDerivation;
-
+
private int minimumSymmetricKeyLength;
-
+
private String c14n = Constants.EX_C14N;
-
+
private String soapNormalization;
private String strTransform;
-
+
private String xPath;
-
+
/**
* Set the algorithm suite
+ *
* @param algoSuite
* @throws WSSPolicyException
* @see Constants#ALGO_SUITE_BASIC128
@@ -81,8 +87,8 @@
* @see Constants#ALGO_SUITE_TRIPLE_DES_SHA256_RSA15
*/
public void setAlgorithmSuite(String algoSuite) {
- //TODO: Optimize this :-)
- if(Constants.ALGO_SUITE_BASIC256.equals(algoSuite)) {
+ // TODO: Optimize this :-)
+ if (Constants.ALGO_SUITE_BASIC256.equals(algoSuite)) {
this.digest = Constants.SHA1;
this.encryption = Constants.AES256;
this.symmetricKeyWrap = Constants.KW_AES256;
@@ -106,7 +112,7 @@
this.encryptionKeyDerivation = Constants.P_SHA1_L128;
this.signatureKeyDerivation = Constants.P_SHA1_L128;
this.minimumSymmetricKeyLength = 128;
- } else if(Constants.ALGO_SUITE_TRIPLE_DES.equals(algoSuite)) {
+ } else if (Constants.ALGO_SUITE_TRIPLE_DES.equals(algoSuite)) {
this.digest = Constants.SHA1;
this.encryption = Constants.TRIPLE_DES;
this.symmetricKeyWrap = Constants.KW_TRIPLE_DES;
@@ -146,7 +152,7 @@
this.encryptionKeyDerivation = Constants.P_SHA1_L192;
this.signatureKeyDerivation = Constants.P_SHA1_L192;
this.minimumSymmetricKeyLength = 192;
- } else if(Constants.ALGO_SUITE_BASIC256_SHA256.equals(algoSuite)) {
+ } else if (Constants.ALGO_SUITE_BASIC256_SHA256.equals(algoSuite)) {
this.digest = Constants.SHA256;
this.encryption = Constants.AES256;
this.symmetricKeyWrap = Constants.KW_AES256;
@@ -170,7 +176,7 @@
this.encryptionKeyDerivation = Constants.P_SHA1_L128;
this.signatureKeyDerivation = Constants.P_SHA1_L128;
this.minimumSymmetricKeyLength = 128;
- } else if(Constants.ALGO_SUITE_TRIPLE_DES_SHA256.equals(algoSuite)) {
+ } else if (Constants.ALGO_SUITE_TRIPLE_DES_SHA256.equals(algoSuite)) {
this.digest = Constants.SHA256;
this.encryption = Constants.TRIPLE_DES;
this.symmetricKeyWrap = Constants.KW_TRIPLE_DES;
@@ -178,7 +184,7 @@
this.encryptionKeyDerivation = Constants.P_SHA1_L192;
this.signatureKeyDerivation = Constants.P_SHA1_L192;
this.minimumSymmetricKeyLength = 192;
- } else if (Constants.ALGO_SUITE_BASIC256_SHA256_RSA15.equals(algoSuite)) {
+ } else if (Constants.ALGO_SUITE_BASIC256_SHA256_RSA15.equals(algoSuite)) {
this.digest = Constants.SHA256;
this.encryption = Constants.AES256;
this.symmetricKeyWrap = Constants.KW_AES256;
@@ -202,7 +208,8 @@
this.encryptionKeyDerivation = Constants.P_SHA1_L128;
this.signatureKeyDerivation = Constants.P_SHA1_L128;
this.minimumSymmetricKeyLength = 128;
- } else if (Constants.ALGO_SUITE_TRIPLE_DES_SHA256_RSA15.equals(algoSuite)) {
+ } else if (Constants.ALGO_SUITE_TRIPLE_DES_SHA256_RSA15
+ .equals(algoSuite)) {
this.digest = Constants.SHA256;
this.encryption = Constants.TRIPLE_DES;
this.symmetricKeyWrap = Constants.KW_TRIPLE_DES;
@@ -211,7 +218,8 @@
this.signatureKeyDerivation = Constants.P_SHA1_L192;
this.minimumSymmetricKeyLength = 192;
} else {
-// throw new WSSPolicyException("Invalid algorithm suite : " + algoSuite);
+ // throw new WSSPolicyException("Invalid algorithm suite : " +
+ // algoSuite);
}
}
@@ -314,10 +322,11 @@
}
/**
- * @param c14n The c14n to set.
+ * @param c14n
+ * The c14n to set.
*/
public void setC14n(String c14n) {
- this.c14n = c14n;
+ this.c14n = c14n;
}
/**
@@ -328,10 +337,11 @@
}
/**
- * @param soapNormalization The soapNormalization to set.
+ * @param soapNormalization
+ * The soapNormalization to set.
*/
public void setSoapNormalization(String soapNormalization) {
- this.soapNormalization = soapNormalization;
+ this.soapNormalization = soapNormalization;
}
/**
@@ -342,10 +352,11 @@
}
/**
- * @param strTransform The strTransform to set.
+ * @param strTransform
+ * The strTransform to set.
*/
public void setStrTransform(String strTransform) {
- this.strTransform = strTransform;
+ this.strTransform = strTransform;
}
/**
@@ -356,20 +367,22 @@
}
/**
- * @param path The xPath to set.
+ * @param path
+ * The xPath to set.
*/
public void setXPath(String path) {
xPath = path;
}
-
+
public QName getName() {
return Constants.ALGORITHM_SUITE;
}
-
+
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException(
+ "AlgorithmSuite.normalize() is not supported");
}
-
+
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
throw new UnsupportedOperationException();
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java Wed Sep 6 00:47:29 2006
@@ -16,10 +16,16 @@
package org.apache.ws.secpolicy.model;
+import java.util.Iterator;
+import java.util.List;
+
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.neethi.All;
+import org.apache.neethi.ExactlyOne;
+import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
import org.apache.ws.secpolicy.Constants;
@@ -58,12 +64,46 @@
return Constants.ASYMMETRIC_BINDING;
}
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
+
+ if (isNormalized()) {
+ return this;
+ }
+
+ AlgorithmSuite algorithmSuite = getAlgorithmSuite();
+ List configs = algorithmSuite.getConfigurations();
+
+ Policy policy = new Policy();
+ ExactlyOne exactlyOne = new ExactlyOne();
+
+ policy.addPolicyComponent(exactlyOne);
+
+ All wrapper;
+ AsymmetricBinding asymmetricBinding;
+
+ for (Iterator iterator = configs.iterator(); iterator.hasNext();) {
+ wrapper = new All();
+ asymmetricBinding = new AsymmetricBinding();
+
+ asymmetricBinding.setAlgorithmSuite((AlgorithmSuite) iterator.next());
+ asymmetricBinding.setEntireHeaderAndBodySignatures(isEntireHeaderAndBodySignatures());
+ asymmetricBinding.setIncludeTimestamp(isIncludeTimestamp());
+ asymmetricBinding.setInitiatorToken(getInitiatorToken());
+ asymmetricBinding.setLayout(getLayout());
+ asymmetricBinding.setProtectionOrder(getProtectionOrder());
+ asymmetricBinding.setRecipientToken(getRecipientToken());
+ asymmetricBinding.setSignatureProtection(isSignatureProtection());
+ asymmetricBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
+ asymmetricBinding.setTokenProtection(isTokenProtection());
+
+ asymmetricBinding.setNormalized(true);
+ wrapper.addPolicyComponent(wrapper);
+ }
+
+ return policy;
+
}
+
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
throw new UnsupportedOperationException();
}
-
-
-
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/ProtectionToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/ProtectionToken.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/ProtectionToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/ProtectionToken.java Wed Sep 6 00:47:29 2006
@@ -50,8 +50,11 @@
}
public PolicyComponent normalize() {
- // TODO Auto-generated method stub
- return null;
+ /*
+ * ProtectionToken can not contain multiple values. Hence we consider it
+ * to always be in the normalized format.
+ */
+ return this;
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedElements.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedElements.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedElements.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedElements.java Wed Sep 6 00:47:29 2006
@@ -74,20 +74,17 @@
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
throw new UnsupportedOperationException();
-
}
public QName getName() {
if (signedElemets) {
return Constants.SIGNED_ELEMENTS;
}
+
return Constants.ENCRYPTED_ELEMENTS;
}
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
- }
-
-
-
+ return this;
+ }
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java Wed Sep 6 00:47:29 2006
@@ -80,7 +80,7 @@
}
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
+ return this;
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java Wed Sep 6 00:47:29 2006
@@ -26,7 +26,7 @@
import org.apache.neethi.PolicyComponent;
import org.apache.ws.secpolicy.Constants;
-public class SupportingToken extends AbstractConfigurableSecurityAssertion
+public class SupportingToken extends AbstractSecurityAssertion
implements AlgorithmWrapper, TokenWrapper {
/**
@@ -182,14 +182,8 @@
}
}
- public boolean isOptional() {
- // TODO Auto-generated method stub
- return false;
- }
-
public PolicyComponent normalize() {
- // TODO Auto-generated method stub
- return null;
+ return this;
}
public short getType() {
@@ -197,7 +191,6 @@
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
- // TODO Auto-generated method stub
-
+ throw new UnsupportedOperationException("not yet implemented");
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SymmetricBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SymmetricBinding.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SymmetricBinding.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SymmetricBinding.java Wed Sep 6 00:47:29 2006
@@ -16,10 +16,16 @@
package org.apache.ws.secpolicy.model;
+import java.util.Iterator;
+import java.util.List;
+
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.neethi.All;
+import org.apache.neethi.ExactlyOne;
+import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
import org.apache.ws.secpolicy.Constants;
@@ -91,7 +97,50 @@
}
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
+ if (isNormalized()) {
+ return this;
+ }
+
+ AlgorithmSuite algorithmSuite = getAlgorithmSuite();
+ List configurations = algorithmSuite.getConfigurations();
+
+ if (configurations == null && configurations.size() == 1) {
+ setNormalized(true);
+ return this;
+ }
+
+ Policy policy = new Policy();
+ ExactlyOne exactlyOne = new ExactlyOne();
+
+ All wrapper;
+ SymmetricBinding symmetricBinding;
+
+ for (Iterator iterator = configurations.iterator(); iterator.hasNext();) {
+ wrapper = new All();
+ symmetricBinding = new SymmetricBinding();
+
+ algorithmSuite = (AlgorithmSuite) iterator.next();
+ symmetricBinding.setAlgorithmSuite(algorithmSuite);
+
+ symmetricBinding.setEncryptionToken(getEncryptionToken());
+ symmetricBinding.setEntireHeaderAndBodySignatures(isEntireHeaderAndBodySignatures());
+ symmetricBinding.setIncludeTimestamp(isIncludeTimestamp());
+ symmetricBinding.setLayout(getLayout());
+ symmetricBinding.setProtectionOrder(getProtectionOrder());
+ symmetricBinding.setProtectionToken(getProtectionToken());
+ symmetricBinding.setSignatureProtection(isSignatureProtection());
+ symmetricBinding.setSignatureToken(getSignatureToken());
+ symmetricBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
+ symmetricBinding.setSignedSupportingToken(getSignedSupportingToken());
+ symmetricBinding.setTokenProtection(isTokenProtection());
+
+ symmetricBinding.setNormalized(true);
+ wrapper.addPolicyComponent(symmetricBinding);
+ exactlyOne.addPolicyComponent(wrapper);
+ }
+
+ policy.addPolicyComponent(exactlyOne);
+ return policy;
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java Wed Sep 6 00:47:29 2006
@@ -17,12 +17,16 @@
package org.apache.ws.secpolicy.model;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.neethi.All;
+import org.apache.neethi.ExactlyOne;
+import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
import org.apache.ws.secpolicy.Constants;
@@ -69,7 +73,42 @@
}
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
+ if (isNormalized()) {
+ return this;
+ }
+
+ AlgorithmSuite algorithmSuite = getAlgorithmSuite();
+ List configurations = algorithmSuite.getConfigurations();
+
+ if (configurations != null && configurations.size() == 1) {
+ setNormalized(true);
+ return this;
+ }
+
+ Policy policy = new Policy();
+ ExactlyOne exactlyOne = new ExactlyOne();
+
+ All wrapper;
+ TransportBinding transportBinding;
+
+ for (Iterator iterator = configurations.iterator(); iterator.hasNext();) {
+ wrapper = new All();
+ transportBinding = new TransportBinding();
+
+ algorithmSuite = (AlgorithmSuite) iterator.next();
+ transportBinding.setAlgorithmSuite(algorithmSuite);
+ transportBinding.setIncludeTimestamp(isIncludeTimestamp());
+ transportBinding.setLayout(getLayout());
+ transportBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
+ transportBinding.setSignedSupportingToken(getSignedSupportingToken());
+ transportBinding.setTransportToken(getTransportToken());
+
+ wrapper.addPolicyComponent(transportBinding);
+ exactlyOne.addPolicyComponent(wrapper);
+ }
+
+ policy.addPolicyComponent(exactlyOne);
+ return policy;
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java Wed Sep 6 00:47:29 2006
@@ -20,6 +20,7 @@
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.neethi.Assertion;
import org.apache.neethi.PolicyComponent;
import org.apache.ws.secpolicy.Constants;
@@ -119,17 +120,10 @@
throw new UnsupportedOperationException("TODO Sanka");
}
- /* (non-Javadoc)
- * @see org.apache.neethi.Assertion#normalize()
- */
public PolicyComponent normalize() {
- // TODO TODO Sanka
- throw new UnsupportedOperationException("TODO Sanka");
+ return this;
}
- /* (non-Javadoc)
- * @see org.apache.neethi.PolicyComponent#serialize(javax.xml.stream.XMLStreamWriter)
- */
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
// TODO TODO Sanka
throw new UnsupportedOperationException("TODO Sanka");
@@ -139,8 +133,7 @@
* @see org.apache.neethi.PolicyComponent#getType()
*/
public short getType() {
- // TODO TODO Sanka
- throw new UnsupportedOperationException("TODO Sanka");
+ return Assertion.ASSERTION;
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java?view=diff&rev=440647&r1=440646&r2=440647
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java Wed Sep 6 00:47:29 2006
@@ -84,10 +84,10 @@
}
public PolicyComponent normalize() {
- throw new UnsupportedOperationException();
+ return this;
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException("not yet implemented");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org