You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ka...@apache.org on 2007/03/12 09:39:42 UTC
svn commit: r517130 - in
/webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc: enc.c input.xml
Author: kaushalye
Date: Mon Mar 12 01:39:41 2007
New Revision: 517130
URL: http://svn.apache.org/viewvc?view=rev&rev=517130
Log:
Changing the encryption sample in OMXMLSec
Modified:
webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/enc.c
webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/input.xml
Modified: webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/enc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/enc.c?view=diff&rev=517130&r1=517129&r2=517130
==============================================================================
--- webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/enc.c (original)
+++ webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/enc.c Mon Mar 12 01:39:41 2007
@@ -35,8 +35,7 @@
AXIS2_EXTERN axiom_node_t* AXIS2_CALL
load_sample_xml(const axis2_env_t *env,
axiom_node_t* tmpl,
- axis2_char_t* filename
- )
+ axis2_char_t* filename)
{
axiom_document_t *doc = NULL;
@@ -66,7 +65,8 @@
return key;
}
-axis2_status_t decrypt(axis2_env_t *env, axis2_char_t *filename)
+axis2_status_t
+decrypt(axis2_env_t *env, axis2_char_t *filename)
{
oxs_ctx_t *ctx = NULL;
axiom_node_t *tmpl = NULL;
@@ -87,7 +87,7 @@
OXS_CTX_SET_KEY(ctx, env, key);
/*Get the EncryptedData node*/
- enc_data_node = AXIOM_NODE_GET_FIRST_CHILD(tmpl, env);
+ enc_data_node = axiom_node_get_first_element(tmpl, env);
temp_status = oxs_xml_enc_decrypt_node(env, ctx, enc_data_node, &decrypted_node);
if (temp_status){
@@ -102,10 +102,9 @@
return AXIS2_SUCCESS;
}
-int main(int argc, char *argv[])
+axis2_status_t
+encrypt(axis2_env_t *env, axis2_char_t *filename)
{
- axis2_env_t *env = NULL;
- axis2_char_t *filename = "input.xml";
oxs_ctx_t *ctx = NULL;
oxs_key_t *key = NULL;
axis2_status_t temp_status = AXIS2_FAILURE;
@@ -113,24 +112,9 @@
axis2_char_t *encrypted_result = NULL;
axis2_char_t *id = NULL;
FILE *outf;
-
- env = axis2_env_create_all("enc.log", AXIS2_LOG_LEVEL_TRACE);
- printf("--Testing started--------------------------------------------\n");
-
- if (argc > 1)
- filename = argv[1];
-
+
tmpl = load_sample_xml(env , tmpl, filename);
- if (tmpl)
- {
- printf("load_sample_xml SUCCESS\n");
- }
- else
- {
- printf("load_sample_xml FAILED");
- return -1;
- }
/*Create key*/
key = create_key(env);
@@ -142,31 +126,50 @@
OXS_CTX_SET_ENC_MTD_ALGORITHM(ctx, env, OXS_HREF_DES3_CBC);
/*Get the node to be encrypted*/
- enc_node = AXIOM_NODE_GET_FIRST_CHILD(tmpl, env);
+ enc_node = axiom_node_get_first_element(tmpl, env);
/*Create a reference to encrypted node*/
id = oxs_util_generate_id(env, OXS_ENCDATA_ID);
enc_data_node = oxs_token_build_encrypted_data_element(env, tmpl, OXS_TYPE_ENC_ELEMENT, id);
- /*Encrypt***************************************************/
temp_status = oxs_xml_enc_encrypt_node(env, ctx, enc_node, &enc_data_node);
- if (temp_status)
- {
+ if (temp_status){
printf("\noxs_enc_encrypt_template SUCCESS\n");
- }
- else
- {
+ }else{
printf("\noxs_enc_encrypt_template FAILURE\n");
}
encrypted_result = AXIOM_NODE_TO_STRING(tmpl, env) ;
- /*printf("Final template is\n %s ", encrypted_result);*/
outf = fopen("result.xml", "wb");
fwrite(encrypted_result, 1, AXIS2_STRLEN(encrypted_result), outf);
fclose(outf);
- /*Decrypt**********************************************/
- /*decrypt(env, "result.xml");*/
+ printf("Node encrypted successfully. Result is written to result.xml\n");
+ return temp_status;
+}
+
+int main(int argc, char *argv[])
+{
+ axis2_env_t *env = NULL;
+ axis2_char_t *filename = NULL;
+ axis2_char_t *operation = NULL;
+
+ env = axis2_env_create_all("enc.log", AXIS2_LOG_LEVEL_TRACE);
+
+ if (argc > 2){
+ filename = argv[1];
+ operation = argv[2];
+ }else{
+ printf("Usage ./enc inputfile operation[E/D]\n");
+ return -1;
+ }
+
+ if( 0 == axis2_strcmp(operation, "D")){
+ decrypt(env, filename);
+ }else{
+ encrypt(env, filename);
+ }
+
return 0;
}
Modified: webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/input.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/input.xml?view=diff&rev=517130&r1=517129&r2=517130
==============================================================================
--- webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/input.xml (original)
+++ webservices/axis2/trunk/c/rampart/samples/omxmlsec/xmlenc/input.xml Mon Mar 12 01:39:41 2007
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<Foo xmlns="urn:omxmlsec">
<Bar>
Sample text
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org