Author: kaushalye
Date: Wed Dec 12 01:26:21 2007
New Revision: 603521
URL: http://svn.apache.org/viewvc?rev=603521&view=rev
Log:
New EncryptedHeader node to the token base
Added:
webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c
Modified:
webservices/rampart/trunk/c/NEWS
webservices/rampart/trunk/c/include/oxs_constants.h
webservices/rampart/trunk/c/include/oxs_tokens.h
webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am
webservices/rampart/trunk/c/src/util/rampart_handler_util.c
Modified: webservices/rampart/trunk/c/NEWS
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/NEWS?rev=603521&r1=603520&r2=603521&view=diff
==============================================================================
--- webservices/rampart/trunk/c/NEWS (original)
+++ webservices/rampart/trunk/c/NEWS Wed Dec 12 01:26:21 2007
@@ -63,7 +63,6 @@
1. SAML support
2. WS-Secure conversation
3. WS-Trust
-4. Some WS-Security 1.1 features
We welcome your early feedback on this implementation.
Modified: webservices/rampart/trunk/c/include/oxs_constants.h
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_constants.h?rev=603521&r1=603520&r2=603521&view=diff
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_constants.h (original)
+++ webservices/rampart/trunk/c/include/oxs_constants.h Wed Dec 12 01:26:21 2007
@@ -386,7 +386,7 @@
WS Security 1.1
****************************************************************/
#define OXS_WSS_11_VALUE_TYPE_ENCRYPTED_KEY
"http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey"
-
+#define OXS_NODE_ENCRYPTED_HEADER "EncryptedHeader"
/*************************************************************************/
Modified: webservices/rampart/trunk/c/include/oxs_tokens.h
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_tokens.h?rev=603521&r1=603520&r2=603521&view=diff
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_tokens.h (original)
+++ webservices/rampart/trunk/c/include/oxs_tokens.h Wed Dec 12 01:26:21 2007
@@ -322,6 +322,15 @@
axiom_node_t * parent,
axis2_char_t * id);
+ /**
+ * Creates <wss11:EncryptedHeader> element
+ */
+ AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+ oxs_token_build_enc_header_element(
+ const axutil_env_t * env,
+ axiom_node_t * parent,
+ axis2_char_t * id);
+
/**
* Creates <ds:SignatureMethod> element
*/
Modified: webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am?rev=603521&r1=603520&r2=603521&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am Wed Dec 12
01:26:21 2007
@@ -9,7 +9,8 @@
token_c14n_method.c
token_signature_method.c token_digest_method.c token_digest_value.c \
token_transform.c
token_transforms.c token_signature.c token_ds_reference.c \
token_x509_certificate.c
token_signature_confirmation.c token_derived_key_token.c \
- token_properties.c
token_generation.c token_length.c token_nonce.c token_offset.c token_label.c
+ token_properties.c
token_generation.c token_length.c token_nonce.c token_offset.c token_label.c \
+ token_encrypted_header.c
INCLUDES = -I$(top_builddir)/include \
Added: webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c?rev=603521&view=auto
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c
(added)
+++ webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c
Wed Dec 12 01:26:21 2007
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+#include <stdio.h>
+#include <oxs_constants.h>
+#include <oxs_error.h>
+#include <oxs_tokens.h>
+#include <axiom_attribute.h>
+#include <axiom_element.h>
+
+
+
+AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+oxs_token_build_enc_header_element(const axutil_env_t *env,
+ axiom_node_t *parent,
+ axis2_char_t* id)
+{
+ axiom_node_t *enc_header_node = NULL;
+ axiom_element_t *enc_header_ele = NULL;
+ axiom_attribute_t *id_attr = NULL;
+ axiom_namespace_t *ns_obj = NULL;
+ int ret;
+
+ ns_obj = axiom_namespace_create(env, OXS_WSSE_11_XMLNS,
+ OXS_WSSE_11);
+
+ enc_header_ele = axiom_element_create(env, parent, OXS_NODE_SIGNATURE,
ns_obj, &enc_header_node);
+ if (!enc_header_ele)
+ {
+ oxs_error(env, ERROR_LOCATION,
+ OXS_ERROR_ELEMENT_FAILED, "Error creating
wss11:EncryptedHeader element");
+ return NULL;
+ }
+
+ /*If id is not NULL then add it as an attribute*/
+ if (id)
+ {
+ id_attr = axiom_attribute_create(env, OXS_ATTR_ID, id, NULL);
+ ret = axiom_element_add_attribute(enc_header_ele, env, id_attr,
enc_header_node);
+ }
+
+ return enc_header_node;
+
+}
+
Modified: webservices/rampart/trunk/c/src/util/rampart_handler_util.c
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_handler_util.c?rev=603521&r1=603520&r2=603521&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_handler_util.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_handler_util.c Wed Dec 12
01:26:21 2007
@@ -135,8 +135,9 @@
{
/*Set mustUnderstand = 0*/
axiom_soap_header_block_set_must_understand_with_bool(header_block, env,
AXIS2_FALSE);
- if (env)
+ if (env){
AXIS2_FREE(env->allocator, hash_index);
+ }
return header_block_node;
}