You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2017/01/29 15:02:13 UTC
svn commit: r1780802 [2/3] - in
/axis/axis2/java/rampart/branches/RAMPART-252: ./ modules/distribution/
modules/documentation/src/site/ modules/documentation/src/site/resources/
modules/documentation/src/site/resources/css/ modules/documentation/src/si...
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java Sun Jan 29 15:02:12 2017
@@ -107,6 +107,8 @@ public class RampartPolicyData {
private boolean encryptAttachmentsOptional;
+ private boolean signAllHeaders;
+
private Vector signedParts = new Vector();
private Vector signedElements = new Vector();
@@ -926,6 +928,14 @@ public class RampartPolicyData {
public MTOMAssertion getMTOMAssertion(){
return mtomAssertion;
}
+
+ public boolean isSignAllHeaders() {
+ return signAllHeaders;
+ }
+
+ public void setSignAllHeaders(boolean signAllHeaders) {
+ this.signAllHeaders = signAllHeaders;
+ }
public boolean isMTOMSerialize(){
if(mtomAssertion == null){
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java Sun Jan 29 15:02:12 2017
@@ -103,6 +103,13 @@ public class RampartConfigBuilder implem
}
childElement = element.getFirstChildWithName(new QName(
+ RampartConfig.NS, RampartConfig.DEC_CRYPTO_LN));
+ if (childElement != null) {
+ rampartConfig.setDecCryptoConfig((CryptoConfig) factory
+ .build(childElement.getFirstElement()));
+ }
+
+ childElement = element.getFirstChildWithName(new QName(
RampartConfig.NS, RampartConfig.STS_CRYPTO_LN));
if (childElement != null) {
rampartConfig.setStsCryptoConfig((CryptoConfig) factory
@@ -133,6 +140,12 @@ public class RampartConfigBuilder implem
rampartConfig.setNonceLifeTime(childElement.getText().trim());
}
+ childElement = element.getFirstChildWithName(new QName(
+ RampartConfig.NS, RampartConfig.TOKEN_STORE_CLASS_LN));
+ if (childElement != null) {
+ rampartConfig.setTokenStoreClass(childElement.getText().trim());
+ }
+
childElement = element.getFirstChildWithName(new QName(
RampartConfig.NS, RampartConfig.OPTIMISE_PARTS));
if (childElement != null) {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/OptimizePartsConfig.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/OptimizePartsConfig.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/OptimizePartsConfig.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/OptimizePartsConfig.java Sun Jan 29 15:02:12 2017
@@ -100,6 +100,7 @@ public class OptimizePartsConfig impleme
while(ite.hasNext()){
String strPrefix = (String)ite.next();
String strURI = (String) namespaces.get(strPrefix);
+ writer.writeStartElement(RampartConfig.NS, NAMESPACE_LN);
writer.writeAttribute(URI_ATTR , strURI);
writer.writeAttribute(PREFIX_ATTR, strPrefix);
writer.writeEndElement();
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java Sun Jan 29 15:02:12 2017
@@ -163,7 +163,13 @@ public class Axis2Util {
}
}
-
+ /**
+ * Builds a SOAPEnvelope from DOM Document.
+ * @param doc - The dom document that contains a SOAP message
+ * @param useDoom
+ * @return
+ * @throws WSSecurityException
+ */
public static SOAPEnvelope getSOAPEnvelopeFromDOMDocument(Document doc, boolean useDoom)
throws WSSecurityException {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java Sun Jan 29 15:02:12 2017
@@ -149,7 +149,7 @@ public class HandlerParameterDecoder {
}
msgCtx.setProperty(WSSHandlerConstants.SENDER_REPEAT_COUNT,
- new Integer(repetitionCount));
+ Integer.valueOf(repetitionCount));
}
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java Sun Jan 29 15:02:12 2017
@@ -438,18 +438,18 @@ public class RampartUtil {
*/
public static String processIssuerAddress(OMElement issuerAddress)
throws RampartException {
- if(issuerAddress != null && issuerAddress.getText() != null &&
- !"".equals(issuerAddress.getText())) {
- return issuerAddress.getText().trim();
- } else {
- if(issuerAddress != null) {
- throw new RampartException("invalidIssuerAddress",
- new String[] { issuerAddress.toString() });
- } else {
- throw new RampartException("invalidIssuerAddress",
- new String[] { "Issuer address null" });
- }
+
+ if(issuerAddress == null){
+ throw new RampartException("invalidIssuerAddress",
+ new String[] { "Issuer address null" });
+ }
+
+ if(issuerAddress.getText() == null || "".equals(issuerAddress.getText())) {
+ throw new RampartException("invalidIssuerAddress",
+ new String[] { issuerAddress.toString() });
}
+
+ return issuerAddress.getText().trim();
}
/**
@@ -881,6 +881,19 @@ public class RampartUtil {
public static Vector getSignedParts(RampartMessageData rmd) {
RampartPolicyData rpd = rmd.getPolicyData();
SOAPEnvelope envelope = rmd.getMsgContext().getEnvelope();
+
+ //"signAllHeaders" indicates that all the headers should be signed.
+ if (rpd.isSignAllHeaders()) {
+ Iterator childHeaders = envelope.getHeader().getChildElements();
+ while (childHeaders.hasNext()) {
+ OMElement hb = (OMElement) childHeaders.next();
+ if (!(hb.getLocalName().equals(WSConstants.WSSE_LN)
+ && hb.getNamespace().getNamespaceURI().equals(WSConstants.WSSE_NS))) {
+ rpd.addSignedPart(hb.getNamespace().getNamespaceURI(),hb.getLocalName());
+ }
+ }
+ }
+
return getPartsAndElements(true, envelope, rpd.isSignBody()
&& !rpd.isSignBodyOptional(), rpd.getSignedParts(), rpd
.getSignedElements(), rpd.getDeclaredNamespaces());
@@ -1151,9 +1164,12 @@ public class RampartUtil {
* @return
*/
public static boolean checkRequiredElements(SOAPEnvelope envelope, HashMap decNamespaces, String expression ) {
+
+ // The XPath expression must be evaluated against the SOAP header
+ // http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html#_Toc161826519
+ SOAPHeader header = envelope.getHeader();
-
- Set namespaces = findAllPrefixNamespaces(envelope, decNamespaces);
+ Set namespaces = findAllPrefixNamespaces(header, decNamespaces);
try {
XPath xp = new AXIOMXPath(expression);
@@ -1165,7 +1181,7 @@ public class RampartUtil {
xp.addNamespace(tmpNs.getPrefix(), tmpNs.getNamespaceURI());
}
- List selectedNodes = xp.selectNodes(envelope);
+ List selectedNodes = xp.selectNodes(header);
if (selectedNodes.size() == 0 ) {
return false;
@@ -1288,10 +1304,16 @@ public class RampartUtil {
* the WSS11 and WSS10 assertions
*/
- public static void setKeyIdentifierType(RampartPolicyData rpd, WSSecBase secBase,org.apache.ws.secpolicy.model.Token token) {
-
- if (token.getInclusion() == SPConstants.INCLUDE_TOKEN_NEVER) {
-
+ public static void setKeyIdentifierType(RampartMessageData rmd, WSSecBase secBase,org.apache.ws.secpolicy.model.Token token) {
+
+ // Use a reference rather than the binary security token if: the policy never allows the token to be
+ // included; or this is the recipient and the token should only be included in requests; or this is
+ // the initiator and the token should only be included in responses.
+ final boolean useReference = token.getInclusion() == SPConstants.INCLUDE_TOKEN_NEVER
+ || !rmd.isInitiator() && token.getInclusion() == SPConstants.INCLUDE_TOEKN_ALWAYS_TO_RECIPIENT
+ || rmd.isInitiator() && token.getInclusion() == SPConstants.INCLUDE_TOEKN_ALWAYS_TO_INITIATOR;
+ if (useReference) {
+
boolean tokenTypeSet = false;
if(token instanceof X509Token) {
@@ -1310,6 +1332,7 @@ public class RampartUtil {
}
if (!tokenTypeSet) {
+ final RampartPolicyData rpd = rmd.getPolicyData();
Wss10 wss = rpd.getWss11();
if (wss == null) {
wss = rpd.getWss10();
@@ -1555,7 +1578,26 @@ public class RampartUtil {
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
-
+
+ supportingTokens = rpd.getEncryptedSupportingTokens();
+ if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
+
+ supportingTokens = rpd.getSignedEncryptedSupportingTokens();
+ if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
+
+ supportingTokens = rpd.getEndorsingEncryptedSupportingTokens();
+ if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
+
+ supportingTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();
+ if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
+ return true;
+ }
}
return false;
@@ -1731,4 +1773,4 @@ public class RampartUtil {
}
-}
\ No newline at end of file
+}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/pom.xml?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/pom.xml (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/pom.xml Sun Jan 29 15:02:12 2017
@@ -48,7 +48,7 @@
<artifactItem>
<groupId>org.apache.axis2</groupId>
<artifactId>addressing</artifactId>
- <version>${addressing.mar.version}</version>
+ <version>${axis2.version}</version>
<type>mar</type>
<overWrite>true</overWrite>
<outputDirectory>target/artifacts</outputDirectory>
@@ -119,9 +119,9 @@
<phase>process-test-resources</phase>
<configuration>
<tasks>
- <property name="addressing.mar" value="addressing-${addressing.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-classes/modules/addressing-${addressing.mar.version}.mar"/>
+ <property name="addressing.mar" value="addressing-${axis2.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-classes/modules/addressing-${axis2.version}.mar"/>
<copy file="target/artifacts/rampart-${rampart.mar.version}.mar"
tofile="target/test-classes/modules/rampart-${rampart.mar.version}.mar"/>
@@ -145,8 +145,8 @@
tofile="target/test-resources/rampart_client_repo/modules/rampart-${rampart.mar.version}.mar"/>
<copy file="target/artifacts/rahas-${rahas.mar.version}.mar"
tofile="target/test-resources/rampart_client_repo/modules/rahas-${rahas.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/rampart_client_repo/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/rampart_client_repo/modules/addressing-${axis2.version}.mar"/>
<mkdir dir="target/test-resources/rampart_service_repo"/>
<mkdir dir="target/test-resources/rampart_service_repo/conf"/>
<mkdir dir="target/test-resources/rampart_service_repo/services"/>
@@ -155,8 +155,8 @@
tofile="target/test-resources/rampart_service_repo/modules/rampart-${rampart.mar.version}.mar"/>
<copy file="target/artifacts/rahas-${rahas.mar.version}.mar"
tofile="target/test-resources/rampart_service_repo/modules/rahas-${rahas.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/rampart_service_repo/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/rampart_service_repo/modules/addressing-${axis2.version}.mar"/>
<!-- Service 1 -->
<copy overwrite="yes"
@@ -332,6 +332,12 @@
tofile="target/temp-ramp/META-INF/services.xml"/>
<jar jarfile="target/test-resources/rampart_service_repo/services/SecureService29.aar"
basedir="target/temp-ramp"/>
+ <!-- Service 30 -->
+ <copy overwrite="yes"
+ file="src/test/resources/rampart/services-30.xml"
+ tofile="target/temp-ramp/META-INF/services.xml"/>
+ <jar jarfile="target/test-resources/rampart_service_repo/services/SecureService30.aar"
+ basedir="target/temp-ramp"/>
<!-- Service SC-1 -->
@@ -386,8 +392,8 @@
<mkdir dir="target/test-resources/rahas_client_repo"/>
<mkdir dir="target/test-resources/rahas_client_repo/conf"/>
<mkdir dir="target/test-resources/rahas_client_repo/modules"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/rahas_client_repo/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/rahas_client_repo/modules/addressing-${axis2.version}.mar"/>
<copy file="target/artifacts/rampart-${rampart.mar.version}.mar"
tofile="target/test-resources/rahas_client_repo/modules/rampart-${rampart.mar.version}.mar"/>
<!-- Rahas Test1: SAML Token test -->
@@ -399,8 +405,8 @@
tofile="target/test-resources/rahas_service_repo_1/modules/rampart-${rampart.mar.version}.mar"/>
<copy file="target/artifacts/rahas-${rahas.mar.version}.mar"
tofile="target/test-resources/rahas_service_repo_1/modules/rahas-${rahas.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/rahas_service_repo_1/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/rahas_service_repo_1/modules/addressing-${axis2.version}.mar"/>
<!-- copy the services.xml and create the aar -->
<copy overwrite="yes"
file="src/test/resources/rahas/s1-services.xml"
@@ -419,8 +425,8 @@
tofile="target/test-resources/rahas_service_repo_3/modules/rampart-${rampart.mar.version}.mar"/>
<copy file="target/artifacts/rahas-${rahas.mar.version}.mar"
tofile="target/test-resources/rahas_service_repo_3/modules/rahas-${rahas.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/rahas_service_repo_3/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/rahas_service_repo_3/modules/addressing-${axis2.version}.mar"/>
<!-- copy the services.xml and create the aar -->
<copy overwrite="yes"
file="src/test/resources/rahas/s3-services.xml"
@@ -435,8 +441,8 @@
<mkdir dir="target/test-resources/default_security_client_repo/modules"/>
<copy file="target/artifacts/rampart-${rampart.mar.version}.mar"
tofile="target/test-resources/default_security_client_repo/modules/rampart-${rampart.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/default_security_client_repo/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/default_security_client_repo/modules/addressing-${axis2.version}.mar"/>
<copy file="src/test/resources/conf/axis2.xml"
tofile="target/test-resources/default_security_client_repo/conf/axis2.xml"/>
<!--
@@ -450,8 +456,8 @@
tofile="target/test-resources/rahas_service_repo_5/modules/rampart-${rampart.mar.version}.mar"/>
<copy file="target/artifacts/rahas-${rahas.mar.version}.mar"
tofile="target/test-resources/rahas_service_repo_5/modules/rahas-${rahas.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/rahas_service_repo_5/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/rahas_service_repo_5/modules/addressing-${axis2.version}.mar"/>
<!-- copy the services.xml and create the aar -->
<copy overwrite="yes"
file="src/test/resources/rahas/s5-services.xml"
@@ -698,15 +704,15 @@
tofile="target/test-resources/complete_client_repo/conf/axis2.xml"/>
<copy file="target/artifacts/rampart-${rampart.mar.version}.mar"
tofile="target/test-resources/complete_client_repo/modules/rampart-${rampart.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/complete_client_repo/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/complete_client_repo/modules/addressing-${axis2.version}.mar"/>
<!-- Test with addressing and MTOMservice repository-->
<copy file="src/test/resources/security/complete.service.axis2.xml"
tofile="target/test-resources/complete_service_repo/conf/axis2.xml"/>
<copy file="target/artifacts/rampart-${rampart.mar.version}.mar"
tofile="target/test-resources/complete_service_repo/modules/rampart-${rampart.mar.version}.mar"/>
- <copy file="target/artifacts/addressing-${addressing.mar.version}.mar"
- tofile="target/test-resources/complete_service_repo/modules/addressing-${addressing.mar.version}.mar"/>
+ <copy file="target/artifacts/addressing-${axis2.version}.mar"
+ tofile="target/test-resources/complete_service_repo/modules/addressing-${axis2.version}.mar"/>
<copy file="src/test/resources/security/complete.service.xml"
tofile="target/temp-interop/META-INF/services.xml"
overwrite="true"/>
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java Sun Jan 29 15:02:12 2017
@@ -77,7 +77,7 @@ public class RampartTest extends TestCas
"Unlimited Strength Jurisdiction Policy !!!");
}
- for (int i = 1; i <= 29; i++) { //<-The number of tests we have
+ for (int i = 1; i <= 30; i++) { //<-The number of tests we have
if(!basic256Supported && (i == 3 || i == 4 || i == 5)) {
//Skip the Basic256 tests
continue;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java Sun Jan 29 15:02:12 2017
@@ -25,7 +25,7 @@ public abstract class AbstractSecurityAs
private boolean isOptional;
- private boolean normalized = false;
+ private boolean normalized = true;
protected int version;
@@ -50,7 +50,7 @@ public abstract class AbstractSecurityAs
}
public boolean isNormalized() {
- return true;
+ return this.normalized;
}
public PolicyComponent normalize() {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java Sun Jan 29 15:02:12 2017
@@ -122,9 +122,9 @@ public class SignedEncryptedElements ext
Iterator<String> namespaces = declaredNamespaces.keySet().iterator();
while(namespaces.hasNext()) {
- prefix = (String) namespaces.next();
- namespaceURI = (String) declaredNamespaces.get(prefix);
- writer.writeNamespace(prefix,namespaceURI);
+ final String declaredPrefix = namespaces.next();
+ final String declaredNamespaceURI = (String) declaredNamespaces.get(declaredPrefix);
+ writer.writeNamespace(declaredPrefix,declaredNamespaceURI);
}
writer.writeCharacters(xpathExpression);
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java Sun Jan 29 15:02:12 2017
@@ -37,6 +37,16 @@ public class SignedEncryptedParts extend
private ArrayList headers = new ArrayList();
private boolean signedParts;
+
+ private boolean signAllHeaders;
+
+ public boolean isSignAllHeaders() {
+ return signAllHeaders;
+ }
+
+ public void setSignAllHeaders(boolean signAllHeaders) {
+ this.signAllHeaders = signAllHeaders;
+ }
public SignedEncryptedParts(boolean signedParts, int version) {
this.signedParts = signedParts;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java Sun Jan 29 15:02:12 2017
@@ -37,9 +37,12 @@ public class TransportBinding extends Bi
private TransportToken transportToken;
private List transportBindings;
+
+ private boolean tokenProtection;
public TransportBinding(int version) {
super(version);
+ this.tokenProtection = false;
}
/**
* @return Returns the transportToken.
@@ -55,6 +58,21 @@ public class TransportBinding extends Bi
public void setTransportToken(TransportToken transportToken) {
this.transportToken = transportToken;
}
+
+ /**
+ * @return Returns the tokenProtection.
+ */
+ public boolean isTokenProtection() {
+ return tokenProtection;
+ }
+
+ /**
+ * @param tokenProtection The tokenProtection to set.
+ */
+ public void setTokenProtection(boolean tokenProtection) {
+ this.tokenProtection = tokenProtection;
+ }
+
public List getConfigurations() {
return transportBindings;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java Sun Jan 29 15:02:12 2017
@@ -42,8 +42,8 @@ public class EncryptedElementsBuilder im
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedElements.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ signedEncryptedElements.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java Sun Jan 29 15:02:12 2017
@@ -52,8 +52,8 @@ public class EncryptedPartsBuilder imple
OMAttribute isOptional = element
.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedParts.setOptional((new Boolean(isOptional
- .getAttributeValue()).booleanValue()));
+ signedEncryptedParts.setOptional(Boolean.valueOf(isOptional
+ .getAttributeValue()).booleanValue());
}
return signedEncryptedParts;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java Sun Jan 29 15:02:12 2017
@@ -43,8 +43,8 @@ public class SignedElementsBuilder imple
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedElements.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ signedEncryptedElements.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java Sun Jan 29 15:02:12 2017
@@ -36,13 +36,19 @@ public class SignedPartsBuilder implemen
SignedEncryptedParts signedEncryptedParts = new SignedEncryptedParts(true, SPConstants.SP_V11);
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedParts.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ signedEncryptedParts.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
processElement((OMElement) iterator.next(), signedEncryptedParts);
}
-
+
+ // Presense of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks
+ if(!element.getChildren().hasNext()){
+ signedEncryptedParts.setBody(true);
+ signedEncryptedParts.setSignAllHeaders(true);
+ }
+
return signedEncryptedParts;
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java Sun Jan 29 15:02:12 2017
@@ -55,8 +55,8 @@ public class SupportingTokensBuilder imp
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- supportingToken.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ supportingToken.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java Sun Jan 29 15:02:12 2017
@@ -47,8 +47,8 @@ public class UsernameTokenBuilder implem
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- usernameToken.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ usernameToken.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
OMElement policyElement = element.getFirstElement();
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java Sun Jan 29 15:02:12 2017
@@ -63,8 +63,8 @@ public class X509TokenBuilder implements
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- x509Token.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ x509Token.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java Sun Jan 29 15:02:12 2017
@@ -47,8 +47,8 @@ public class EncryptedElementsBuilder im
OMAttribute isOptional = element
.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedElements.setOptional((new Boolean(isOptional
- .getAttributeValue()).booleanValue()));
+ signedEncryptedElements.setOptional(Boolean.valueOf(isOptional
+ .getAttributeValue()).booleanValue());
}
return signedEncryptedElements;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java Sun Jan 29 15:02:12 2017
@@ -52,8 +52,8 @@ public class EncryptedPartsBuilder imple
OMAttribute isOptional = element
.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedParts.setOptional((new Boolean(isOptional
- .getAttributeValue()).booleanValue()));
+ signedEncryptedParts.setOptional(Boolean.valueOf(isOptional
+ .getAttributeValue()).booleanValue());
}
return signedEncryptedParts;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java Sun Jan 29 15:02:12 2017
@@ -44,8 +44,8 @@ public class SignedElementsBuilder imple
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedElements.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ signedEncryptedElements.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java Sun Jan 29 15:02:12 2017
@@ -41,9 +41,15 @@ public class SignedPartsBuilder implemen
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- signedEncryptedParts.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ signedEncryptedParts.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
+
+ //presense of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks
+ if(!element.getChildren().hasNext()){
+ signedEncryptedParts.setBody(true);
+ signedEncryptedParts.setSignAllHeaders(true);
+ }
return signedEncryptedParts;
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java Sun Jan 29 15:02:12 2017
@@ -71,8 +71,8 @@ public class SupportingTokensBuilder imp
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- supportingToken.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ supportingToken.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java Sun Jan 29 15:02:12 2017
@@ -77,6 +77,9 @@ public class TransportBindingBuilder imp
} else if (name.equals(SP12Constants.LAYOUT)) {
parent.setLayout((Layout) primitive);
+ } else if (name.equals(SP12Constants.PROTECT_TOKENS)) {
+ parent.setTokenProtection(true);
+
} else if (name.equals(SP12Constants.SIGNED_SUPPORTING_TOKENS)) {
parent.setSignedSupportingToken((SupportingToken) primitive);
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java Sun Jan 29 15:02:12 2017
@@ -47,8 +47,8 @@ public class UsernameTokenBuilder implem
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- usernameToken.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ usernameToken.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
OMElement policyElement = element.getFirstElement();
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java Sun Jan 29 15:02:12 2017
@@ -62,8 +62,8 @@ public class X509TokenBuilder implements
OMAttribute isOptional = element.getAttribute(Constants.Q_ELEM_OPTIONAL_ATTR);
if (isOptional != null) {
- x509Token.setOptional((new Boolean(isOptional.getAttributeValue())
- .booleanValue()));
+ x509Token.setOptional(Boolean.valueOf(isOptional.getAttributeValue())
+ .booleanValue());
}
if (policyElement != null) {
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/README.txt
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/README.txt?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/README.txt (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/README.txt Sun Jan 29 15:02:12 2017
@@ -15,3 +15,7 @@ Please use Apache Ant with the build.xml
and mars to required places.
- Please copy log4j.jar to AXIS2_HOME/lib directory before trying out samples.
+
+ - Please follow the instructions on endorsing the default JAXP implementation
+ available in README.txt of this distribution before invoking
+ Sample 08.(Issuing a SAML 2.0 Token)
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/keys/client.jks
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/keys/client.jks?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
Binary files - no diff available.
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/keys/service.jks
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/keys/service.jks?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
Binary files - no diff available.
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/keys/sts.jks
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/keys/sts.jks?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
Binary files - no diff available.
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/build.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/build.xml?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/build.xml (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/build.xml Sun Jan 29 15:02:12 2017
@@ -109,6 +109,17 @@
<create.and.run.client sample.number="07"/>
</target>
+ <!-- Sample Service 08 -->
+ <target name="service.08" if="env.AXIS2_HOME" depends="check.dependency">
+ <create.service.repo sample.number="08"/>
+ </target>
+
+ <!-- Sample Client 08 -->
+ <target name="client.08" if="env.AXIS2_HOME" depends="check.dependency">
+ <create.and.run.client sample.number="08"/>
+ </target>
+
+
<target name="clean">
<delete dir="build" />
</target>
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/policy.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/policy.xml?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/policy.xml (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/policy.xml Sun Jan 29 15:02:12 2017
@@ -58,9 +58,6 @@
<sp:RequireInternalReference/>
</wsp:Policy>
</sp:IssuedToken>
- <sp:SignedParts>
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing"/>
- </sp:SignedParts>
</wsp:Policy>
</sp:SupportingTokens>
<sp:SignedParts>
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/services.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/services.xml?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/services.xml (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/services.xml Sun Jan 29 15:02:12 2017
@@ -198,9 +198,6 @@
<sp:RequireInternalReference/>
</wsp:Policy>
</sp:IssuedToken>
- <sp:SignedParts>
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing"/>
- </sp:SignedParts>
</wsp:Policy>
</sp:SupportingTokens>
<sp:SignedParts>
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java Sun Jan 29 15:02:12 2017
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.rampart.samples.policy.sample06;
import java.io.File;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java Sun Jan 29 15:02:12 2017
@@ -16,11 +16,19 @@
package org.apache.rahas;
-import junit.framework.TestCase;
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
+import junit.framework.TestCase;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.Date;
public class SimpleTokenStoreTest extends TestCase {
@@ -30,8 +38,7 @@ public class SimpleTokenStoreTest extend
try {
store.add(getTestToken("id-1"));
} catch (TrustException e) {
- fail("Adding a new token to an empty store should not fail, " +
- "message : " + e.getMessage());
+ fail("Adding a new token to an empty store should not fail, " + "message : " + e.getMessage());
}
Token token = null;
try {
@@ -40,8 +47,7 @@ public class SimpleTokenStoreTest extend
fail("Adding an existing token must throw an exception");
} catch (TrustException e) {
assertEquals("Incorrect exception message",
- TrustException.getMessage("tokenAlreadyExists",
- new String[]{token.getId()}), e.getMessage());
+ TrustException.getMessage("tokenAlreadyExists", new String[]{token.getId()}), e.getMessage());
}
}
@@ -76,9 +82,8 @@ public class SimpleTokenStoreTest extend
store.update(token1);
fail("An exception must be thrown at this point : noTokenToUpdate");
} catch (TrustException e) {
- assertEquals("Incorrect exception message", TrustException
- .getMessage("noTokenToUpdate", new String[]{token1
- .getId()}), e.getMessage());
+ assertEquals("Incorrect exception message",
+ TrustException.getMessage("noTokenToUpdate", new String[]{token1.getId()}), e.getMessage());
}
try {
store.add(token1);
@@ -133,11 +138,13 @@ public class SimpleTokenStoreTest extend
}
}
- private Token getTestToken(String tokenId) throws TrustException {
+ private Token getTestToken(String tokenId)
+ throws TrustException {
return getTestToken(tokenId, new Date());
}
- private Token getTestToken(String tokenId, Date expiry) throws TrustException {
+ private Token getTestToken(String tokenId, Date expiry)
+ throws TrustException {
OMFactory factory = DOOMAbstractFactory.getOMFactory();
OMElement tokenEle = factory.createOMElement("testToken", "", "");
Token token = new Token(tokenId, tokenEle, new Date(), expiry);
@@ -147,4 +154,48 @@ public class SimpleTokenStoreTest extend
token.setSecret("Top secret!".getBytes());
return token;
}
+
+ public void testSerialize()
+ throws Exception {
+ String fileName = "test.ser";
+
+ OMFactory factory = OMAbstractFactory.getOMFactory();
+ OMNamespace ns1 = factory.createOMNamespace("bar", "x");
+ OMElement elt11 = factory.createOMElement("foo1", ns1);
+
+ Token t = new Token("#1232122", elt11, new Date(), new Date());
+
+ SimpleTokenStore store = new SimpleTokenStore();
+ store.add(t);
+
+ FileOutputStream fos = null;
+ ObjectOutputStream out = null;
+
+ try {
+ fos = new FileOutputStream(fileName);
+ out = new ObjectOutputStream(fos);
+ out.writeObject(store);
+ } finally {
+ out.close();
+ }
+
+ SimpleTokenStore store2 = null;
+ FileInputStream fis = null;
+ ObjectInputStream in = null;
+ try {
+ fis = new FileInputStream(fileName);
+ in = new ObjectInputStream(fis);
+ store2 = (SimpleTokenStore)in.readObject();
+ in.close();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ } catch (ClassNotFoundException ex) {
+ ex.printStackTrace();
+ }
+
+ assertEquals(store.getToken("#1232122").getId(), store2.getToken("#1232122").getId());
+ assertEquals(store.getToken("#1232122").getCreated(), store2.getToken("#1232122").getCreated());
+
+ }
+
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java Sun Jan 29 15:02:12 2017
@@ -19,6 +19,8 @@ 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.SOAP11Constants;
+import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
import org.apache.axis2.AxisFault;
import org.apache.axis2.client.Options;
@@ -63,8 +65,28 @@ public class MessageBuilderTestBase exte
* @throws AxisFault
*/
protected MessageContext getMsgCtx() throws Exception {
+ return initMsgCtxFromMessage("test-resources/policy/soapmessage.xml");
+ }
+
+ /**
+ * Return a message context initialized with a SOAP 1.2 message.
+ *
+ * @throws XMLStreamException
+ * @throws FactoryConfigurationError
+ * @throws AxisFault
+ */
+ protected MessageContext getMsgCtx12() throws Exception {
+ return initMsgCtxFromMessage("test-resources/policy/soapmessage.xml");
+ }
+
+ /**
+ * @throws XMLStreamException
+ * @throws FactoryConfigurationError
+ * @throws AxisFault
+ */
+ private MessageContext initMsgCtxFromMessage(String messageResource) throws Exception {
MessageContext ctx = new MessageContext();
-
+
AxisConfiguration axisConfiguration = new AxisConfiguration();
AxisService axisService = new AxisService("TestService");
axisConfiguration.addService(axisService);
@@ -88,7 +110,7 @@ public class MessageBuilderTestBase exte
XMLStreamReader reader =
XMLInputFactory.newInstance().
- createXMLStreamReader(new FileInputStream("test-resources/policy/soapmessage.xml"));
+ createXMLStreamReader(new FileInputStream(messageResource));
ctx.setEnvelope(new StAXSOAPModelBuilder(reader, null).getSOAPEnvelope());
return ctx;
}
@@ -121,4 +143,15 @@ public class MessageBuilderTestBase exte
}
}
+ public String getContentTypeForEnvelope(SOAPEnvelope env) {
+ String contentType = SOAP11Constants.SOAP_11_CONTENT_TYPE; //default
+ if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(env.getNamespace().getNamespaceURI())) {
+ contentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;
+ }
+ else if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(env.getNamespace().getNamespaceURI())) {
+ contentType = SOAP12Constants.SOAP_12_CONTENT_TYPE;
+ }
+ return contentType;
+ }
+
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/NonceCacheTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/NonceCacheTest.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/NonceCacheTest.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/NonceCacheTest.java Sun Jan 29 15:02:12 2017
@@ -1,3 +1,17 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.rampart;
import junit.framework.TestCase;
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java Sun Jan 29 15:02:12 2017
@@ -18,14 +18,23 @@ package org.apache.rampart;
import java.io.ByteArrayInputStream;
import java.util.Vector;
+import java.util.ArrayList;
+import java.security.cert.X509Certificate;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.builder.SOAPBuilder;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.engine.AxisEngine;
+import org.apache.axis2.namespace.Constants;
import org.apache.neethi.Policy;
import org.apache.rampart.util.Axis2Util;
+import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSSecurityEngineResult;
+import org.apache.ws.security.handler.WSHandlerResult;
+import org.apache.ws.security.handler.WSHandlerConstants;
+
+import javax.xml.namespace.QName;
public class RampartEngineTest extends MessageBuilderTestBase {
@@ -45,9 +54,10 @@ public class RampartEngineTest extends M
RampartEngine engine = new RampartEngine();
engine.process(ctx);
- } catch (RampartException e) {
+ }
+ catch (RampartException e) {
assertEquals("Expected rampart to complain about missing security header",
- "Missing wsse:Security header in request", e.getMessage());
+ "Missing wsse:Security header in request", e.getMessage());
}
}
@@ -64,14 +74,74 @@ public class RampartEngineTest extends M
builder.build(ctx);
// Building the SOAP envelope from the OMElement
+ buildSOAPEnvelope(ctx);
+
+ RampartEngine engine = new RampartEngine();
+ Vector results = engine.process(ctx);
+
+ /*
+ The principle purpose of the test case is to verify that the above processes
+ without throwing an exception. However, perform a minimal amount of validation on the
+ results.
+ */
+ assertNotNull("RampartEngine returned null result", results);
+ //verify cert was stored
+ X509Certificate usedCert = null;
+ for (int i = 0; i < results.size(); i++) {
+ WSSecurityEngineResult wser = (WSSecurityEngineResult) results.get(i);
+ Integer action = (Integer) wser.get(WSSecurityEngineResult.TAG_ACTION);
+ if (action.intValue() == WSConstants.SIGN) {
+ //the result is for the signature, which contains the used certificate
+ usedCert = (X509Certificate) wser.get(WSSecurityEngineResult.TAG_X509_CERTIFICATE);
+ break;
+ }
+ }
+ assertNotNull("Result of processing did not include a certificate", usedCert);
+ }
+
+ public void testValidSOAP12Message() throws Exception {
+
+ MessageContext ctx = getMsgCtx12();
+
+ String policyXml = "test-resources/policy/rampart-asymm-binding-6-3des-r15.xml";
+ Policy policy = loadPolicy(policyXml);
+
+ ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
+
+ MessageBuilder builder = new MessageBuilder();
+ builder.build(ctx);
+
+ // Building the SOAP envelope from the OMElement
+ buildSOAPEnvelope(ctx);
+
+ RampartEngine engine = new RampartEngine();
+ Vector results = engine.process(ctx);
+
+ /*
+ The principle purpose of the test case is to verify that the above processes
+ without throwing an exception. However, perform a minimal amount of validation on the
+ results.
+ */
+ assertNotNull("RampartEngine returned null result", results);
+ //verify cert was stored
+ X509Certificate usedCert = null;
+ for (int i = 0; i < results.size(); i++) {
+ WSSecurityEngineResult wser = (WSSecurityEngineResult) results.get(i);
+ Integer action = (Integer) wser.get(WSSecurityEngineResult.TAG_ACTION);
+ if (action.intValue() == WSConstants.SIGN) {
+ //the result is for the signature, which contains the used certificate
+ usedCert = (X509Certificate) wser.get(WSSecurityEngineResult.TAG_X509_CERTIFICATE);
+ break;
+ }
+ }
+ assertNotNull("Result of processing did not include a certificate", usedCert);
+ }
+
+ private void buildSOAPEnvelope(MessageContext ctx) throws Exception {
SOAPBuilder soapBuilder = new SOAPBuilder();
SOAPEnvelope env = ctx.getEnvelope();
ByteArrayInputStream inStream = new ByteArrayInputStream(env.toString().getBytes());
- env = (SOAPEnvelope) soapBuilder.processDocument(inStream, "text/xml", ctx);
+ env = (SOAPEnvelope) soapBuilder.processDocument(inStream, getContentTypeForEnvelope(env), ctx);
ctx.setEnvelope(env);
-
- RampartEngine engine = new RampartEngine();
- engine.process(ctx);
-
}
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/EncryptedKeyToken.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/EncryptedKeyToken.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/EncryptedKeyToken.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/EncryptedKeyToken.java Sun Jan 29 15:02:12 2017
@@ -16,6 +16,9 @@
package org.apache.rahas;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import java.util.Date;
import org.apache.axiom.om.OMElement;
@@ -35,6 +38,10 @@ public class EncryptedKeyToken extends T
* SHA1 value of the encrypted key
*/
private String sha;
+
+ public EncryptedKeyToken(){
+ super();
+ }
public EncryptedKeyToken (String id,Date created, Date expires) {
super(id,created,expires);
@@ -59,4 +66,20 @@ public class EncryptedKeyToken extends T
return sha;
}
+ public void writeExternal(ObjectOutput out)
+ throws IOException {
+
+ super.writeExternal(out);
+ out.writeObject(this.sha);
+ }
+
+ public void readExternal(ObjectInput in)
+ throws ClassNotFoundException, IOException {
+
+ super.readExternal(in);
+ this.sha = (String)in.readObject();
+
+ }
+
+
}
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java Sun Jan 29 15:02:12 2017
@@ -334,6 +334,8 @@ public class RahasData {
SecurityTokenReference str = new SecurityTokenReference((Element)elem);
if (str.containsReference()) {
tokenId = str.getReference().getURI();
+ } else if(str.containsKeyIdentifier()){
+ tokenId = str.getKeyIdentifierValue();
}
} catch (WSSecurityException e) {
throw new TrustException("errorExtractingTokenId",e);
@@ -358,6 +360,8 @@ public class RahasData {
SecurityTokenReference str = new SecurityTokenReference((Element)elem);
if (str.containsReference()) {
tokenId = str.getReference().getURI();
+ } else if(str.containsKeyIdentifier()){
+ tokenId = str.getKeyIdentifierValue();
}
if(tokenId == null){
if(str.containsKeyIdentifier()){
Modified: axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java?rev=1780802&r1=1780801&r2=1780802&view=diff
==============================================================================
--- axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java (original)
+++ axis/axis2/java/rampart/branches/RAMPART-252/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java Sun Jan 29 15:02:12 2017
@@ -21,6 +21,8 @@ import org.apache.ws.security.WSConstant
import org.apache.ws.security.message.token.Reference;
import javax.xml.namespace.QName;
+
+import java.io.Serializable;
import java.util.*;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
@@ -29,7 +31,7 @@ import java.util.concurrent.locks.Reentr
/**
* In-memory implementation of the token storage
*/
-public class SimpleTokenStore implements TokenStorage {
+public class SimpleTokenStore implements TokenStorage, Serializable {
protected Map tokens = new Hashtable();
@@ -185,8 +187,7 @@ public class SimpleTokenStore implements
} finally {
readLock.unlock();
- }
-
+ }
return token;
}