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