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 */