You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2016/01/04 13:04:29 UTC
svn commit: r1722853 -
/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/
Author: coheigea
Date: Mon Jan 4 12:04:29 2016
New Revision: 1722853
URL: http://svn.apache.org/viewvc?rev=1722853&view=rev
Log:
[WSS-564] - Allow WS-SecurityPolicy 1.1 tokens to have an optional policy element
Modified:
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java
webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -48,9 +48,12 @@ public class HttpsTokenBuilder implement
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
- Policy nestedPolicy;
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- //throw new IllegalArgumentException("sp:HttpsToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:HttpsToken must have an inner wsp:Policy element");
+ }
nestedPolicy = new Policy();
} else {
nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -48,10 +48,17 @@ public class KerberosTokenBuilder implem
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:KerberosToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:KerberosToken must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
KerberosToken kerberosToken = new KerberosToken(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -46,9 +46,12 @@ public class KeyValueTokenBuilder implem
throw new IllegalArgumentException(SPConstants.ERR_INVALID_POLICY);
}
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
- Policy nestedPolicy;
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- //throw new IllegalArgumentException("sp:KeyValueToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:KeyValueToken must have an inner wsp:Policy element");
+ }
nestedPolicy = new Policy();
} else {
nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -48,10 +48,17 @@ public class SamlTokenBuilder implements
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:SamlToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:SamlToken must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
SamlToken samlToken = new SamlToken(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -45,10 +45,17 @@ public class SecureConversationTokenBuil
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:SecureConversationToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:SecureConversationToken must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
SecureConversationToken secureConversationToken = new SecureConversationToken(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -48,10 +48,17 @@ public class SecurityContextTokenBuilder
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:SecurityContextToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:SecurityContextToken must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
SecurityContextToken securityContextToken = new SecurityContextToken(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -45,10 +45,17 @@ public class SpnegoContextTokenBuilder i
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:SpnegoContextToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:SpnegoContextToken must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
SpnegoContextToken spnegoContextToken = new SpnegoContextToken(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -48,10 +48,17 @@ public class UsernameTokenBuilder implem
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:UsernameToken must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:UsernameToken must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
UsernameToken usernameToken = new UsernameToken(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),
Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java Mon Jan 4 12:04:29 2016
@@ -48,10 +48,17 @@ public class X509TokenBuilder implements
}
final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+
+ Policy nestedPolicy = null;
if (nestedPolicyElement == null) {
- throw new IllegalArgumentException("sp:X509Token must have an inner wsp:Policy element");
+ if (spVersion != SPConstants.SPVersion.SP11) {
+ throw new IllegalArgumentException("sp:X509Token must have an inner wsp:Policy element");
+ }
+ nestedPolicy = new Policy();
+ } else {
+ nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
}
- final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+
X509Token x509Token = new X509Token(
spVersion,
spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),