You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by we...@apache.org on 2006/01/11 15:57:57 UTC
svn commit: r368034 [1/2] - in
/webservices/commons/trunk/policy/src/examples/secParser: ./ processors/
Author: werner
Date: Wed Jan 11 06:57:47 2006
New Revision: 368034
URL: http://svn.apache.org/viewcvs?rev=368034&view=rev
Log:
Another next step for a security policy processor - still imcomplete.
Added:
webservices/commons/trunk/policy/src/examples/secParser/processors/
webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/SignedPartsElementsProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/SignedSupportingTokensProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/SupportingTokensProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/SymmetricBindingProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/UsernameTokenProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/processors/X509TokenProcessor.java
Removed:
webservices/commons/trunk/policy/src/examples/secParser/EncryptedPartsElementsProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/SignedPartsElementsProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/UsernameTokenProcessor.java
webservices/commons/trunk/policy/src/examples/secParser/X509TokenProcessor.java
Modified:
webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java
webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java
webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java
webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java
Modified: webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java Wed Jan 11 06:57:47 2006
@@ -15,148 +15,146 @@
*/
package examples.secParser;
-import java.util.ArrayList;
-
public class SecurityPolicy {
- SecurityPolicyToken signedParts = new SecurityPolicyToken("SignedParts",
+ public static final SecurityPolicyToken signedParts = new SecurityPolicyToken("SignedParts",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken header = new SecurityPolicyToken("Header",
+ public static final SecurityPolicyToken header = new SecurityPolicyToken("Header",
SecurityPolicyToken.SIMPLE_TOKEN, new String[] { "Name",
"Namespace" });
- SecurityPolicyToken body = new SecurityPolicyToken("Body",
+ public static final SecurityPolicyToken body = new SecurityPolicyToken("Body",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken signedElements = new SecurityPolicyToken(
+ public static final SecurityPolicyToken signedElements = new SecurityPolicyToken(
"SignedElements", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "XPathVersion" });
- SecurityPolicyToken xPath = new SecurityPolicyToken(
+ public static final SecurityPolicyToken xPath = new SecurityPolicyToken(
"XPath",
SecurityPolicyToken.SIMPLE_TOKEN | SecurityPolicyToken.WITH_CONTENT,
null);
- SecurityPolicyToken encryptedParts = new SecurityPolicyToken(
+ public static final SecurityPolicyToken encryptedParts = new SecurityPolicyToken(
"EncryptedParts", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken encryptedElements = new SecurityPolicyToken(
+ public static final SecurityPolicyToken encryptedElements = new SecurityPolicyToken(
"EncryptedElements", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "XPathVersion" });
- SecurityPolicyToken requiredElements = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requiredElements = new SecurityPolicyToken(
"RequiredElements", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "XPathVersion" });
- SecurityPolicyToken usernameToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken usernameToken = new SecurityPolicyToken(
"UsernameToken", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "IncludeToken" });
- SecurityPolicyToken wssUsernameToken10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssUsernameToken10 = new SecurityPolicyToken(
"WssUsernameToken10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssUsernameToken11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssUsernameToken11 = new SecurityPolicyToken(
"WssUsernameToken11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken issuedToken = new SecurityPolicyToken("IssuedToken",
+ public static final SecurityPolicyToken issuedToken = new SecurityPolicyToken("IssuedToken",
SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
- SecurityPolicyToken issuer = new SecurityPolicyToken(
+ public static final SecurityPolicyToken issuer = new SecurityPolicyToken(
"Issuer",
SecurityPolicyToken.SIMPLE_TOKEN | SecurityPolicyToken.WITH_CONTENT,
null);
- SecurityPolicyToken requestSecurityTokenTemplate = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requestSecurityTokenTemplate = new SecurityPolicyToken(
"RequestSecurityTokenTemplate", SecurityPolicyToken.COMPLEX_TOKEN
| SecurityPolicyToken.WITH_CONTENT,
new String[] { "TrustVersion" });
- SecurityPolicyToken requireDerivedKeys = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireDerivedKeys = new SecurityPolicyToken(
"RequireDerivedKeys", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken requireExternalReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireExternalReference = new SecurityPolicyToken(
"RequireExternalReference", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken requireInternalReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireInternalReference = new SecurityPolicyToken(
"RequireInternalReference", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken x509Token = new SecurityPolicyToken("X509Token",
+ public static final SecurityPolicyToken x509Token = new SecurityPolicyToken("X509Token",
SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
- SecurityPolicyToken requireKeyIdentifierReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireKeyIdentifierReference = new SecurityPolicyToken(
"RequireKeyIdentifierReference", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken requireIssuerSerialReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireIssuerSerialReference = new SecurityPolicyToken(
"RequireIssuerSerialReference", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken requireEmbeddedTokenReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireEmbeddedTokenReference = new SecurityPolicyToken(
"RequiredEmbeddedTokenReference", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken requireThumbprintReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireThumbprintReference = new SecurityPolicyToken(
"RequireThumbprintReference", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken wssX509V1Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509V1Token10 = new SecurityPolicyToken(
"WssX509V1Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509V3Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509V3Token10 = new SecurityPolicyToken(
"WssX509V3Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509Pkcs7Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509Pkcs7Token10 = new SecurityPolicyToken(
"WssX509Pkcs7Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509PkiPathV1Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509PkiPathV1Token10 = new SecurityPolicyToken(
"WssX509PkiPathV1Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509V1Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509V1Token11 = new SecurityPolicyToken(
"WssX509V1Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509V3Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509V3Token11 = new SecurityPolicyToken(
"WssX509V3Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509Pkcs7Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509Pkcs7Token11 = new SecurityPolicyToken(
"WssX509Pkcs7Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssX509PkiPathV1Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssX509PkiPathV1Token11 = new SecurityPolicyToken(
"WssX509PkiPathV1Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken kerberosToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken kerberosToken = new SecurityPolicyToken(
"KerberosToken", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "IncludeToken" });
// requireDerivedKeys already defined for issuedToken
// requireKeyIdentifierReference already defined for x509Token
- SecurityPolicyToken wssKerberosV5ApReqToken11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssKerberosV5ApReqToken11 = new SecurityPolicyToken(
"WssKerberosV5ApReqToken11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssGssKerberosV5ApReqToken11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssGssKerberosV5ApReqToken11 = new SecurityPolicyToken(
"WssGssKerberosV5ApReqToken11", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken spnegoContextToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken spnegoContextToken = new SecurityPolicyToken(
"SpnegoContextToken", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "IncludeToken" });
// issuer already defined for issuedToken
// requireDerivedKeys already defined for issuedToken
- SecurityPolicyToken securityContextToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken securityContextToken = new SecurityPolicyToken(
"SecurityContextToken", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "IncludeToken" });
// requireDerivedKeys already defined for issuedToken
- SecurityPolicyToken requireExternalUriReference = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireExternalUriReference = new SecurityPolicyToken(
"RequireExternalUriReference", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken sc10SecurityContextToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken sc10SecurityContextToken = new SecurityPolicyToken(
"SC10SecurityContextToken", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken secureConversationToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken secureConversationToken = new SecurityPolicyToken(
"SecureConversationToken", SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "IncludeToken" });
@@ -164,251 +162,251 @@
// requireDerivedKeys already defined for issuedToken
// requireExternalUriReference is already defined for SecurityContextToken
// sc10SecurityContextToken is already defined for SecurityContextToken
- SecurityPolicyToken bootstrapPolicy = new SecurityPolicyToken(
+ public static final SecurityPolicyToken bootstrapPolicy = new SecurityPolicyToken(
"BootstrapPolicy", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken samlToken = new SecurityPolicyToken("SamlToken",
+ public static final SecurityPolicyToken samlToken = new SecurityPolicyToken("SamlToken",
SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
// requireDerivedKeys already defined for issuedToken
// requireKeyIdentifierReference already defined for x509Token
- SecurityPolicyToken wssSamlV10Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssSamlV10Token10 = new SecurityPolicyToken(
"WssSamlV10Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssSamlV11Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssSamlV11Token10 = new SecurityPolicyToken(
"WssSamlV11Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssSamlV10Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssSamlV10Token11 = new SecurityPolicyToken(
"WssSamlV10Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssSamlV11Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssSamlV11Token11 = new SecurityPolicyToken(
"WssSamlV11Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssSamlV20Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssSamlV20Token11 = new SecurityPolicyToken(
"WssSamlV20Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken relToken = new SecurityPolicyToken("RelToken",
+ public static final SecurityPolicyToken relToken = new SecurityPolicyToken("RelToken",
SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
// requireDerivedKeys already defined for issuedToken
// requireKeyIdentifierReference already defined for x509Token
- SecurityPolicyToken wssRelV10Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssRelV10Token10 = new SecurityPolicyToken(
"WssRelV10Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssRelV20Token10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssRelV20Token10 = new SecurityPolicyToken(
"WssRelV20Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssRelV10Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssRelV10Token11 = new SecurityPolicyToken(
"WssRelV10Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken wssRelV20Token11 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken wssRelV20Token11 = new SecurityPolicyToken(
"WssRelV20Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken httpsToken = new SecurityPolicyToken("RelToken",
+ public static final SecurityPolicyToken httpsToken = new SecurityPolicyToken("RelToken",
SecurityPolicyToken.COMPLEX_TOKEN,
new String[] { "RequireClientCertificate" });
- SecurityPolicyToken algorithmSuite = new SecurityPolicyToken("RelToken",
+ public static final SecurityPolicyToken algorithmSuite = new SecurityPolicyToken("RelToken",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken basic256 = new SecurityPolicyToken("Basic256",
+ public static final SecurityPolicyToken basic256 = new SecurityPolicyToken("Basic256",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic192 = new SecurityPolicyToken("Basic192",
+ public static final SecurityPolicyToken basic192 = new SecurityPolicyToken("Basic192",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic128 = new SecurityPolicyToken("Basic128",
+ public static final SecurityPolicyToken basic128 = new SecurityPolicyToken("Basic128",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken tripleDes = new SecurityPolicyToken("TripleDes",
+ public static final SecurityPolicyToken tripleDes = new SecurityPolicyToken("TripleDes",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic256Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic256Rsa15 = new SecurityPolicyToken(
"Basic256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic192Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic192Rsa15 = new SecurityPolicyToken(
"Basic192Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic128Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic128Rsa15 = new SecurityPolicyToken(
"Basic128Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken tripleDesRsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken tripleDesRsa15 = new SecurityPolicyToken(
"TripleDesRsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic256Sha256 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic256Sha256 = new SecurityPolicyToken(
"Basic256Sha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic192Sha256 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic192Sha256 = new SecurityPolicyToken(
"Basic192Sha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic128Sha256 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic128Sha256 = new SecurityPolicyToken(
"Basic128Sha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken tripleDesSha256 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken tripleDesSha256 = new SecurityPolicyToken(
"TripleDesSha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic256Sha256Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic256Sha256Rsa15 = new SecurityPolicyToken(
"Basic256Sha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic192Sha256Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic192Sha256Rsa15 = new SecurityPolicyToken(
"Basic192Sha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken basic128Sha256Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken basic128Sha256Rsa15 = new SecurityPolicyToken(
"Basic128Sha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken tripleDesSha256Rsa15 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken tripleDesSha256Rsa15 = new SecurityPolicyToken(
"TripleDesSha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken inclusiveC14N = new SecurityPolicyToken(
+ public static final SecurityPolicyToken inclusiveC14N = new SecurityPolicyToken(
"InclusiveC14N", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken soapNormalization10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken soapNormalization10 = new SecurityPolicyToken(
"SoapNormalization10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken strTransform10 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken strTransform10 = new SecurityPolicyToken(
"StrTransform10", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken xPath10 = new SecurityPolicyToken("XPath10",
+ public static final SecurityPolicyToken xPath10 = new SecurityPolicyToken("XPath10",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken xPathFilter20 = new SecurityPolicyToken(
+ public static final SecurityPolicyToken xPathFilter20 = new SecurityPolicyToken(
"XPathFilter20", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken layout = new SecurityPolicyToken("Layout",
+ public static final SecurityPolicyToken layout = new SecurityPolicyToken("Layout",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken strict = new SecurityPolicyToken("Strict",
+ public static final SecurityPolicyToken strict = new SecurityPolicyToken("Strict",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken lax = new SecurityPolicyToken("Lax",
+ public static final SecurityPolicyToken lax = new SecurityPolicyToken("Lax",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken laxTsFirst = new SecurityPolicyToken("LaxTsFirst",
+ public static final SecurityPolicyToken laxTsFirst = new SecurityPolicyToken("LaxTsFirst",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken laxTsLast = new SecurityPolicyToken("LaxTsLast",
+ public static final SecurityPolicyToken laxTsLast = new SecurityPolicyToken("LaxTsLast",
SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken transportBinding = new SecurityPolicyToken(
+ public static final SecurityPolicyToken transportBinding = new SecurityPolicyToken(
"TransportBinding", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken transportToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken transportToken = new SecurityPolicyToken(
"TransportToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
// algorithmSuite and layout see above
- SecurityPolicyToken includeTimestamp = new SecurityPolicyToken(
+ public static final SecurityPolicyToken includeTimestamp = new SecurityPolicyToken(
"IncludeTimestamp", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken symmetricBinding = new SecurityPolicyToken(
+ public static final SecurityPolicyToken symmetricBinding = new SecurityPolicyToken(
"SymmetricBinding", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken encryptionToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken encryptionToken = new SecurityPolicyToken(
"EncryptionToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken signatureToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken signatureToken = new SecurityPolicyToken(
"SignatureToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken protectionToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken protectionToken = new SecurityPolicyToken(
"ProtectionToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
// algorithmSuite and layout see above
// includeTimestamp already defined for transport binding
- SecurityPolicyToken encryptBeforeSigning = new SecurityPolicyToken(
+ public static final SecurityPolicyToken encryptBeforeSigning = new SecurityPolicyToken(
"EncryptBeforeSigning", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken encryptSignature = new SecurityPolicyToken(
+ public static final SecurityPolicyToken encryptSignature = new SecurityPolicyToken(
"EncryptSignature", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken protectTokens = new SecurityPolicyToken(
+ public static final SecurityPolicyToken protectTokens = new SecurityPolicyToken(
"ProtectTokens", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken onlySignEntireHeadersAndBody = new SecurityPolicyToken(
+ public static final SecurityPolicyToken onlySignEntireHeadersAndBody = new SecurityPolicyToken(
"OnlySignEntireHeadersAndBody", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken asymmetricBinding = new SecurityPolicyToken(
+ public static final SecurityPolicyToken asymmetricBinding = new SecurityPolicyToken(
"AsymmetricBinding", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken initiatorToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken initiatorToken = new SecurityPolicyToken(
"InitiatorToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken receipientToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken receipientToken = new SecurityPolicyToken(
"ReceipientToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
// all other tokens for asymmetric already defined above
- SecurityPolicyToken supportingTokens = new SecurityPolicyToken(
+ public static final SecurityPolicyToken supportingTokens = new SecurityPolicyToken(
"SupportingTokens", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken signedSupportingTokens = new SecurityPolicyToken(
+ public static final SecurityPolicyToken signedSupportingTokens = new SecurityPolicyToken(
"SignedSupportingTokens", SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken endorsingSupportingTokens = new SecurityPolicyToken(
+ public static final SecurityPolicyToken endorsingSupportingTokens = new SecurityPolicyToken(
"EndorsingSupportingTokens", SecurityPolicyToken.COMPLEX_TOKEN,
null);
- SecurityPolicyToken signedEndorsingSupportingTokens = new SecurityPolicyToken(
+ public static final SecurityPolicyToken signedEndorsingSupportingTokens = new SecurityPolicyToken(
"SignedEndorsingSupportingTokens",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken wss10 = new SecurityPolicyToken("wss10",
+ public static final SecurityPolicyToken wss10 = new SecurityPolicyToken("wss10",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken mustSupportRefKeyIdentifier = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportRefKeyIdentifier = new SecurityPolicyToken(
"MustSupportRefKeyIdentifier", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken mustSupportRefIssuerSerial = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportRefIssuerSerial = new SecurityPolicyToken(
"MustSupportRefIssuerSerial", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken mustSupportRefExternalUri = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportRefExternalUri = new SecurityPolicyToken(
"MustSupportRefExternalUri", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken mustSupportRefEmbeddedToken = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportRefEmbeddedToken = new SecurityPolicyToken(
"MustSupportRefEmbeddedToken", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken wss11 = new SecurityPolicyToken("wss11",
+ public static final SecurityPolicyToken wss11 = new SecurityPolicyToken("wss11",
SecurityPolicyToken.COMPLEX_TOKEN, null);
// all from wss10
- SecurityPolicyToken mustSupportRefKeyThumbprint = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportRefKeyThumbprint = new SecurityPolicyToken(
"mustSupportRefKeyThumbprint", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken mustSupportRefKeyEncryptedKey = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportRefKeyEncryptedKey = new SecurityPolicyToken(
"mustSupportRefKeyEncryptedKey", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken requireSignatureConfirmation = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireSignatureConfirmation = new SecurityPolicyToken(
"requireSignatureConfirmation", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken trust10 = new SecurityPolicyToken("trust10",
+ public static final SecurityPolicyToken trust10 = new SecurityPolicyToken("trust10",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicyToken mustSupportClientChallenge = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportClientChallenge = new SecurityPolicyToken(
"mustSupportClientChallenge", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken mustSupportServerChallenge = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportServerChallenge = new SecurityPolicyToken(
"mustSupportServerChallenge", SecurityPolicyToken.SIMPLE_TOKEN,
null);
- SecurityPolicyToken requireClientEntropy = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireClientEntropy = new SecurityPolicyToken(
"requireClientEntropy", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken requireServerEntropy = new SecurityPolicyToken(
+ public static final SecurityPolicyToken requireServerEntropy = new SecurityPolicyToken(
"requireServerEntropy", SecurityPolicyToken.SIMPLE_TOKEN, null);
- SecurityPolicyToken mustSupportIssuedTokens = new SecurityPolicyToken(
+ public static final SecurityPolicyToken mustSupportIssuedTokens = new SecurityPolicyToken(
"mustSupportIssuedTokens", SecurityPolicyToken.SIMPLE_TOKEN, null);
- String includeNever = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never";
+ public static final String includeNever = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never";
- String includeOnce = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once";
+ public static final String includeOnce = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once";
- String includeAlways = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";
+ public static final String includeAlways = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";
}
Modified: webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java Wed Jan 11 06:57:47 2006
@@ -200,6 +200,23 @@
}
/**
+ * Remove a named child token,
+ *
+ * @param sptName
+ * The token name to remove
+ */
+ public void removeChildToken(String sptName) {
+ Iterator it = childTokens.iterator();
+ while (it.hasNext()) {
+ SecurityPolicyToken tmpSpt = (SecurityPolicyToken) it.next();
+ if (sptName.equals(tmpSpt.getTokenName())) {
+ childTokens.remove(tmpSpt);
+ return;
+ }
+ }
+ }
+
+ /**
* Copy this SecurityPolicyToken and return the copy.
*
* Produce a copy of this SPT. The imutable fields (token name, token type,
Modified: webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java Wed Jan 11 06:57:47 2006
@@ -51,10 +51,10 @@
/**
* Sets to action to perform in the processing method.
*
- * @param action The actio to set. Either NONE, START, COMMIT, or ABORT
+ * @param act The actio to set. Either NONE, START, COMMIT, or ABORT
*/
- public void setAction(int action) {
- this.action = action;
+ public void setAction(int act) {
+ this.action = act;
}
/**
* Get the current assertion that is being processed.
@@ -72,10 +72,10 @@
*
* This is always a primitive assertion.
*
- * @param assertion The assertion to set
+ * @param asrt The assertion to set
*/
- public void setAssertion(PrimitiveAssertion assertion) {
- this.assertion = assertion;
+ public void setAssertion(PrimitiveAssertion asrt) {
+ this.assertion = asrt;
}
/**
Modified: webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java Wed Jan 11 06:57:47 2006
@@ -16,6 +16,9 @@
package examples.secParser;
+import examples.secParser.processors.SignedPartsElementsProcessor;
+import examples.secParser.processors.EncryptedPartsElementsProcessor;
+
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -46,8 +49,6 @@
SecurityPolicyToken topLevel = new SecurityPolicyToken("_TopLevel_",
SecurityPolicyToken.COMPLEX_TOKEN, null);
- SecurityPolicy secPolicy = null;
-
SecurityProcessorContext secProcessorContext = null;
public static void main(String[] args) throws Exception {
@@ -66,36 +67,29 @@
boolean setup() throws NoSuchMethodException {
prdr = PolicyFactory.getPolicyReader(PolicyFactory.OM_POLICY_READER);
- secPolicy = new SecurityPolicy();
-
/*
* Initialize the top level security policy token.
*/
SecurityPolicyToken spt = null;
SignedPartsElementsProcessor spep = new SignedPartsElementsProcessor();
- spt = secPolicy.signedParts.copy();
+ spt = SecurityPolicy.signedParts.copy();
spt.setProcessTokenMethod(spep);
topLevel.setChildToken(spt);
- spt = secPolicy.signedElements.copy();
+ spt = SecurityPolicy.signedElements.copy();
spt.setProcessTokenMethod(spep);
topLevel.setChildToken(spt);
EncryptedPartsElementsProcessor epep = new EncryptedPartsElementsProcessor();
- spt = secPolicy.encryptedParts.copy();
+ spt = SecurityPolicy.encryptedParts.copy();
spt.setProcessTokenMethod(epep);
topLevel.setChildToken(spt);
- spt = secPolicy.encryptedElements.copy();
+ spt = SecurityPolicy.encryptedElements.copy();
spt.setProcessTokenMethod(epep);
topLevel.setChildToken(spt);
-// X509TokenProcessor x509t = new X509TokenProcessor();
-// spt = secPolicy.x509Token.copy();
-// spt.setProcessTokenMethod(x509t);
-// topLevel.setChildToken(spt);
-//
// UsernameTokenProcessor unt = new UsernameTokenProcessor();
// spt = secPolicy.usernameToken.copy();
// spt.setProcessTokenMethod(unt);
@@ -282,8 +276,8 @@
}
public void abortPolicyTransaction(PrimitiveAssertion prim) {
- System.out.println("Aborting Policy transaction "
- + prim.getName().getLocalPart());
+// System.out.println("Aborting Policy transaction "
+// + prim.getName().getLocalPart());
secProcessorContext.setAction(SecurityProcessorContext.ABORT);
SecurityPolicyToken currentToken = secProcessorContext
.readCurrentSecurityToken();
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,320 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+import org.apache.ws.policy.PrimitiveAssertion;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class AlgorithmSuiteProcessor {
+ private boolean initializedAlgorithmSuite = false;
+
+ /**
+ * Intialize the AlgorithmSuite complex token.
+ *
+ * This method creates a copy of the AlgorithmSuite token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for AlgorithmSuite. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of AlgorithmSuite.
+ *
+ * <p/> The handler object that must contain the methods
+ * <code>doAlgorithmSuite</code>.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+
+ private void initializeAlgorithmSuite(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+
+ SecurityPolicyToken tmpSpt;
+
+ tmpSpt = SecurityPolicy.basic256.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic192.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic128.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.tripleDes.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic256Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic192Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic128Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.tripleDesRsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic256Sha256.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic192Sha256.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic128Sha256.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.tripleDesSha256.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic256Sha256Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic192Sha256Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.basic128Sha256Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.tripleDesSha256Rsa15.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.inclusiveC14N.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.soapNormalization10.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.strTransform10.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.xPath10.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.xPathFilter20.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+ }
+
+ public Object doAlgorithmSuite(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedAlgorithmSuite) {
+ try {
+ initializeAlgorithmSuite(spt);
+ initializedAlgorithmSuite = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ System.out.println(spt.getTokenName());
+ PrimitiveAssertion pa = spc.getAssertion();
+ String text = pa.getStrValue();
+ if (text != null) {
+ text = text.trim();
+ System.out.println("Value: '" + text.toString() + "'");
+ }
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doBasic256(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic192(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic128(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doTripleDes(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic256Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic192Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic128Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doTripleDesRsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic256Sha256(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic192Sha256(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic128Sha256(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doTripleDesSha256(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic256Sha256Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic192Sha256Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doBasic128Sha256Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doTripleDesSha256Rsa15(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doInclusiveC14N(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doSoapNormalization10(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doStrTransform10(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doXPath10(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doXPathFilter20(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,163 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class AsymmetricBindingProcessor {
+ private boolean initializedSymmetricBinding = false;
+
+ /**
+ * Intialize the SymmetricBinding complex token.
+ *
+ * This method creates a copy of the SymmetricBinding token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for SymmetricBinding. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of SymmetricBinding.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeSymmetricBinding(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+
+ InitiatorReceipientTokenProcessor irt = new InitiatorReceipientTokenProcessor();
+ SecurityPolicyToken tmpSpt = SecurityPolicy.initiatorToken.copy();
+ tmpSpt.setProcessTokenMethod(irt);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.receipientToken.copy();
+ tmpSpt.setProcessTokenMethod(irt);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.algorithmSuite.copy();
+ tmpSpt.setProcessTokenMethod(new AlgorithmSuiteProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.layout.copy();
+ tmpSpt.setProcessTokenMethod(new LayoutProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.supportingTokens.copy();
+ tmpSpt.setProcessTokenMethod(new SupportingTokensProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.signedSupportingTokens.copy();
+ tmpSpt.setProcessTokenMethod(new SignedSupportingTokensProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.endorsingSupportingTokens.copy();
+ tmpSpt.setProcessTokenMethod(new EndorsingSupportingTokensProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.signedEndorsingSupportingTokens.copy();
+ tmpSpt.setProcessTokenMethod(new SignedEndorsingSupportingTokensProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.includeTimestamp.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.encryptBeforeSigning.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.encryptSignature.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.protectTokens.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.onlySignEntireHeadersAndBody.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ }
+
+ public Object doSymmetricBinding(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedSymmetricBinding) {
+ try {
+ initializeSymmetricBinding(spt);
+ initializedSymmetricBinding = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doIncludeTimestamp(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doEncryptBeforeSigning(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doEncryptSignature(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doProtectTokens(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doOnlySignEntireHeadersAndBody(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,168 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+import org.apache.ws.policy.PrimitiveAssertion;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ */
+
+public class EncryptedPartsElementsProcessor {
+
+ private boolean initializedEncryptedParts = false;
+
+ private boolean initializedEncryptedElements = false;
+
+ /**
+ * Intialize the EncryptedParts complex token.
+ *
+ * This method creates copies of the child tokens that are allowed for
+ * SignedParts. These tokens are Body and Header. These copies are
+ * initialized with handler object and then set as child tokens of
+ * EncryptedParts. <p/> The handler object must define the methods
+ * <code>doSignedParts, doBody, doHeader</code>.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeEncryptedParts(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.body.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.header.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ }
+
+ /**
+ * Intialize the EncryptedElements complex token.
+ *
+ * This method creates a copy of the child token that is allowed for
+ * EncryptedElements. The token is XPath. This copy is initialized with a
+ * handler object and then set as child token of EncryptedElements. <p/> The
+ * handler object must define the method <code>doXPath</code>.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeEncryptedElements(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.xPath.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+ }
+
+ public Object doEncryptedParts(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedEncryptedParts) {
+ try {
+ initializeEncryptedParts(spt);
+ initializedEncryptedParts = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ System.out.println(spt.getTokenName());
+ PrimitiveAssertion pa = spc.getAssertion();
+ String text = pa.getStrValue();
+ if (text != null) {
+ text = text.trim();
+ System.out.println("Value: '" + text.toString() + "'");
+ }
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doEncryptedElements(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedEncryptedElements) {
+ try {
+ initializeEncryptedElements(spt);
+ initializedEncryptedElements = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ System.out.println(spt.getTokenName());
+ PrimitiveAssertion pa = spc.getAssertion();
+ String text = pa.getStrValue();
+ if (text != null) {
+ text = text.trim();
+ System.out.println("Value: '" + text.toString() + "'");
+ }
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doBody(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doHeader(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doXPath(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,105 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class EndorsingSupportingTokensProcessor {
+ private boolean initializedEndorsingSupportingTokens = false;
+
+ /**
+ * Intialize the EndorsingSupportingTokens complex token.
+ *
+ * This method creates a copy of the EndorsingSupportingTokens token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for EndorsingSupportingTokens. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of EndorsingSupportingTokens.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeEndorsingSupportingTokens(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.usernameToken.copy();
+ tmpSpt.setProcessTokenMethod(new UsernameTokenProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.algorithmSuite.copy();
+ tmpSpt.setProcessTokenMethod(new AlgorithmSuiteProcessor());
+ spt.setChildToken(tmpSpt);
+
+ SignedPartsElementsProcessor spep = new SignedPartsElementsProcessor();
+ tmpSpt = SecurityPolicy.signedParts.copy();
+ tmpSpt.setProcessTokenMethod(spep);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.signedElements.copy();
+ tmpSpt.setProcessTokenMethod(spep);
+ spt.setChildToken(tmpSpt);
+
+ EncryptedPartsElementsProcessor epep = new EncryptedPartsElementsProcessor();
+ tmpSpt = SecurityPolicy.encryptedParts.copy();
+ tmpSpt.setProcessTokenMethod(epep);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.encryptedElements.copy();
+ tmpSpt.setProcessTokenMethod(epep);
+ spt.setChildToken(tmpSpt);
+
+ }
+
+ public Object doEndorsingSupportingTokens(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedEndorsingSupportingTokens) {
+ try {
+ initializeEndorsingSupportingTokens(spt);
+ initializedEndorsingSupportingTokens = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,129 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class InitiatorReceipientTokenProcessor {
+ private boolean initializedInitiatorToken = false;
+
+ private boolean initializedReceipientToken = false;
+
+
+ /**
+ * Intialize the InitiatorToken complex token.
+ *
+ * This method creates a copy of the InitiatorToken token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for InitiatorToken. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of InitiatorToken.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeInitiatorToken(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+ }
+
+ /**
+ * Intialize the ReceipientToken complex token.
+ *
+ * This method creates a copy of the ReceipientToken token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for ReceipientToken. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of ReceipientToken.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeReceipientToken(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+ }
+
+
+ public Object doInitiatorToken(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedInitiatorToken) {
+ try {
+ initializeInitiatorToken(spt);
+ initializedInitiatorToken = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doReceipientToken(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedReceipientToken) {
+ try {
+ initializeReceipientToken(spt);
+ initializedReceipientToken = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,129 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+import org.apache.ws.policy.PrimitiveAssertion;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class LayoutProcessor {
+ private boolean initializedLayout = false;
+
+ /**
+ * Intialize the Layout complex token.
+ *
+ * This method creates a copy of the Layout token and sets the handler
+ * object to the copy. Then it creates copies of the child tokens that are
+ * allowed for Layout. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of Layout.
+ *
+ * <p/> The handler object that must contain the methods
+ * <code>doLayout</code>.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeLayout(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+
+ SecurityPolicyToken tmpSpt = SecurityPolicy.strict.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.lax.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.laxTsFirst.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.laxTsLast.copy();
+ tmpSpt.setProcessTokenMethod(this);
+ spt.setChildToken(tmpSpt);
+ }
+
+ public Object doLayout(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedLayout) {
+ try {
+ initializeLayout(spt);
+ initializedLayout = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ System.out.println(spt.getTokenName());
+ PrimitiveAssertion pa = spc.getAssertion();
+ String text = pa.getStrValue();
+ if (text != null) {
+ text = text.trim();
+ System.out.println("Value: '" + text.toString() + "'");
+ }
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doStrict(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doLax(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doLaxTsFirst(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+
+ public Object doLaxTsLast(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ return new Boolean(true);
+ }
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,177 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class SignEncProtectTokenProcessor {
+ private boolean initializedSignatureToken = false;
+
+ private boolean initializedEncryptionToken = false;
+
+ private boolean initializedProtectionToken = false;
+
+ /**
+ * Intialize the SignatureToken complex token.
+ *
+ * This method creates a copy of the SignatureToken token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for SignatureToken. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of SignatureToken.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeSignatureToken(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+ }
+
+ /**
+ * Intialize the EncryptionToken complex token.
+ *
+ * This method creates a copy of the EncryptionToken token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for EncryptionToken. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of SignatureToken.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeEncryptionToken(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+ }
+
+ /**
+ * Intialize the ProtectionToken complex token.
+ *
+ * This method creates a copy of the ProtectionToken token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for ProtectionToken. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of ProtectionToken.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeProtectionToken(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+ }
+
+ public Object doSignatureToken(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedSignatureToken) {
+ try {
+ initializeSignatureToken(spt);
+ initializedSignatureToken = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doEncryptionToken(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedEncryptionToken) {
+ try {
+ initializeEncryptionToken(spt);
+ initializedEncryptionToken = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+ public Object doProtectionToken(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedProtectionToken) {
+ try {
+ initializeProtectionToken(spt);
+ initializedProtectionToken = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+}
Added: webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,105 @@
+/*
+ * 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 examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ *
+ */
+public class SignedEndorsingSupportingTokensProcessor {
+ private boolean initializedSignedEndorsingSupportingTokens = false;
+
+ /**
+ * Intialize the SignedEndorsingSupportingTokens complex token.
+ *
+ * This method creates a copy of the SignedEndorsingSupportingTokens token and sets the
+ * handler object to the copy. Then it creates copies of the child tokens
+ * that are allowed for SignedEndorsingSupportingTokens. These tokens are:
+ *
+ * These copies are also initialized with the handler object and then set as
+ * child tokens of SignedEndorsingSupportingTokens.
+ *
+ * @param spt
+ * The token that will hold the child tokens.
+ * @throws NoSuchMethodException
+ */
+ private void initializeSignedEndorsingSupportingTokens(SecurityPolicyToken spt)
+ throws NoSuchMethodException {
+ SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+ tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.usernameToken.copy();
+ tmpSpt.setProcessTokenMethod(new UsernameTokenProcessor());
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.algorithmSuite.copy();
+ tmpSpt.setProcessTokenMethod(new AlgorithmSuiteProcessor());
+ spt.setChildToken(tmpSpt);
+
+ SignedPartsElementsProcessor spep = new SignedPartsElementsProcessor();
+ tmpSpt = SecurityPolicy.signedParts.copy();
+ tmpSpt.setProcessTokenMethod(spep);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.signedElements.copy();
+ tmpSpt.setProcessTokenMethod(spep);
+ spt.setChildToken(tmpSpt);
+
+ EncryptedPartsElementsProcessor epep = new EncryptedPartsElementsProcessor();
+ tmpSpt = SecurityPolicy.encryptedParts.copy();
+ tmpSpt.setProcessTokenMethod(epep);
+ spt.setChildToken(tmpSpt);
+
+ tmpSpt = SecurityPolicy.encryptedElements.copy();
+ tmpSpt.setProcessTokenMethod(epep);
+ spt.setChildToken(tmpSpt);
+
+ }
+
+ public Object doSignedEndorsingSupportingTokens(SecurityProcessorContext spc) {
+ System.out.println("Processing "
+ + spc.readCurrentSecurityToken().getTokenName() + ": "
+ + SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+ SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+ switch (spc.getAction()) {
+
+ case SecurityProcessorContext.START:
+ if (!initializedSignedEndorsingSupportingTokens) {
+ try {
+ initializeSignedEndorsingSupportingTokens(spt);
+ initializedSignedEndorsingSupportingTokens = true;
+ } catch (NoSuchMethodException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return new Boolean(false);
+ }
+ }
+ break;
+ case SecurityProcessorContext.COMMIT:
+ break;
+ case SecurityProcessorContext.ABORT:
+ break;
+ }
+ return new Boolean(true);
+ }
+
+}