You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by pi...@apache.org on 2007/09/06 12:49:17 UTC

svn commit: r573215 [3/22] - in /webservices/rampart/tags/c/0.90: ./ build/ build/linux/ build/win32/ include/ samples/ samples/authn_provider/ samples/callback/ samples/callback/htpasswd_callback/ samples/client/ samples/client/sec_echo/ samples/clien...

Added: webservices/rampart/tags/c/0.90/include/oxs_ctx.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_ctx.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_ctx.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_ctx.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,373 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_CTX_H
+#define OXS_CTX_H
+
+
+/**
+  * @file oxs_ctx.h
+  * @brief Keeps configurations for the OMXMLSecurity 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <oxs_buffer.h>
+#include <oxs_key.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /** @defgroup oxs_ctx Message Context
+     * @ingroup oxs_context
+     * @{
+     */
+
+    /*TODO We need to change the name oxs_ctx -> oxs_sym_ctx.
+     * The name is sounds too generic as there is another oxs_asym_ctx.
+     * */
+
+    typedef enum  {
+        OXS_CTX_OPERATION_NONE = 0,
+        OXS_CTX_OPERATION_ENCRYPT,
+        OXS_CTX_OPERATION_DECRYPT
+    } oxs_ctx_operation_t;
+
+    typedef enum {
+        OXS_CTX_MODE_ENCRYPTED_DATA = 0,
+        OXS_CTX_MODE_ENCRYPTED_KEY
+    } oxs_ctx_mode_t;
+
+
+    /** Type name for struct oxs_ctx */
+    typedef struct oxs_ctx_t oxs_ctx_t;
+
+
+
+    /**
+     * Free function of the context
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_free(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * Returns the mode of the context
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return mode of the context 
+     */
+    oxs_ctx_mode_t AXIS2_CALL
+    oxs_ctx_get_mode(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return operation of the context 
+     */
+    oxs_ctx_operation_t AXIS2_CALL
+    oxs_ctx_get_operation(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    oxs_key_t *AXIS2_CALL
+    oxs_ctx_get_key(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_id(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_type(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_mime_type(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_encoding(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_recipient(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_carried_key_name(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_enc_mtd_algorithm(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @return of the context 
+     */
+    axis2_char_t *AXIS2_CALL
+    oxs_ctx_get_input_data(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env
+    );
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param mode the mode of operation, EncryptedData/EncryptedKey
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_mode(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        oxs_ctx_mode_t mode
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param operation the operation Encrypt/Decrypt/Sign/Verify
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_operation(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        oxs_ctx_operation_t operation
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param key the key used
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_key(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        oxs_key_t *key
+    );
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param id the id of the context 
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_id(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *id
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param type ???Depricated?
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_type(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *type
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param mime_type the mime type used
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_mime_type(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *mime_type
+    );
+
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param encoding the encoding used
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_encoding(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *encoding
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param recipient name of recipient
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_recipient(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *recipient
+    );
+
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param carried_key_name the key name 
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_carried_key_name(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *carried_key_name
+    );
+
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param enc_mtd_algorithm the encryption method algorithm
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_enc_mtd_algorithm(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *enc_mtd_algorithm
+    );
+    /**
+     * 
+     * @param ctx The OMXMLSecurity context 
+     * @param env pointer to environment struct
+     * @param input_data the input data
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    oxs_ctx_set_input_data(
+        oxs_ctx_t *ctx,
+        const axutil_env_t *env,
+        axis2_char_t *input_data
+    );
+
+
+
+    /*Create function*/
+    AXIS2_EXTERN oxs_ctx_t *AXIS2_CALL
+    oxs_ctx_create(const axutil_env_t *env);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_CTX_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_encryption.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_encryption.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_encryption.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_encryption.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_ENCRYPTION_H
+#define OXS_ENCRYPTION_H
+
+
+/**
+  * @file oxs_encryption.h
+  * @brief Provides data encryption and decryption functionalities of the OMXMLSec. 
+  */
+
+#include <axis2_defines.h>
+#include <oxs_ctx.h>
+#include <oxs_asym_ctx.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    /**
+     * En/Decrypts given data buffer depending on the information avalable in the encryption context using
+     * a symmetric key.
+     * The resulted data will be placed on the result buffer.
+     * Data are not valid only if the method returns 	AXIS2_SUCCESS
+     * @enc_ctx pointer to the OMXMLSec symmetric encryption context struct
+     * @env pointer to environment struct
+     * @input the input buffer	
+     * @result the ouput or the ressulted data buffer		
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE	
+     */
+    AXIS2_EXTERN  axis2_status_t AXIS2_CALL
+    oxs_encryption_symmetric_crypt(const axutil_env_t *env,
+                                   oxs_ctx_t * enc_ctx,
+                                   oxs_buffer_t *input,
+                                   oxs_buffer_t *result);
+
+    /**
+     * En/Decrypts given data buffer deoending on the information avalable in the encryption context using an
+     * asymmetric key, which can be a publik key extracted from a certificate or a private key. 
+     * The resulted data will be placed on the result buffer.
+     * Data are not valid only if the method returns 	AXIS2_SUCCESS
+     * @enc_ctx pointer to the OMXMLSec asymmetric encryption context struct
+     * @env pointer to environment struct
+     * @input the input buffer	
+     * @result the ouput or the ressulted data buffer			
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE	
+     */
+    AXIS2_EXTERN  axis2_status_t AXIS2_CALL
+    oxs_encryption_asymmetric_crypt(const axutil_env_t *env,
+                                    oxs_asym_ctx_t * enc_ctx,
+                                    oxs_buffer_t *input,
+                                    oxs_buffer_t *result);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_ENCRYPTION_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_error.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_error.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_error.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_error.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,118 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_ERROR_H
+#define OXS_ERROR_H
+
+
+/**
+  * @file oxs_error.h
+  * @brief Represents an Error occured during the OMXMLSecurity execution 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#if defined( WIN32 ) && (_MSC_VER < 1300)
+#define __FUNCTION__ NULL
+#endif
+
+    /*Macros for locating thr error*/
+#define FUNCTION_NAME __FUNCTION__
+#define LINE_NUMBER __LINE__
+#define FILE_NAME __FILE__
+
+#define ERROR_LOCATION FILE_NAME,LINE_NUMBER,FUNCTION_NAME
+
+    /*Error codes*/
+#define OXS_ERROR_DEFAULT               0
+#define OXS_ERROR_ENCRYPT_FAILED        1
+#define OXS_ERROR_DECRYPT_FAILED        2
+#define OXS_ERROR_INVALID_DATA          3
+#define OXS_ERROR_INVALID_SIZE          4
+#define OXS_ERROR_INVALID_FORMAT        5
+#define OXS_ERROR_ELEMENT_FAILED        6
+#define OXS_ERROR_UNSUPPORTED_ALGO      7
+#define OXS_ERROR_CREATION_FAILED       8
+#define OXS_ERROR_INITIALIZATION_FAILED 9
+#define OXS_ERROR_DATA_CONV_FAILED     10
+#define OXS_ERROR_OPENSSL_FUNC_FAILED  11
+#define OXS_ERROR_TRANSFORM_FAILED     12
+#define OXS_ERROR_SIGN_FAILED          13
+#define OXS_ERROR_SIG_VERIFICATION_FAILED        14
+
+    typedef struct _oxs_error_description oxs_error_description, *oxs_error_description_ptr;
+
+    /**
+    *   Structure to hold error descriptions
+    *   @param code Error Code
+    *   @param message Error Message
+    */
+    struct _oxs_error_description
+    {
+        int code;
+        const char* message;
+    };
+
+    /**
+    * Given the error code @code get the error message from the table
+    * @param code  Error code
+    * @return error message
+    */
+    AXIS2_EXTERN const char* AXIS2_CALL
+    oxs_errors_get_msg_by_code(int code);
+
+    /**
+    * Given position @pos get the error message from the table
+    * @param pos  Position of the table
+    * @return error message
+    */
+    AXIS2_EXTERN const char* AXIS2_CALL
+    oxs_errors_get_msg(unsigned int pos);
+
+    /**
+    * Given position @pos get the error code from the table
+    * @param pos  Position of the table
+    * @return error code
+    */
+    AXIS2_EXTERN int AXIS2_CALL
+    oxs_errors_get_code(unsigned int pos);
+
+    /**
+     * Print/log the error message
+     * @file:      file name
+     * @line:      line number 
+     * @func:      function 
+     * @code:      the error code.
+     * @msg:       the error message 
+     *
+     */
+    AXIS2_EXTERN void AXIS2_CALL
+    oxs_error(const axutil_env_t *env, const char* file, int line, const char* func,
+              int code, const char* msg,...);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_ERROR_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_iv.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_iv.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_iv.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_iv.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_IV_H
+#define OXS_IV_H
+
+
+/**
+  * @file oxs_key.h
+  * @brief Initial Vector related functionalities 
+  */
+
+#include <axis2_defines.h>
+#include <oxs_constants.h>
+#include <openssl_constants.h>
+#include <axutil_env.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+#define OXS_IV_DEFAULT    OPENSSL_DEFAULT_IV16
+
+    /**
+     * Generates an Initial Vector(IV) for the given algorithm
+     * @param env pointer to environment struct
+     * @param key_algo the algorithm
+     * @return the generated IV 
+     */
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_iv_generate_for_algo(const axutil_env_t *env,
+                             axis2_char_t *key_algo);
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_IV_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_key.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_key.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_key.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_key.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_KEY_H
+#define OXS_KEY_H
+
+
+/**
+  * @file oxs_key.h
+  * @brief represents a Key in OMXMLSecurity 
+  */
+
+#include <axis2_defines.h>
+#include <oxs_constants.h>
+#include <axutil_env.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /*Key is for signing*/
+#define OXS_KEY_USAGE_SIGN          0
+    /*Key is for verifying signature*/
+#define OXS_KEY_USAGE_VERIFY        1
+    /*Key is for encrypting */
+#define OXS_KEY_USAGE_ENCRYPT       2
+    /*Key is for decrypting*/
+#define OXS_KEY_USAGE_DECRYPT       3
+    /*Key usage is not specified yet*/
+#define OXS_KEY_USAGE_NONE          4
+
+#define OXS_KEY_DEFAULT_SIZE        64
+
+    /** Type name for struct  oxs_key */
+    typedef struct oxs_key_t oxs_key_t;
+
+    /**
+    * Gets data of the key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return data 
+    */
+
+    unsigned char *AXIS2_CALL
+    oxs_key_get_data(
+        const oxs_key_t *key,
+        const axutil_env_t *env);
+    /**
+    * Gets the name of the key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return name of the key
+    */
+    axis2_char_t *AXIS2_CALL
+    oxs_key_get_name(
+        const oxs_key_t *key,
+        const axutil_env_t *env);
+    /**
+    * Gets the size of the key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return size of the key
+    */
+    int AXIS2_CALL
+    oxs_key_get_size(
+        const oxs_key_t *key,
+        const axutil_env_t *env);
+    /**
+    * Gets the usage of the key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return usage of the key
+    */
+    int AXIS2_CALL
+    oxs_key_get_usage(
+        const oxs_key_t *key,
+        const axutil_env_t *env);
+
+
+    /**
+    * Sets the name of the key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @param name name of the key
+    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+    */
+    axis2_status_t AXIS2_CALL
+    oxs_key_set_name(
+        oxs_key_t *key,
+        const axutil_env_t *env,
+        axis2_char_t *name);
+
+
+    /**
+    * Set the usage of the key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @param usage usage of the key
+    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+    */
+    axis2_status_t AXIS2_CALL
+    oxs_key_set_usage(
+        oxs_key_t *key,
+        const axutil_env_t *env,
+        int usage);
+
+    /**
+    * Free function for key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+    */
+    axis2_status_t AXIS2_CALL
+    oxs_key_free(
+        oxs_key_t *key,
+        const axutil_env_t *env
+    );
+
+    /**
+    * Populate a key.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @param data data of the key
+    * @param name name of the key
+    * @param size size of the key
+    * @param usage usage of the key
+    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+    */
+    axis2_status_t AXIS2_CALL
+    oxs_key_populate(
+        oxs_key_t *key,
+        const axutil_env_t *env,
+        unsigned char *data,
+        axis2_char_t *name,
+        int size,
+        int usage);
+
+    /**
+    * Read a key from a file.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+    */
+    axis2_status_t AXIS2_CALL
+    oxs_key_read_from_file(
+        oxs_key_t *key,
+        const axutil_env_t *env,
+        axis2_char_t *file_name);
+
+    /**
+    * Fill the key for the given algo.
+    * @param key oxs_key ptr to key
+    * @param env pointer to environment struct
+    * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+    */
+    axis2_status_t AXIS2_CALL
+    oxs_key_for_algo(oxs_key_t *key,
+                     const axutil_env_t *env,
+                     axis2_char_t *key_algo);
+
+
+    AXIS2_EXTERN oxs_key_t *AXIS2_CALL
+    oxs_key_create(const axutil_env_t *env);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_KEY_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_key_mgr.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_key_mgr.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_key_mgr.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_key_mgr.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,123 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_KEY_MGR_H
+#define OXS_KEY_MGR_H
+
+
+/**
+  * @file oxs_key_mgr.h
+  * @brief the Key Manager responsible for loading keys for OMXMLSecurity
+  */
+
+#include <axis2_defines.h>
+#include <oxs_ctx.h>
+#include <oxs_asym_ctx.h>
+#include <axutil_env.h>
+#include <axutil_qname.h>
+#include <oxs_x509_cert.h>
+#include <openssl_pkey.h>
+#include <openssl_x509.h>
+#include <openssl_pkcs12.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+     * Loads keys/certificates from a keystore or a PEm file depending on information available in the @ctx
+     * @ctx pointer to the OMXMLSec asymmetric encryption context struct
+     * @env pointer to environment struct
+     * @password the password for the key store
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE	
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_key_mgr_load_key(const axutil_env_t *env,
+                         oxs_asym_ctx_t *ctx,
+                         axis2_char_t *password);
+    /**
+     * Loads a private key from a string buffer @pem_buf which of PEM format.
+     * -----BEGIN RSA PRIVATE KEY-----
+     *  @pem_buf
+     *  -----END RSA PRIVATE KEY-----
+     * @env pointer to environment struct
+     * @pem_buf the string buffer which of PEM format
+     * @password the password for the key file
+     * @return the generated key
+     */
+    AXIS2_EXTERN openssl_pkey_t* AXIS2_CALL
+    oxs_key_mgr_load_private_key_from_string(const axutil_env_t *env,
+            axis2_char_t *pem_buf, /*in PEM format*/
+            axis2_char_t *password);
+    /**
+     * Loads a private key from a file (in PEM format)
+     *  @env pointer to environment struct
+     *  @file_name the name of the file
+     *  @password the passowrd for the file
+     *  @return the generated key
+     */
+    AXIS2_EXTERN openssl_pkey_t* AXIS2_CALL
+    oxs_key_mgr_load_private_key_from_pem_file(const axutil_env_t *env,
+            axis2_char_t *file_name,
+            axis2_char_t *password);
+
+    /**
+     * Loads an X509 certificate from a string buffer @pem_buf 
+     * -----BEGIN CERTIFICATE-----
+     *  @pem_buf
+     * -----END CERTIFICATE-----
+     * @env pointer to environment struct
+     * @pem_buf PEM formatted string buffer
+     * @return the generated X509 certificate
+     */
+    AXIS2_EXTERN oxs_x509_cert_t* AXIS2_CALL
+    oxs_key_mgr_load_x509_cert_from_string(const axutil_env_t *env,
+                                           axis2_char_t *pem_buf);
+
+    /**
+     * Loads an X509 certificate from a file
+     * @env pointer to environment struct
+     * @file_name the name of the file
+     * @return the generated X509 certificate
+     */
+    AXIS2_EXTERN oxs_x509_cert_t* AXIS2_CALL
+    oxs_key_mgr_load_x509_cert_from_pem_file(const axutil_env_t *env,
+            axis2_char_t *filename);
+
+    /**
+     * Read a PKCS12 key store and populate a key and a certificate.
+     * @env pointer to environment struct
+     * @pkcs12_file name of the pkcs12 file
+     * @password password for the key/certificate pair in the key store
+     * @cert the certificate
+     * @prv_key the private key
+     * @return the generated X509 certificate
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_key_mgr_read_pkcs12_key_store(const axutil_env_t *env,
+                                      axis2_char_t *pkcs12_file,
+                                      axis2_char_t *password,
+                                      oxs_x509_cert_t **cert,
+                                      openssl_pkey_t **prv_key);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_KEY_MGR_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_sign_ctx.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_sign_ctx.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_sign_ctx.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_sign_ctx.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,266 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_SIGN_CTX_H
+#define OXS_SIGN_CTX_H
+
+
+/**
+  * @file oxs_sign_ctx.h
+  * @brief Keeps information relavent for a single node of signing. 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <oxs_x509_cert.h>
+#include <openssl_pkey.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /*The type of operation*/
+    typedef enum  {
+        OXS_SIGN_OPERATION_NONE = 0,
+        OXS_SIGN_OPERATION_SIGN,
+        OXS_SIGN_OPERATION_VERIFY
+    } oxs_sign_operation_t;
+
+
+    typedef struct oxs_sign_ctx_t oxs_sign_ctx_t;
+
+    /**
+     * Create a signature context
+     * @env the environemnt struct
+     * @return created signature context
+     * */
+    AXIS2_EXTERN oxs_sign_ctx_t *AXIS2_CALL
+    oxs_sign_ctx_create(const axutil_env_t *env);
+
+    /**
+     * Free a signature context.
+     * @ctx signature context
+     * @env the environemnt struct
+     * @return AXIS2_SUCCESS on success or AXIS2_FAILURE on failure
+     *
+     **/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_free(oxs_sign_ctx_t *ctx,
+                      const axutil_env_t *env);
+
+
+    /**********************Getter functions******************************************/
+    /**
+     * Get signature algorithm of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return signature algorithm
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_sign_ctx_get_sign_mtd_algo(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**
+     * Get cannocanicalization method of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return cannocanicalization method
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_sign_ctx_get_c14n_mtd(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**
+     * Get sginature valueof the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return signature value
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_sign_ctx_get_sig_val(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**
+     * Get signature parts of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return sgnature parts as a list
+     */
+    AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
+    oxs_sign_ctx_get_sign_parts(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**
+     * Get x509 certificate of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return x509 certificate
+     */
+    AXIS2_EXTERN oxs_x509_cert_t *AXIS2_CALL
+    oxs_sign_ctx_get_certificate(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+    /**
+     * Get private key of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return private key 
+     */
+
+    AXIS2_EXTERN openssl_pkey_t *AXIS2_CALL
+    oxs_sign_ctx_get_private_key(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**
+     * Get public key of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return public key
+     */
+    AXIS2_EXTERN openssl_pkey_t *AXIS2_CALL
+    oxs_sign_ctx_get_public_key(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**
+     * Get the operation of the signature context
+     * @sign_ctx the signature context
+     * @env the environemnt struct 
+     * @return operation SIGN/VERIFY/NONE
+     */
+    AXIS2_EXTERN oxs_sign_operation_t AXIS2_CALL
+    oxs_sign_ctx_get_operation(
+        const oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env);
+
+    /**********************Setter functions******************************************/
+    /**
+     * Set Signature algorithm  of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @sign_mtd_algo Signature algorithm
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_sign_mtd_algo(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        axis2_char_t *sign_mtd_algo);
+
+    /**
+     * Set Cannocanicalization method of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @c14n_mtd Cannocanicalization method
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_c14n_mtd(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        axis2_char_t *c14n_mtd);
+
+    /**
+     * Set signature value of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @sig_val signature value
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_sig_val(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        axis2_char_t *sig_val);
+
+    /**
+     * Set signature parts of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @sign_parts signature parts 
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_sign_parts(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        axutil_array_list_t *sign_parts);
+
+    /**
+     * Set the x509 certificate of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @certificate the x509 certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_certificate(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        oxs_x509_cert_t *certificate);
+
+    /**
+     * Set private key of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @prv_key private key
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_private_key(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        openssl_pkey_t *prv_key);
+
+    /**
+     * Set the public key of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @pub_key the public key
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_public_key(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        openssl_pkey_t *pub_key);
+
+    /**
+     * Set the operation of the signature context @sign_ctx
+     * @sign_ctx the signature context
+     * @env the environemnt struct
+     * @operation the operation 
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_ctx_set_operation(
+        oxs_sign_ctx_t *sign_ctx,
+        const axutil_env_t *env,
+        oxs_sign_operation_t operation);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_SIGN_CTX_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_sign_part.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_sign_part.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_sign_part.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_sign_part.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,113 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_SIGN_PART_H
+#define OXS_SIGN_PART_H
+
+
+/**
+  * @file oxs_sign_part.h
+  * @brief Keeps information relavent for a single node of signing. 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+    typedef struct oxs_sign_part_t oxs_sign_part_t;
+
+    /*Create function*/
+    AXIS2_EXTERN oxs_sign_part_t *AXIS2_CALL
+    oxs_sign_part_create(const axutil_env_t *env);
+
+    /*Free*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_part_free(oxs_sign_part_t *ctx,
+                       const axutil_env_t *env);
+
+
+    /**********************Getter functions******************************************/
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_sign_part_get_id(
+        const oxs_sign_part_t *sign_part,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_sign_part_get_digest_mtd(
+        const oxs_sign_part_t *sign_part,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_sign_part_get_digest_val(
+        const oxs_sign_part_t *sign_part,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+    oxs_sign_part_get_node(
+        const oxs_sign_part_t *sign_part,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
+    oxs_sign_part_get_transforms(
+        const oxs_sign_part_t *sign_part,
+        const axutil_env_t *env);
+
+    /**********************Setter functions******************************************/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_part_set_id(
+        oxs_sign_part_t *sign_part,
+        const axutil_env_t *env,
+        axis2_char_t *id);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_part_set_digest_mtd(
+        oxs_sign_part_t *sign_part,
+        const axutil_env_t *env,
+        axis2_char_t *digest_mtd);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_part_set_digest_val(
+        oxs_sign_part_t *sign_part,
+        const axutil_env_t *env,
+        axis2_char_t *digest_val);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_part_set_node(
+        oxs_sign_part_t *sign_part,
+        const axutil_env_t *env,
+        axiom_node_t *node);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sign_part_set_transforms(
+        oxs_sign_part_t *sign_part,
+        const axutil_env_t *env,
+        axutil_array_list_t *transforms);
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_SIGN_PART_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_signature.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_signature.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_signature.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_signature.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_SIGNATURE_H
+#define OXS_SIGNATURE_H
+
+
+/**
+  * @file oxs_signature.h
+  * @brief Does the XML Signature for OMXMLSecurity  
+  */
+
+#include <axis2_defines.h>
+#include <oxs_ctx.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#include <oxs_sign_ctx.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    /**
+     * Signs an input buffer @input using the RSA-SHA1 algorithm.
+     * Result will be placed in output buffer @output
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @input input buffer
+     * @output output buffer
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sig_sign_rsa_sha1(const axutil_env_t *env,
+                          oxs_sign_ctx_t *sign_ctx,
+                          oxs_buffer_t *input,
+                          oxs_buffer_t *output);
+
+    /**
+     * Signs a content placed in @input buf using the information
+     * available in the signature context @sign_ctx.
+     * The result will be placed in the buffer @output.
+     * Note that the result is base64 encoded.
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @input input buffer
+     * @output output buffer
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sig_sign(const axutil_env_t *env,
+                 oxs_sign_ctx_t *sign_ctx,
+                 oxs_buffer_t *input,
+                 oxs_buffer_t *output);
+
+    /**
+     * Verifies a @signature with @content using the information
+     * available in the signature content @sign_ctx.
+     * Note that the signature should be the base64 encoded value of a digital signature.
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @content the content that's signed
+     * @signature the signature value
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_sig_verify(const axutil_env_t *env,
+                   oxs_sign_ctx_t *sign_ctx,
+                   axis2_char_t *content,
+                   axis2_char_t *signature);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_SIGNATURE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_binary_security_token.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_binary_security_token.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_binary_security_token.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_binary_security_token.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_BINARY_SECURITY_TOKEN_H
+#define OXS_BINARY_SECURITY_TOKEN_H
+
+
+/**
+  * @file oxs_token_binary_security_token.h
+  * @brief 
+  */
+#include <axis2_util.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * BinarySecurityToken
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_binary_security_token_element(const axutil_env_t *env,
+            axiom_node_t *parent,
+            axis2_char_t* id,
+            axis2_char_t* encoding_type,
+            axis2_char_t* value_type,
+            axis2_char_t* data
+                                                 );
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_BINARY_SECURITY_TOKEN_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_c14n_method.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_c14n_method.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_c14n_method.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_c14n_method.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_C14N_METHOD_H
+#define OXS_C14N_METHOD_H
+
+
+/**
+  * @file oxs_token_c14n_method.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+    /**
+    * C14N Method element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_c14n_method_element(const axutil_env_t *env,
+                                        axiom_node_t *parent,
+                                        axis2_char_t *algorithm
+                                       );
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_c14n_method(const axutil_env_t *env, axiom_node_t *c14n_mtd_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_C14N_METHOD_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_cipher_data.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_cipher_data.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_cipher_data.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_cipher_data.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_CIPHER_DATA_H
+#define OXS_TOKEN_CIPHER_DATA_H
+
+
+/**
+  * @file oxs_token_cipher_data.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * Cipher Data element
+    */
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    oxs_token_build_cipher_data_element(const axutil_env_t *env,
+                                        axiom_node_t *parent
+                                       );
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_cipher_value_from_cipher_data(const axutil_env_t *env,
+            axiom_node_t *cd_node);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_CIPHER_DATA_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_cipher_value.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_cipher_value.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_cipher_value.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_cipher_value.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_CIPHER_VALUE_H
+#define OXS_TOKEN_CIPHER_VALUE_H
+
+
+/**
+  * @file oxs_token_cipher_value.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * Cipher Value element
+    */
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_cipher_value(const axutil_env_t *env,
+                               axiom_node_t *cv_node);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_cipher_value_element(const axutil_env_t *env,
+                                         axiom_node_t *parent,
+                                         axis2_char_t* cipher_val
+                                        );
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_CIPHER_VALUE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_data_reference.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_data_reference.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_data_reference.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_data_reference.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_DATA_REFERENCE_H
+#define OXS_TOKEN_DATA_REFERENCE_H
+
+
+/**
+  * @file oxs_token_data_reference.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * Data Reference element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_data_reference_element(const axutil_env_t *env,
+                                           axiom_node_t *parent,
+                                           axis2_char_t *data_ref
+                                          );
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_data_reference(const axutil_env_t *env, axiom_node_t *data_ref_node);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_DATA_REFERENCE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_digest_method.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_digest_method.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_digest_method.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_digest_method.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_DIGEST_METHOD_H
+#define OXS_DIGEST_METHOD_H
+
+
+/**
+  * @file oxs_token_digest_method.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+    /**
+    * DigestMethod element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_digest_method_element(const axutil_env_t *env,
+                                          axiom_node_t *parent,
+                                          axis2_char_t *algorithm
+                                         );
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_digest_method(const axutil_env_t *env, axiom_node_t *enc_mtd_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_DIGEST_METHOD_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_digest_value.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_digest_value.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_digest_value.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_digest_value.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_DIGEST_VALUE_H
+#define OXS_TOKEN_DIGEST_VALUE_H
+
+
+/**
+  * @file oxs_token_digest_value.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * DigestValue element
+    */
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_digest_value(const axutil_env_t *env,
+                               axiom_node_t *sv_node);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_digest_value_element(const axutil_env_t *env,
+                                         axiom_node_t *parent,
+                                         axis2_char_t* digest_val
+                                        );
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_DIGEST_VALUE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_ds_reference.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_ds_reference.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_ds_reference.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_ds_reference.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_DS_REFERENCE_H
+#define OXS_TOKEN_DS_REFERENCE_H
+
+
+/**
+  * @file oxs_token_ds_reference.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * ds:Reference element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_ds_reference_element(const axutil_env_t *env,
+                                         axiom_node_t *parent,
+                                         axis2_char_t *id,
+                                         axis2_char_t *uri,
+                                         axis2_char_t *type);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_ds_reference(const axutil_env_t *env, axiom_node_t *ref_node);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_DS_REFERENCE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_embedded.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_embedded.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_embedded.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_embedded.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_EMBEDDED_H
+#define OXS_TOKEN_EMBEDDED_H
+
+
+/**
+  * @file oxs_token_embedded.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_embedded_element(const axutil_env_t *env,
+                                     axiom_node_t *parent,
+                                     axis2_char_t* id);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_embedded_id(const axutil_env_t *env, axiom_node_t *embedded_node);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_EMBEDDED_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_data.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_data.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_data.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_data.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_ENCRYPTED_DATA_H
+#define OXS_ENCRYPTED_DATA_H
+
+
+/**
+  * @file oxs_token_encrypted_data.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * EncryptedData  element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_encrypted_data_element(const axutil_env_t *env,
+                                           axiom_node_t *parent,
+                                           axis2_char_t* type_attribute,
+                                           axis2_char_t* id
+                                          );
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_ENCRYPTED_DATA_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_key.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_key.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_key.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_encrypted_key.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_ENCRYPTED_KEY
+#define OXS_TOKEN_ENCRYPTED_KEY
+
+
+/**
+  * @file oxs_token_cipher_data.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_encrypted_key_element(const axutil_env_t *env,
+                                          axiom_node_t *parent );
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_get_encrypted_key_node(const axutil_env_t *env,
+                                     axiom_node_t *parent);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_ENCRYPTED_KEY */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_encryption_method.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_encryption_method.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_encryption_method.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_encryption_method.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_ENCRYPTION_METHOD_H
+#define OXS_ENCRYPTION_METHOD_H
+
+
+/**
+  * @file oxs_token_encryption_method.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+    /**
+    * Encryption Method element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_encryption_method_element(const axutil_env_t *env,
+            axiom_node_t *parent,
+            axis2_char_t *algorithm
+                                             );
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_encryption_method(const axutil_env_t *env, axiom_node_t *enc_mtd_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_ENCRYPTION_METHOD_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_key_identifier.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_key_identifier.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_key_identifier.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_key_identifier.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_KEY_IDENTIFIER_H
+#define OXS_KEY_IDENTIFIER_H
+
+
+/**
+  * @file oxs_token_binary_security_token.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * KeyIdentifier
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_key_identifier_element(const axutil_env_t *env,
+                                           axiom_node_t *parent,
+                                           axis2_char_t* encoding_type,
+                                           axis2_char_t* value_type,
+                                           axis2_char_t* value
+                                          );
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_KEY_IDENTIFIER_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_key_info.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_key_info.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_key_info.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_key_info.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_KEY_INFO_H
+#define OXS_TOKEN_KEY_INFO_H
+
+
+/**
+  * @file oxs_token_key_info.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * KeyInfo element
+    */
+    AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+    oxs_token_build_key_info_element(const axutil_env_t *env,
+                                     axiom_node_t *parent
+                                    );
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_KEY_INFO_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_key_name.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_key_name.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_key_name.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_key_name.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_KEY_NAME_H
+#define OXS_TOKEN_KEY_NAME_H
+
+
+/**
+  * @file oxs_token_key_name.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * KeyName element
+    */
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_key_name_element(const axutil_env_t *env,
+                                     axiom_node_t *parent,
+                                     axis2_char_t* key_name_val
+                                    );
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_KEY_NAME_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_reference.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_reference.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_reference.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_reference.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_REFERENCE_H
+#define OXS_TOKEN_REFERENCE_H
+
+
+/**
+  * @file oxs_token_data_reference.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * Reference element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_reference_element(const axutil_env_t *env,
+                                      axiom_node_t *parent,
+                                      axis2_char_t *ref,
+                                      axis2_char_t *value_type
+                                     );
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_reference(const axutil_env_t *env, axiom_node_t *ref_node);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_reference_value_type(const axutil_env_t *env, axiom_node_t *ref_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_REFERENCE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_reference_list.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_reference_list.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_reference_list.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_reference_list.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_REFERENCE_LIST_H
+#define OXS_TOKEN_REFERENCE_LIST_H
+
+
+/**
+  * @file oxs_token_reference_list.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * KeyInfo element
+    */
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_reference_list_element(const axutil_env_t *env,
+                                           axiom_node_t *parent
+                                          );
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_token_build_data_reference_list(const axutil_env_t *env, axiom_node_t *parent, axutil_array_list_t *id_list);
+
+    AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
+    oxs_token_get_reference_list_data(const axutil_env_t *env, axiom_node_t *ref_list_node);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_REFERENCE_LIST_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_security_token_reference.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_security_token_reference.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_security_token_reference.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_security_token_reference.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_SECURITY_TOKEN_REFERENCE
+#define OXS_TOKEN_SECURITY_TOKEN_REFERENCE
+
+
+/**
+  * @file 
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_security_token_reference_element(const axutil_env_t *env,
+            axiom_node_t *parent);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_SECURITY_TOKEN_REFERENCE */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_signature.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_signature.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_signature.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_signature.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_TOKEN_SIGNATURE_H
+#define OXS_TOKEN_SIGNATURE_H
+
+
+/**
+  * @file oxs_token_signature.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+    * ds:Signature  element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_signature_element(const axutil_env_t *env,
+                                      axiom_node_t *parent,
+                                      axis2_char_t* id
+                                     );
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_SIGNATURE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_signature_method.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_signature_method.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_signature_method.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_signature_method.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+#ifndef OXS_SIGNATURE_METHOD_H
+#define OXS_SIGNATURE_METHOD_H
+
+
+/**
+  * @file oxs_token_signature_method.h
+  * @brief 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+    /**
+    * Signature Method element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_signature_method_element(const axutil_env_t *env,
+            axiom_node_t *parent,
+            axis2_char_t *algorithm
+                                            );
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_signature_method(const axutil_env_t *env, axiom_node_t *enc_mtd_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_SIGNATURE_METHOD_H */