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