Coverage Report - org.mule.extras.wssecurity.headers.WsSecurityHeadersSetter
 
Classes in this File Line Coverage Branch Coverage Complexity
WsSecurityHeadersSetter
0%
0/70
0%
0/34
35
 
 1  
 /*
 2  
  * $Id: WsSecurityHeadersSetter.java 7976 2007-08-21 14:26:13Z dirk.olmes $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
 5  
  *
 6  
  * The software in this package is published under the terms of the CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 9  
  */
 10  
 
 11  
 package org.mule.extras.wssecurity.headers;
 12  
 
 13  
 import org.mule.umo.UMOMessage;
 14  
 
 15  
 import java.util.Properties;
 16  
 
 17  
 import org.apache.ws.security.WSConstants;
 18  
 import org.apache.ws.security.handler.WSHandlerConstants;
 19  
 
 20  0
 public class WsSecurityHeadersSetter
 21  
 {
 22  
     /**
 23  
      * This method searches for ws-security properties in the message received and
 24  
      * returns these properties
 25  
      * 
 26  
      * @param message
 27  
      * @return
 28  
      */
 29  
     public Properties addSecurityHeaders(UMOMessage message)
 30  
     {
 31  0
         Properties props = new Properties();
 32  0
         props.setProperty(WSHandlerConstants.ACTION, (String)message
 33  
             .getProperty(WSHandlerConstants.ACTION));
 34  
 
 35  
         String passwordType;
 36  0
         if (message.getProperty(WSConstants.PW_DIGEST) != null)
 37  
         {
 38  0
             passwordType = WSConstants.PW_DIGEST;
 39  
         }
 40  
         else
 41  
         {
 42  0
             passwordType = WSConstants.PW_TEXT;
 43  
         }
 44  0
         props.setProperty(WSHandlerConstants.PASSWORD_TYPE, passwordType);
 45  
 
 46  0
         if (message.getProperty(WSHandlerConstants.USER) != null)
 47  
         {
 48  0
             props.setProperty(WSHandlerConstants.USER, (String)message
 49  
                 .getProperty(WSHandlerConstants.USER));
 50  
         }
 51  
 
 52  0
         if (message.getProperty(WSHandlerConstants.PW_CALLBACK_CLASS) != null)
 53  
         {
 54  0
             props.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, (String)message
 55  
                 .getProperty(WSHandlerConstants.PW_CALLBACK_CLASS));
 56  
         }
 57  
 
 58  0
         if (message.getProperty(WSHandlerConstants.PASSWORD_TYPE) != null)
 59  
         {
 60  0
             props.setProperty(WSHandlerConstants.PASSWORD_TYPE, (String)message
 61  
                 .getProperty(WSHandlerConstants.PASSWORD_TYPE));
 62  
         }
 63  
 
 64  0
         if (message.getProperty(WSHandlerConstants.PW_CALLBACK_REF) != null)
 65  
         {
 66  0
             props.setProperty(WSHandlerConstants.PW_CALLBACK_REF, (String)message
 67  
                 .getProperty(WSHandlerConstants.PW_CALLBACK_REF));
 68  
         }
 69  
 
 70  0
         if (message.getProperty(WSHandlerConstants.ACTOR) != null)
 71  
         {
 72  0
             props.setProperty(WSHandlerConstants.ACTOR, (String)message
 73  
                 .getProperty(WSHandlerConstants.ACTOR));
 74  
         }
 75  0
         if (message.getProperty(WSHandlerConstants.MUST_UNDERSTAND) != null)
 76  
         {
 77  0
             props.setProperty(WSHandlerConstants.MUST_UNDERSTAND, (String)message
 78  
                 .getProperty(WSHandlerConstants.MUST_UNDERSTAND));
 79  
         }
 80  0
         if (message.getProperty(WSHandlerConstants.NO_SECURITY) != null)
 81  
         {
 82  0
             props.setProperty(WSHandlerConstants.NO_SECURITY, (String)message
 83  
                 .getProperty(WSHandlerConstants.NO_SECURITY));
 84  
         }
 85  0
         if (message.getProperty(WSHandlerConstants.NO_SERIALIZATION) != null)
 86  
         {
 87  0
             props.setProperty(WSHandlerConstants.NO_SERIALIZATION, (String)message
 88  
                 .getProperty(WSHandlerConstants.NO_SERIALIZATION));
 89  
         }
 90  0
         if (message.getProperty(WSHandlerConstants.ROLE) != null)
 91  
         {
 92  0
             props.setProperty(WSHandlerConstants.ROLE, (String)message
 93  
                 .getProperty(WSHandlerConstants.ROLE));
 94  
         }
 95  
 
 96  
         // if username token
 97  0
         if (message.getProperty(WSHandlerConstants.ACTION)
 98  
                 .equals(WSHandlerConstants.USERNAME_TOKEN))
 99  
         {
 100  0
             if (message.getProperty(WSHandlerConstants.ADD_UT_ELEMENTS) != null)
 101  
             {
 102  0
                 props.setProperty(WSHandlerConstants.ADD_UT_ELEMENTS, (String)message
 103  
                     .getProperty(WSHandlerConstants.ADD_UT_ELEMENTS));
 104  
             }
 105  
         }
 106  
 
 107  
         // if timestamp
 108  0
         if (message.getProperty(WSHandlerConstants.ACTION)
 109  
                 .equals(WSHandlerConstants.TIMESTAMP))
 110  
         {
 111  0
             if (message.getProperty(WSHandlerConstants.TIMESTAMP_PRECISION) != null)
 112  
             {
 113  0
                 props.setProperty(WSHandlerConstants.TIMESTAMP_PRECISION, (String)message
 114  
                     .getProperty(WSHandlerConstants.TIMESTAMP_PRECISION));
 115  
             }
 116  0
             if (message.getProperty(WSHandlerConstants.TIMESTAMP_STRICT) != null)
 117  
             {
 118  0
                 props.setProperty(WSHandlerConstants.TIMESTAMP_STRICT, (String)message
 119  
                     .getProperty(WSHandlerConstants.TIMESTAMP_STRICT));
 120  
             }
 121  0
             if (message.getProperty(WSHandlerConstants.TTL_TIMESTAMP) != null)
 122  
             {
 123  0
                 props.setProperty(WSHandlerConstants.TTL_TIMESTAMP, (String)message
 124  
                     .getProperty(WSHandlerConstants.TTL_TIMESTAMP));
 125  
             }
 126  
         }
 127  
 
 128  
         // if encrypted
 129  0
         if (message.getProperty(WSHandlerConstants.ACTION)
 130  
                 .equals(WSHandlerConstants.ENCRYPT))
 131  
         {
 132  0
             if (message.getProperty(WSHandlerConstants.ENC_PROP_FILE) != null)
 133  
             {
 134  0
                 props.setProperty(WSHandlerConstants.ENC_PROP_FILE, (String)message
 135  
                     .getProperty(WSHandlerConstants.ENC_PROP_FILE));
 136  
             }
 137  0
             if (message.getProperty(WSHandlerConstants.ENC_CALLBACK_CLASS) != null)
 138  
             {
 139  0
                 props.setProperty(WSHandlerConstants.ENC_CALLBACK_CLASS, (String)message
 140  
                     .getProperty(WSHandlerConstants.ENC_CALLBACK_CLASS));
 141  
             }
 142  0
             if (message.getProperty(WSHandlerConstants.ENC_CALLBACK_REF) != null)
 143  
             {
 144  0
                 props.setProperty(WSHandlerConstants.ENC_CALLBACK_REF, (String)message
 145  
                     .getProperty(WSHandlerConstants.ENC_CALLBACK_REF));
 146  
             }
 147  0
             if (message.getProperty(WSHandlerConstants.ENC_KEY_ID) != null)
 148  
             {
 149  0
                 props.setProperty(WSHandlerConstants.ENC_KEY_ID, (String)message
 150  
                     .getProperty(WSHandlerConstants.ENC_KEY_ID));
 151  
             }
 152  0
             if (message.getProperty(WSHandlerConstants.ENC_KEY_NAME) != null)
 153  
             {
 154  0
                 props.setProperty(WSHandlerConstants.ENC_KEY_NAME, (String)message
 155  
                     .getProperty(WSHandlerConstants.ENC_KEY_NAME));
 156  
             }
 157  0
             if (message.getProperty(WSHandlerConstants.ENC_KEY_TRANSPORT) != null)
 158  
             {
 159  0
                 props.setProperty(WSHandlerConstants.ENC_KEY_TRANSPORT, (String)message
 160  
                     .getProperty(WSHandlerConstants.ENC_KEY_TRANSPORT));
 161  
             }
 162  0
             if (message.getProperty(WSHandlerConstants.ENC_SYM_ALGO) != null)
 163  
             {
 164  0
                 props.setProperty(WSHandlerConstants.ENC_SYM_ALGO, (String)message
 165  
                     .getProperty(WSHandlerConstants.ENC_SYM_ALGO));
 166  
             }
 167  0
             if (message.getProperty(WSHandlerConstants.ENCRYPTION_PARTS) != null)
 168  
             {
 169  0
                 props.setProperty(WSHandlerConstants.ENCRYPTION_PARTS, (String)message
 170  
                     .getProperty(WSHandlerConstants.ENCRYPTION_PARTS));
 171  
             }
 172  
 
 173  0
             if (message.getProperty(WSHandlerConstants.ENCRYPTION_USER) != null)
 174  
             {
 175  0
                 props.setProperty(WSHandlerConstants.ENCRYPTION_USER, (String)message
 176  
                     .getProperty(WSHandlerConstants.ENCRYPTION_USER));
 177  
             }
 178  
 
 179  0
             if (message.getProperty(WSHandlerConstants.DEC_PROP_FILE) != null)
 180  
             {
 181  0
                 props.setProperty(WSHandlerConstants.DEC_PROP_FILE, (String)message
 182  
                     .getProperty(WSHandlerConstants.DEC_PROP_FILE));
 183  
             }
 184  
         }
 185  
 
 186  
         // Saml
 187  0
         if (message.getProperty(WSHandlerConstants.SAML_PROP_FILE) != null)
 188  
         {
 189  0
             props.setProperty(WSHandlerConstants.SAML_PROP_FILE, (String)message
 190  
                 .getProperty(WSHandlerConstants.SAML_PROP_FILE));
 191  
         }
 192  
 
 193  
         // if signed
 194  0
         if (message.getProperty(WSHandlerConstants.ACTION)
 195  
                 .equals(WSHandlerConstants.SIGNATURE)
 196  
             || message.getProperty(WSHandlerConstants.ACTION)
 197  
                 .equals(WSHandlerConstants.SAML_TOKEN_SIGNED))
 198  
         {
 199  0
             if (message.getProperty(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION) != null)
 200  
             {
 201  0
                 props.setProperty(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION, (String)message
 202  
                     .getProperty(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION));
 203  
             }
 204  
 
 205  0
             if (message.getProperty(WSHandlerConstants.SIG_KEY_ID) != null)
 206  
             {
 207  0
                 props.setProperty(WSHandlerConstants.SIG_KEY_ID, (String)message
 208  
                     .getProperty(WSHandlerConstants.SIG_KEY_ID));
 209  
             }
 210  
 
 211  0
             if (message.getProperty(WSHandlerConstants.SIG_ALGO) != null)
 212  
             {
 213  0
                 props.setProperty(WSHandlerConstants.SIG_ALGO, (String)message
 214  
                     .getProperty(WSHandlerConstants.SIG_ALGO));
 215  
             }
 216  
 
 217  0
             if (message.getProperty(WSHandlerConstants.SIG_CONF_DONE) != null)
 218  
             {
 219  0
                 props.setProperty(WSHandlerConstants.SIG_CONF_DONE, (String)message
 220  
                     .getProperty(WSHandlerConstants.SIG_CONF_DONE));
 221  
             }
 222  
 
 223  0
             if (message.getProperty(WSHandlerConstants.SIG_PROP_FILE) != null)
 224  
             {
 225  0
                 props.setProperty(WSHandlerConstants.SIG_PROP_FILE, (String)message
 226  
                     .getProperty(WSHandlerConstants.SIG_PROP_FILE));
 227  
             }
 228  
         }
 229  0
         return props;
 230  
     }
 231  
 }