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 [4/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_token_signature_value.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_signature_value.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_signature_value.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_signature_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_SIGNATURE_VALUE_H
+#define OXS_TOKEN_SIGNATURE_VALUE_H
+
+
+/**
+  * @file oxs_token_signature_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
+
+    /**
+    * Signature Value element
+    */
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_signature_value(const axutil_env_t *env,
+                                  axiom_node_t *sv_node);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_signature_value_element(const axutil_env_t *env,
+                                            axiom_node_t *parent,
+                                            axis2_char_t* signature_val
+                                           );
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_SIGNATURE_VALUE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_signed_info.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_signed_info.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_signed_info.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_signed_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_SIGNED_INFO_H
+#define OXS_TOKEN_SIGNED_INFO_H
+
+
+/**
+  * @file oxs_token_signed_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
+
+    /**
+    * SignedInfo element
+    */
+    AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+    oxs_token_build_signed_info_element(const axutil_env_t *env,
+                                        axiom_node_t *parent
+                                       );
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_SIGNED_INFO_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_transform.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_transform.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_transform.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_transform.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_TRANSFORM_H
+#define OXS_TOKEN_TRANSFORM_H
+
+
+/**
+  * @file oxs_token_transform.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:Transform element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_transform_element(const axutil_env_t *env,
+                                      axiom_node_t *parent,
+                                      axis2_char_t *algorithm
+                                     );
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_token_get_transform(const axutil_env_t *env, axiom_node_t *transform_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_TRANSFORM_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_transforms.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_transforms.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_transforms.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_transforms.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_TRANSFORMS_H
+#define OXS_TOKEN_TRANSFORMS_H
+
+
+/**
+  * @file oxs_token_signed_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
+
+    /**
+    * ds:Transforms element
+    */
+    AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+    oxs_token_build_transforms_element(const axutil_env_t *env,
+                                       axiom_node_t *parent
+                                      );
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_TRANSFORMS_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_x509_certificate.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_x509_certificate.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_x509_certificate.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_x509_certificate.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_X509_CERTIFICATE_H
+#define OXS_TOKEN_X509_CERTIFICATE_H
+
+
+/**
+  * @file oxs_token_x509_certificate.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:X509Certificate element
+    */
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_x509_certificate(const axutil_env_t *env,
+                                   axiom_node_t *sv_node);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_x509_certificate_element(const axutil_env_t *env,
+            axiom_node_t *parent,
+            axis2_char_t* cert_data
+                                            );
+
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_X509_CERTIFICATE_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_x509_data.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_x509_data.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_x509_data.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_x509_data.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,49 @@
+/*
+ * 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_X509_DATA_H
+#define OXS_TOKEN_X509_DATA_H
+
+
+/**
+  * @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
+
+    /**
+    * X509Data element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_x509_data_element(const axutil_env_t *env,
+                                      axiom_node_t *parent);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_X509_DATA_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_name.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_name.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_name.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_name.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_X509_ISSUER_NAME_H
+#define OXS_TOKEN_X509_ISSUER_NAME_H
+
+
+/**
+  * @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
+
+    /**
+    * X509IssuerName element
+    */
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_issuer_name(const axutil_env_t *env,
+                              axiom_node_t *issuer_name_node);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_issuer_name_element(const axutil_env_t *env,
+                                        axiom_node_t *parent,
+                                        axis2_char_t* value );
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_X509_ISSUER_NAME_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_serial.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_serial.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_serial.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_x509_issuer_serial.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,56 @@
+/*
+ * 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_X509_ISSUER_SERIAL_H
+#define OXS_TOKEN_X509_ISSUER_SERIAL_H
+
+
+/**
+  * @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
+
+    /**
+    * X509Data element
+    */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_x509_issuer_serial_with_data(const axutil_env_t *env,
+            axiom_node_t *parent,
+            axis2_char_t *issuer_name,
+            axis2_char_t *serial_number);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_x509_issuer_serial_element(const axutil_env_t *env,
+            axiom_node_t *parent);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_X509_ISSUER_SERIAL_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_token_x509_serial_number.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_token_x509_serial_number.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_token_x509_serial_number.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_token_x509_serial_number.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_X509_SERIAL_NUMBER_H
+#define OXS_TOKEN_X509_SERIAL_NUMBER_H
+
+
+/**
+  * @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
+
+    /**
+    * X509IssuerName element
+    */
+
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_token_get_serial_number(const axutil_env_t *env,
+                                axiom_node_t *serial_number_node);
+
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+    oxs_token_build_serial_number_element(const axutil_env_t *env,
+                                          axiom_node_t *parent,
+                                          axis2_char_t* value );
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TOKEN_X509_SERIAL_NUMBER_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_tokens.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_tokens.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_tokens.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_tokens.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,70 @@
+/*
+ * 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_TOKENS_H
+#define OXS_TOKENS_H
+
+#include <axutil_qname.h>
+#include <oxs_token_binary_security_token.h>
+#include <oxs_token_embedded.h>
+#include <oxs_token_reference_list.h>
+#include <oxs_token_transforms.h>
+#include <oxs_token_c14n_method.h>
+#include <oxs_token_encrypted_data.h>
+#include <oxs_token_security_token_reference.h>
+#include <oxs_token_x509_certificate.h>
+#include <oxs_token_cipher_data.h>
+#include <oxs_token_encrypted_key.h>
+#include <oxs_token_x509_data.h>
+#include <oxs_token_cipher_value.h>
+#include <oxs_token_encryption_method.h>
+#include <oxs_token_signature.h>
+#include <oxs_token_x509_issuer_name.h>
+#include <oxs_token_data_reference.h>
+#include <oxs_token_key_identifier.h>
+#include <oxs_token_signature_method.h>
+#include <oxs_token_x509_issuer_serial.h>
+#include <oxs_token_digest_method.h>
+#include <oxs_token_key_info.h>
+#include <oxs_token_signature_value.h>
+#include <oxs_token_x509_serial_number.h>
+#include <oxs_token_digest_value.h>
+#include <oxs_token_key_name.h>
+#include <oxs_token_signed_info.h>
+#include <oxs_token_ds_reference.h>
+#include <oxs_token_reference.h>
+#include <oxs_token_transform.h>
+
+
+
+
+/**
+* @file oxs_tokens.h
+* @brief includes all tokens of OMXMLSecurity.
+*/
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*OXS_TOKENS_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_transform.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_transform.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_transform.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_transform.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,116 @@
+/*
+ * 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_TRANSFORM_H
+#define OXS_TRANSFORM_H
+
+
+/**
+  * @file oxs_transform.h
+  * @brief The class representing a single step of transformation. 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+    /*The input or output data type*/
+    typedef enum  {
+        OXS_TRANSFORM_TYPE_UNKNOWN = 0,
+        OXS_TRANSFORM_TYPE_CHAR,
+        OXS_TRANSFORM_TYPE_NODE
+    } oxs_tr_dtype_t;
+
+
+    /*Function interface for any transform*/
+    typedef oxs_tr_dtype_t (AXIS2_CALL*
+                            oxs_transform_tr_func)(const axutil_env_t *env,
+                                                   void *input,
+                                                   oxs_tr_dtype_t input_dtype,
+                                                   void **output);
+
+    typedef struct oxs_transform_t oxs_transform_t;
+
+
+    /*Create function*/
+    AXIS2_EXTERN oxs_transform_t *AXIS2_CALL
+    oxs_transform_create(const axutil_env_t *env);
+
+    /*Free*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_transform_free(oxs_transform_t *ctx,
+                       const axutil_env_t *env);
+
+
+    /**********************Getter functions******************************************/
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_transform_get_id(
+        const oxs_transform_t *transform,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN oxs_tr_dtype_t AXIS2_CALL
+    oxs_transform_get_input_data_type(
+        const oxs_transform_t *transform,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN oxs_tr_dtype_t AXIS2_CALL
+    oxs_transform_get_output_data_type(
+        const oxs_transform_t *transform,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN oxs_transform_tr_func AXIS2_CALL
+    oxs_transform_get_transform_function(
+        const oxs_transform_t *transform,
+        const axutil_env_t *env);
+
+    /**********************Setter functions******************************************/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_transform_set_id(
+        oxs_transform_t *transform,
+        const axutil_env_t *env,
+        axis2_char_t *id);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_transform_set_input_data_type(
+        oxs_transform_t *transform,
+        const axutil_env_t *env,
+        oxs_tr_dtype_t input_data_type);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_transform_set_output_data_type(
+        oxs_transform_t *transform,
+        const axutil_env_t *env,
+        oxs_tr_dtype_t output_data_type);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_transform_set_transform_func(
+        oxs_transform_t *transform,
+        const axutil_env_t *env,
+        oxs_transform_tr_func transform_func);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TRANSFORM_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_transforms_factory.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_transforms_factory.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_transforms_factory.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_transforms_factory.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_TRANSFORMS_FACTORY_H
+#define OXS_TRANSFORMS_FACTORY_H
+
+
+/**
+  * @file oxs_transforms_factory.h
+  * @brief Produces transforms 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_transform.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    AXIS2_EXTERN oxs_transform_t *AXIS2_CALL
+    oxs_transforms_factory_produce_transform(const axutil_env_t *env,
+            axis2_char_t *id);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_TRANSFORMS_FACTORY_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_utility.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_utility.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_utility.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_utility.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,74 @@
+/*
+ * 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_UTILITY_H
+#define OXS_UTILITY_H
+
+
+/**
+  * @file oxs_utilty.h
+  * @brief The utility module for OMXMLSecurity 
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <oxs_asym_ctx.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+     * Generates an id for an element.
+     * Specially used in xml encryption and signature references.
+     * @param env pointer to environment struct
+     * @param prefix the prefix of the id. For ex: EncDataID-1u343yrcarwqe
+     * @return the generated id
+     **/
+    AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+    oxs_util_generate_id(const axutil_env_t *env,
+                         axis2_char_t *prefix);
+
+    /**
+     * Given the filename returns the format of the file.
+     * These formats are defined in asym_ctx.h
+     * @param env pointer to environment struct
+     * @param file_name the file name 
+     **/
+    AXIS2_EXTERN oxs_asym_ctx_format_t AXIS2_CALL
+    oxs_util_get_format_by_file_extension(const axutil_env_t *env,
+                                          axis2_char_t *file_name);
+
+
+    /**
+     * Given string and returns new lined removed string
+     * @param env pointer to environment struct
+     * @param input a pointer to the string which has \n s.
+     * return the newline removed buffer.
+     **/
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_util_get_newline_removed_string(const axutil_env_t *env,
+                                        axis2_char_t *input);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_UTILITY_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_x509_cert.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_x509_cert.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_x509_cert.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_x509_cert.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,280 @@
+/*
+ * 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_X509_CERT
+#define OXS_X509_CERT
+
+
+/**
+  * @file oxs_x509_cert.h
+  * @brief the OMXMLSecurity representation of an X509 certificate
+  */
+
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <openssl_pkey.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /** @defgroup oxs_x509_cert
+     * @ingroup 
+     * @{
+     */
+
+
+    typedef struct oxs_x509_cert_t oxs_x509_cert_t;
+
+    /**
+     * Create function of the X509 certificate 
+     * @param env pointer to environment struct
+     * @return created X509 certificate
+     **/
+    AXIS2_EXTERN oxs_x509_cert_t *AXIS2_CALL
+    oxs_x509_cert_create( const axutil_env_t *env);
+
+    /**
+     * Free function of the X509 certificate 
+     * @param x509_cert the X509 certificate to be freed
+     * @param env pointer to environment struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     **/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_free(oxs_x509_cert_t *x509_cert,
+                       const axutil_env_t *env);
+
+    /*Getters*/
+    /**
+     * Get the serial number of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the serial number of X509 certificate
+     */
+    AXIS2_EXTERN int AXIS2_CALL
+    oxs_x509_cert_get_serial_number(oxs_x509_cert_t *x509_cert,
+                                    const axutil_env_t *env);
+
+    /**
+     * Get the subject of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the subject of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_subject(oxs_x509_cert_t *x509_cert,
+                              const axutil_env_t *env);
+
+    /**
+     * Get the issuer of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the issuer of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_issuer(oxs_x509_cert_t *x509_cert,
+                             const axutil_env_t *env);
+
+    /**
+     * Get the key identifier of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the key identifier of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_key_identifier(oxs_x509_cert_t *x509_cert,
+                                     const axutil_env_t *env);
+
+    /**
+     * Get the finger print  of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the finger print of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_fingerprint(oxs_x509_cert_t *x509_cert,
+                                  const axutil_env_t *env);
+
+    /**
+     * Get the expiration date  of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the expiration date of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_date(oxs_x509_cert_t *x509_cert,
+                           const axutil_env_t *env);
+
+    /**
+     * Get the hash of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the hash of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_hash(oxs_x509_cert_t *x509_cert,
+                           const axutil_env_t *env);
+
+    /**
+     * Get the data of X509 Certificate
+     * This is the base64 encoded string in between the  --BEGIN CERTIFICATE- --END CERTIFICATE-- lines
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the data of X509 certificate
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    oxs_x509_cert_get_data(oxs_x509_cert_t *x509_cert,
+                           const axutil_env_t *env);
+
+    /**
+     * Get the public key of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @return the public key of X509 certificate
+     */
+    AXIS2_EXTERN openssl_pkey_t *AXIS2_CALL
+    oxs_x509_cert_get_public_key(oxs_x509_cert_t *x509_cert,
+                                 const axutil_env_t *env);
+
+    /*Setters*/
+    /**
+     * Set the serial number of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the serial number of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_serial_number(oxs_x509_cert_t *x509_cert,
+                                    const axutil_env_t *env,
+                                    int value);
+
+    /**
+     * Set the issuer of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the issuer of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_issuer(oxs_x509_cert_t *x509_cert,
+                             const axutil_env_t *env,
+                             axis2_char_t *value);
+
+    /**
+     * Set the key identifier of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the key identifier of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_key_identifier(oxs_x509_cert_t *x509_cert,
+                                     const axutil_env_t *env,
+                                     axis2_char_t *value);
+
+    /**
+     * Set the subject of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the subject of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_subject(oxs_x509_cert_t *x509_cert,
+                              const axutil_env_t *env,
+                              axis2_char_t *value);
+
+    /**
+     * Set the finger print of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the fingerprint of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_fingerprint(oxs_x509_cert_t *x509_cert,
+                                  const axutil_env_t *env,
+                                  axis2_char_t *value);
+
+    /**
+     * Set the expiration date of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the expiration date of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_date(oxs_x509_cert_t *x509_cert,
+                           const axutil_env_t *env,
+                           axis2_char_t *value);
+
+    /**
+     * Set the hash of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value   the hash of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_hash(oxs_x509_cert_t *x509_cert,
+                           const axutil_env_t *env,
+                           axis2_char_t *value);
+
+    /**
+     * Set the data of X509 Certificate. 
+     * This is the base64 encoded string in between the  --BEGIN CERTIFICATE- --END CERTIFICATE-- lines
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param value  the data of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_data(oxs_x509_cert_t *x509_cert,
+                           const axutil_env_t *env,
+                           axis2_char_t *value);
+
+    /**
+     * Set the public key of X509 Certificate
+     * @param x509_cert the X509 certificate
+     * @param env pointer to environment struct
+     * @param public_key public key of X509 Certificate
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_set_public_key(oxs_x509_cert_t *x509_cert,
+                                 const axutil_env_t *env,
+                                 openssl_pkey_t *public_key);
+    /**
+     * Copy contents of a certificate to another
+     * @param x509_cert the X509 certificate, the source
+     * @param env pointer to environment struct
+     * @param to, another x509 certificate, the target
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_x509_cert_copy_to(oxs_x509_cert_t *x509_cert,
+                          const axutil_env_t *env,
+                          oxs_x509_cert_t *to);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_X509_CERT */

Added: webservices/rampart/tags/c/0.90/include/oxs_xml_encryption.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_xml_encryption.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_xml_encryption.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_xml_encryption.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,137 @@
+/*
+ * 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_XML_ENCRYPTION_H
+#define OXS_XML_ENCRYPTION_H
+
+
+/**
+  * @file oxs_xml_encryption.h
+  * @brief Does the XML encryption 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>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+     * Encrypts a given node as specified in the @enc_ctx. 
+     * A reference is taken for the EncryptedData to place the encrypted data.
+     * @param env pointer to environment struct
+     * @param enc_ctx encryption context
+     * @param node the node tobe encrypted
+     * @param enc_type_node reference to the EncryptedData node
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_enc_encrypt_node(const axutil_env_t *env,
+                             oxs_ctx_t * enc_ctx,
+                             axiom_node_t *node,
+                             axiom_node_t **enc_type_node);
+
+    /**
+     * Decrypts a node as specified in the @enc_ctx.
+     * A reference is taken to assign the address of the decrypted node
+     * @param env pointer to environment struct
+     * @param enc_ctx encryption context
+     * @param enc_type_node the EncryptedData node which needs to be decrypted
+     * @param decrypted_node reference to the decrypted node
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_enc_decrypt_node(const axutil_env_t *env,
+                             oxs_ctx_t * enc_ctx,
+                             axiom_node_t *enc_type_node,
+                             axiom_node_t **decrypted_node);
+
+    /**
+     * Encrypts data or the content of the @content_buf as specified in the @enc_ctx.
+     * A reference is taken for the EncryptedData to place the encrypted data
+     * @param env pointer to environment struct
+     * @param enc_ctx encryption context
+     * @param content_buf the content to be encrypted. 
+     * @param enc_type_node reference to the EncryptedData node
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_enc_encrypt_data(const axutil_env_t *env,
+                             oxs_ctx_t * enc_ctx,
+                             oxs_buffer_t *content_buf,
+                             axiom_node_t **enc_type_node);
+
+    /**
+     * Decrypts @enc_type_node and places the data inside the @result_buf
+     * The name of the method is bit tricky as it doesn't exactly decrypts a data buffer.
+     * @param env pointer to environment struct
+     * @param enc_ctx encryption context
+     * @param enc_type_node the EncryptedData node which needs to be decrypted
+     * @param result_buf the buffer to keep the decrypted content
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_enc_decrypt_data(const axutil_env_t *env,
+                             oxs_ctx_t * enc_ctx,
+                             axiom_node_t *enc_type_node,
+                             oxs_buffer_t *result_buf);
+
+    /**
+     * Encrypts a key/data in asymmetric way as specified in @asym_ctx.
+     * This method is specifically written to support the key encryption in WS-Secruity
+     * @param env pointer to environment struct
+     * @param enc_ctx encryption context
+     * @param parent parent of the EncryptedKey node
+     * @param sym_key, the symmetric key that needs to be encrypted
+     * @param id_list the list of nodes that are encrypted by this particular key
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_enc_encrypt_key(const axutil_env_t *env,
+                            oxs_asym_ctx_t * asym_ctx,
+                            axiom_node_t *parent,
+                            oxs_key_t *sym_key,
+                            axutil_array_list_t *id_list);
+
+    /**
+     * Decrypts  a key/data in asymmetric way as specified in @asym_ctx.
+     * This method is specifically written to support the key decryption in WS-Secruity
+     * @param env pointer to environment struct
+     * @param enc_ctx encryption context
+     * @param parent parent of the EncryptedKey node
+     * @param encrypted_key_node the EncryptedKey node
+     * @param key, the key which holds the decrypted key data
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_enc_decrypt_key(const axutil_env_t *env,
+                            oxs_asym_ctx_t * asym_ctx,
+                            axiom_node_t *parent,
+                            axiom_node_t *encrypted_key_node,
+                            oxs_key_t *key);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_XML_ENCRYPTION_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_xml_key_info_builder.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_xml_key_info_builder.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_xml_key_info_builder.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_xml_key_info_builder.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,66 @@
+/*
+ * 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_XML_KEY_INFO_BUILDER_H
+#define OXS_XML_KEY_INFO_BUILDER_H
+
+
+/**
+  * @file oxs_xml_key_info_builder.h
+  * @brief Process elements available under ds:KeyInfo  
+  */
+
+#include <axis2_defines.h>
+#include <oxs_ctx.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    typedef enum{
+        OXS_KIBP_UNKNOWN = 0,
+        OXS_KIBP_X509DATA_X509CERTIFICATE,
+        OXS_KIBP_X509DATA_ISSUER_SERIAL,
+    }oxs_key_info_build_pattern_t;
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_info_build(const axutil_env_t *env,
+                           axiom_node_t *parent,
+                           oxs_x509_cert_t *cert,
+                           oxs_key_info_build_pattern_t pattern);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_info_build_x509_data_x509_certificate(const axutil_env_t *env,
+            axiom_node_t *parent,
+            oxs_x509_cert_t *cert);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_info_build_x509_data_issuer_serial(const axutil_env_t *env,
+            axiom_node_t *parent,
+            oxs_x509_cert_t *cert);
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_XML_KEY_INFO_BUILDER_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_xml_key_processor.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_xml_key_processor.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_xml_key_processor.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_xml_key_processor.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,74 @@
+/*
+ * 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_XML_KEY_PROCESSOR_H
+#define OXS_XML_KEY_PROCESSOR_H
+
+
+/**
+  * @file oxs_xml_key_processor.h
+  * @brief Process elements available under ds:KeyInfo  
+  */
+
+#include <axis2_defines.h>
+#include <oxs_ctx.h>
+#include <axutil_env.h>
+#include <axiom_node.h>
+#include <axiom_element.h>
+#include <axutil_qname.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    /*Process a ds:X509SKI element and populate a certificate */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_process_X509SKI(const axutil_env_t *env,
+                                axiom_node_t *X509SKI_node,
+                                oxs_x509_cert_t *cert);
+
+    /*Process a ds:X509SubjectName element and populate a  certificate*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_process_X509SubjectName(const axutil_env_t *env,
+                                        axiom_node_t *X509_subj_name_node,
+                                        oxs_x509_cert_t *cert);
+
+    /*Process a ds:X509IssuerSerial element and populate a certificate*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_process_X509IssuerSerial(const axutil_env_t *env,
+                                         axiom_node_t *X509_issuer_serial_node,
+                                         oxs_x509_cert_t *cert);
+
+    /*Process data in a ds:X509Certificate and returns a certificate*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_process_X509Certificate(const axutil_env_t *env,
+                                        axiom_node_t *X509_cert_node,
+                                        oxs_x509_cert_t *cert);
+
+    /*Higher level function ot process an ds:X509Data element*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_key_process_X509Data(const axutil_env_t *env,
+                                 axiom_node_t *X509_data_node,
+                                 oxs_x509_cert_t *cert);
+
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_XML_KEY_PROCESSOR_H */

Added: webservices/rampart/tags/c/0.90/include/oxs_xml_signature.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/oxs_xml_signature.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/oxs_xml_signature.h (added)
+++ webservices/rampart/tags/c/0.90/include/oxs_xml_signature.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,122 @@
+/*
+ * 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_XML_SIGNATURE_H
+#define OXS_XML_SIGNATURE_H
+
+
+/**
+  * @file oxs_xml_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>
+#include <oxs_sign_part.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    /**
+     * Sign according to the information available in the @sign_ctx. 
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @parent the node that the ds:Signature element should be attached.
+     * @sig_node a reference to the ds:Signature node
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_sig_sign(const axutil_env_t *env,
+                     oxs_sign_ctx_t *sign_ctx,
+                     axiom_node_t *parent,
+                     axiom_node_t **sig_node);
+
+    /**
+     * Verify a complete xml document
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @signature_node the ds:Signature node
+     * @scope_node the root node in which the referenced are found
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_sig_verify(const axutil_env_t *env,
+                       oxs_sign_ctx_t *sign_ctx,
+                       axiom_node_t *signature_node,
+                       axiom_node_t *scope_node);
+
+    /**
+     * Verify a single signature part @sign_part.
+     * Do transforms, Generate digest and compare with the digest in hand
+     * @env pointer to environment struct
+     * @sign_part the signature part
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_sig_verify_sign_part(const axutil_env_t *env,
+                                 oxs_sign_part_t *sign_part);
+
+    /**
+     * Verify all digests in signature parts of a single signature context @sign_ctx
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_sig_verify_digests(const axutil_env_t *env,
+                               oxs_sign_ctx_t *sign_ctx);
+
+
+    /**
+     * Process the ds:Reference node. Populate a signature part
+     * @env pointer to environment struct
+     * @sign_part the signature part
+     * @ref_node the ds:Reference node
+     * @scope_node the root node in which the referenced are found
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_sig_process_ref_node(const axutil_env_t *env,
+                                 oxs_sign_part_t *sign_part,
+                                 axiom_node_t *ref_node,
+                                 axiom_node_t *scope_node);
+
+    /**
+     * Process the ds:Signature node. Populate a signature context
+     * @env pointer to environment struct
+     * @sign_ctx the signature context
+     * @signature_node the ds:Signature node
+     * @scope_node the root node in which the referenced are found
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    oxs_xml_sig_process_signature_node(const axutil_env_t *env,
+                                       oxs_sign_ctx_t *sign_ctx,
+                                       axiom_node_t *signature_node,
+                                       axiom_node_t *scope_node);
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* OXS_XML_SIGNATURE_H */

Added: webservices/rampart/tags/c/0.90/include/rampart_authn_provider.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/rampart_authn_provider.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/rampart_authn_provider.h (added)
+++ webservices/rampart/tags/c/0.90/include/rampart_authn_provider.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,145 @@
+/*
+* 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 RAMPART_AUTHN_PROVIDER_H
+#define RAMPART_AUTHN_PROVIDER_H
+
+/**
+  * @file rampart_authn_provider.h
+  * @brief The authentication interface of rampart. Validates a username and password pair.
+  */
+
+#include <axis2_defines.h>
+#include <axutil_error.h>
+#include <axutil_env.h>
+#include <axutil_utils.h>
+#include <axis2_msg_ctx.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    enum rampart_authn_provider_status{
+        RAMPART_AUTHN_PROVIDER_DENIED = 0,
+        RAMPART_AUTHN_PROVIDER_GRANTED,
+        RAMPART_AUTHN_PROVIDER_FOUND,
+        RAMPART_AUTHN_PROVIDER_USER_FOUND,
+        RAMPART_AUTHN_PROVIDER_USER_NOT_FOUND,
+        RAMPART_AUTHN_PROVIDER_GENERAL_ERROR
+    } rampart_authn_provider_status;
+
+    typedef enum rampart_authn_provider_status rampart_authn_provider_status_t;
+
+    /**
+     * Struct to authenticate username/password pair
+     * @defgroup rampart_authn_provider rampart authn_provider
+     * @ingroup rampart_util
+     * @{
+     */
+
+    /**
+     * Type name for struct rampart_authn_provider_ops 
+     */
+    typedef struct rampart_authn_provider_ops rampart_authn_provider_ops_t;
+
+    /**
+     * Type name for struct rampart_authn_provider
+     */
+
+    typedef struct rampart_authn_provider rampart_authn_provider_t;
+
+    /**
+     */
+    struct rampart_authn_provider_ops
+    {
+
+
+        /**
+         * Check plain text passwords. If the UseranmeToken is in plain text this function will be called.
+         * @param authn_provider the authentication provider struct
+         * @param env pointer to environment struct
+         * @param msg_ctx message context
+         * @username the username
+         * @password the password in plain text
+         * @return the status of the check
+         */
+        rampart_authn_provider_status_t (AXIS2_CALL*
+                                         rampart_authn_provider_check_password)(
+                                             rampart_authn_provider_t *authn_provider,
+                                             const axutil_env_t* env,
+                                             axis2_msg_ctx_t *msg_ctx,
+                                             const axis2_char_t *username,
+                                             const axis2_char_t *password
+                                         );
+
+        /**
+         * Check digested passwords. If the UseranmeToken is in password digest form this function will be called.
+         * @param authn_provider the authentication provider struct
+         * @param env pointer to environment struct
+         * @param msg_ctx message context
+         * @username the username
+         * @nonce the noce or the random value of the username token
+         * @created the created value of the username token
+         * @digest the digest value of the SHA-1(password+created+nonce)
+         * @return the status of the check
+         */
+        rampart_authn_provider_status_t (AXIS2_CALL*
+                                         rampart_authn_provider_check_password_digest)(
+                                             rampart_authn_provider_t *authn_provider,
+                                             const axutil_env_t* env,
+                                             axis2_msg_ctx_t *msg_ctx,
+                                             const axis2_char_t *username,
+                                             const axis2_char_t *nonce,
+                                             const axis2_char_t *created,
+                                             const char *digest
+                                         );
+
+       /**
+        * The free function to free all resources allocated
+        * @param authn_provider the authentication provider struct
+        * @param env pointer to environment struct
+        *
+        */
+        axis2_status_t (AXIS2_CALL*
+                        free)(rampart_authn_provider_t *authn_provider,
+                              const axutil_env_t* env);
+
+    };
+
+    struct rampart_authn_provider
+    {
+        rampart_authn_provider_ops_t *ops;
+    };
+
+    /*************************** Function macros **********************************/
+    /*TODO write the implementation*/
+#define RAMPART_AUTHN_PROVIDER_FREE(authn_provider, env) \
+      ((authn_provider)->ops->free (authn_provider, env))
+
+#define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD(authn_provider, env, msg_ctx, username, password) \
+      ((authn_provider)->ops->rampart_authn_provider_check_password(authn_provider, env, msg_ctx, username, password))
+
+#define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD_DIGEST(authn_provider, env, msg_ctx, username, nonce, nonce_length, digest) \
+      ((authn_provider)->ops->rampart_authn_provider_check_password_digest(authn_provider, env, msg_ctx, username, nonce, nonce_length, digest))
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* RAMPART_AUTHN_PROVIDER_H */
+

Added: webservices/rampart/tags/c/0.90/include/rampart_callback.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/rampart_callback.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/rampart_callback.h (added)
+++ webservices/rampart/tags/c/0.90/include/rampart_callback.h Thu Sep  6 03:48:44 2007
@@ -0,0 +1,102 @@
+/*
+* 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 RAMPART_CALLBACK_H
+#define RAMPART_CALLBACK_H
+
+/**
+  * @file rampart_callack.h
+  * @brief The callback module for a password 
+  */
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+     * Struct to get password using callbacks
+     * @defgroup rampart_callback rampart callback
+     * @ingroup rampart_util
+     * @{
+     */
+
+    /**
+     * Type name for struct rampart_callback_ops 
+     */
+    typedef struct rampart_callback_ops rampart_callback_ops_t;
+
+    /**
+     * Type name for struct rampart_callback
+     */
+
+    typedef struct rampart_callback rampart_callback_t;
+
+    /**
+     * Only operation get_password is to get the password
+     * User should provide a function pointer to this
+     */
+    struct rampart_callback_ops
+    {
+        /**
+         * Retuens a password for the given username. 
+         * By providing a function to this function pointer 
+         * user can write custom password callback module
+         * @param callback rampart callback pointer
+         * @param env environment must not be null
+         * @param username The username of the password expected.
+         * @param param any parameter that is to be passed to the callback function.
+         * @return returns password if any. Otherwise NULL returns  
+         */
+        axis2_char_t *(AXIS2_CALL*
+                       callback_password)(rampart_callback_t *callback,
+                                          const axutil_env_t *env,
+                                          const axis2_char_t *username,
+                                          void *param);
+
+        /**
+         * Free function of the rampart callback
+         * @param callback rampart callback pointer
+         * @param env environment must not be null
+         * @return AXIS2_SUCCESS on success AXIS2_FAILURE otherwise
+         */
+        axis2_status_t (AXIS2_CALL*
+                        free)(rampart_callback_t *rcb,
+                              const axutil_env_t* env);
+
+    };
+
+    struct rampart_callback
+    {
+        rampart_callback_ops_t *ops;
+    };
+
+    /*************************** Function macros **********************************/
+#define RAMPART_CALLBACK_FREE(callback, env) \
+      ((callback)->ops->free (callback, env))
+
+#define RAMPART_CALLBACK_CALLBACK_PASSWORD(callback, env, username, param) \
+      ((callback)->ops->callback_password(callback, env, username, param))
+
+    /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* RAMPART_CALLBACK_H */
+

Added: webservices/rampart/tags/c/0.90/include/rampart_constants.h
URL: http://svn.apache.org/viewvc/webservices/rampart/tags/c/0.90/include/rampart_constants.h?rev=573215&view=auto
==============================================================================
--- webservices/rampart/tags/c/0.90/include/rampart_constants.h (added)
+++ webservices/rampart/tags/c/0.90/include/rampart_constants.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 RAMPART_CONSTANTS_H
+#define RAMPART_CONSTANTS_H
+
+/**
+  * @file rampart_constants.h
+  * @brief Holds constants for rampart
+  */
+
+#include <oxs_constants.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /*Default values*/
+#define RAMPART_DEFAULT_KT_ALGO OXS_DEFAULT_KT_ALGO_HREF
+#define RAMPART_STR_DEFAULT OXS_STR_DEFAULT
+
+    /* rampart element names*/
+#define RAMPART_SECURITY "Security"
+#define RAMPART_SECURITY_USERNAMETOKEN "UsernameToken"
+#define RAMPART_SECURITY_USERNAMETOKEN_USERNAME "Username"
+#define RAMPART_SECURITY_USERNAMETOKEN_PASSWORD "Password"
+#define RAMPART_SECURITY_USERNAMETOKEN_CREATED "Created"
+#define RAMPART_SECURITY_USERNAMETOKEN_NONCE "Nonce"
+#define RAMPART_SECURITY_USERNAMETOKEN_PASSWORD_ATTR_TYPE "Type"
+#define RAMPART_SECURITY_TIMESTAMP "Timestamp"
+#define RAMPART_SECURITY_TIMESTAMP_CREATED "Created"
+#define RAMPART_SECURITY_TIMESTAMP_EXPIRES "Expires"
+#define RAMPART_RAMPART "rampart"
+
+    /*Rampart URIs*/
+#define RAMPART_WSSE "wsse"
+#define RAMPART_WSSE_XMLNS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+#define RAMPART_WSU "wsu"
+#define RAMPART_WSU_XMLNS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+#define RAMPART_PASSWORD_DIGEST_URI "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"
+
+#define RAMPART_PASSWORD_TEXT_URI "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"
+
+
+#define RAMPART_INFLOW_SECURITY_POLICY              "InflowSecurityPolicy"
+#define RAMPART_OUTFLOW_SECURITY_POLICY             "OutflowSecurityPolicy"
+
+#define INFLOW_RAMPART_CONTEXT                      "InflowRampartContext"
+#define OUTFLOW_RAMPART_CONTEXT                     "OutflowRampartContext"
+
+#define IN_MESSAGE_SECURITY                          "InMessageSecurity"
+#define OUT_MESSAGE_SECURITY                         "OutMessageSEcurity"
+#define RAMPART_PASSWORD_TEXT                       "plainText"
+#define RAMPART_PASSWORD_DIGEST                     "Digest"
+
+
+    /************fault codes***************/
+#define RAMPART_FAULT_UNSUPPORTED_SECURITY_TOKEN    "wsse:UnsupportedSecurityToken"
+#define RAMPART_FAULT_UNSUPPORTED_ALGORITHM         "wsse:UnsupportedAlgorithm"
+#define RAMPART_FAULT_INVALID_SECURITY              "wsse:InvalidSecurity"
+#define RAMPART_FAULT_INVALID_SECURITY_TOKEN        "wsse:InvalidSecurityToken"
+#define RAMPART_FAULT_FAILED_AUTHENTICATION         "wsse:FailedAuthentication"
+#define RAMPART_FAULT_FAILED_CHECK                  "wsse:FailedCheck"
+#define RAMPART_FAULT_SECURITY_TOKEN_UNAVAILABLE    "wsse:SecurityTokenUnavailable"
+
+    /***********fault related strings*********/
+#define RAMPART_FAULT_IN_TIMESTAMP             "wsse:Timestamp"
+#define RAMPART_FAULT_IN_USERNAMETOKEN         "wsse:UsernameToken"
+#define RAMPART_FAULT_IN_ENCRYPTED_KEY         "xenc:EncryptedKey"
+#define RAMPART_FAULT_IN_ENCRYPTED_DATA        "xenc:EncryptedData"
+#define RAMPART_FAULT_IN_SIGNATURE             "ds:Signature"
+
+    /*Dynamically set values*/
+#define RAMPART_ACTION_PASSWORD "password"
+#define RAMPART_ACTION_ENC_USER_PASSWORD "encUserPassword"
+#define RAMPART_CALLBACK_SPECIFIC_PROPERTY "callbackSpecificProperty"
+
+    /*Security processed results*/
+#define RAMPART_SECURITY_PROCESSED_RESULTS "SecurityProcessedResults"
+#define RAMPART_SPR_UT_USERNAME "SPR_UT_username"
+#define RAMPART_SPR_UT_CREATED "SPR_UT_created"
+#define RAMPART_SPR_UT_NONCE "SPR_UT_nonce"
+#define RAMPART_SPR_UT_PASSWORD_TYPE "SPR_UT_passwordType"
+#define RAMPART_SPR_TS_CREATED "SPR_TS_created"
+#define RAMPART_SPR_TS_EXPIRES "SPR_TS_expires"
+#define RAMPART_SPR_UT_CHECKED "SPR_UT_Checked"
+#define RAMPART_SPR_TS_CHECKED "SPR_TS_Checked"
+#define RAMPART_SPR_ENC_CHECKED "SPR_ENC_Checked"
+
+#define RAMPART_YES "YES"
+#define RAMPART_NO "NO"
+
+#define RAMPART_STR_DIRECT_REFERENCE    OXS_STR_DIRECT_REFERENCE
+#define RAMPART_STR_KEY_IDENTIFIER      OXS_STR_KEY_IDENTIFIER
+#define RAMPART_STR_EMBEDDED            OXS_STR_EMBEDDED
+#define RAMPART_STR_ISSUER_SERIAL       OXS_STR_ISSUER_SERIAL
+#define RAMPART_STR_THUMB_PRINT         OXS_STR_THUMB_PRINT
+#define RAMPART_STR_EXTERNAL_URI        OXS_STR_EXTERNAL_URI
+#define RAMPART_STR_ENCRYPTED_KEY       OXS_STR_ENCRYPTED_KEY
+
+#define RAMPART_RD_DB_PROP "Rampart_RD_DB_Prop"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RAMPART_CONSTANTS_H*/