From 286aaced3d57a05abf5ee27c6bcb95e992c4eb51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Ates?= Date: Mon, 31 Jan 2011 22:07:59 +0100 Subject: [PATCH] [authsaml2] The java binging manages tabs of integer --- bindings/java/Myclass.java | 53 ++++++++++++++++++++++--------------- bindings/java/lang.py | 3 ++- bindings/java/wrapper_top.c | 24 ++++++++--------- 3 files changed, 46 insertions(+), 34 deletions(-) diff --git a/bindings/java/Myclass.java b/bindings/java/Myclass.java index 252dacc..70df4b1 100644 --- a/bindings/java/Myclass.java +++ b/bindings/java/Myclass.java @@ -51,40 +51,51 @@ class Myclass{ private static void test_2(){ System.out.println("\n\t############## TEST 2 ##############\n"); - System.out.println("QRG generation..."); - QRG qrg = new QRG(1024); - System.out.println("QRG generated"); - System.out.println("qrg.getp() : " + qrg.getp()); - System.out.println("qrg.getn() : " + qrg.getn()); - System.out.println("qrg.getbase() : " + qrg.getbase()); - QRG qrg2 = QRG.newLoad(qrg.getp(), qrg.getn(), qrg.getbase()); - //QRG qrg2 = new QRG(qrg.getp(), qrg.getn(), qrg.getbase()); - - System.out.println("Clsig server generation..."); + System.out.println("\nServer: clsig parameters generation..."); Clsig c = new Clsig(1024,256,600,0,0,0,10); c.generateParameters(); - System.out.println("Clsig server generated."); + System.out.println("Server: clsig parameters generated."); + System.out.println("\nProver: clsig parameters init on the prover side."); Clsig c2; c2 = Clsig.newLoadPublicParameters(c.getz(),c.gets(),10,c.getbases(),c.getlgQuantities(),c.getlgExponent(),c.getmodulus(),c.getlgSecParam(),c.getlgZkSecParam(),c.getlgClsigSecParam()); - //Clsig c2 = new Clsig(c.getz(),c.gets(),10,c.getbases(),c.getlgQuantities(),c.getlgExponent(),c.getmodulus(),c.getlgSecParam(),c.getlgZkSecParam(),c.getlgClsigSecParam()); + System.out.println("\nProver: build a commitment to include in the certificate."); String qa = CrypticJNI.char_to_bn("Kirk"); String qb = CrypticJNI.char_to_bn("Captain"); String[] tab_q = {qa, qb}; + System.out.println("Attributes encoding..."); + System.out.println("Kirk - " + tab_q[0]); + System.out.println("Captain - " + tab_q[1]); + + System.out.println("Init commitment store with bases: 1, 5"); CommitDataStore pdc = new CommitDataStore(); String[] tab_b = {(String)c2.getbases()[1],(String)c2.getbases()[5]}; - + System.out.println("Compute commitment"); c2.computeCommittedValue(pdc,tab_b,tab_q,2); -/*q1 = cryptic.charToBn("Mik") -q2 = cryptic.charToBn("Ates") -q3 = cryptic.charToBn("Clermont-Fd") -q4 = cryptic.intToBn(1982280100) -c.computeDlrepByIndex((q1,q2,q3,q4),(0,2,3,4),4) -c.signWithCommittedValue(pdc.dlrep) -c.verifySignatureNotRandomized() -c2.loadCertificateWithIndexWithCommittedValue(c.a,c.e,c.v,c.quantities,4,(qa,qb),2,pdc.dlrep,pdc.vprime,(0,2,3,4)) + System.out.println("\nServer: Attributes in certificate."); + String q1 = CrypticJNI.char_to_bn("Mik"); + String q2 = CrypticJNI.char_to_bn("Ates"); + String q3 = CrypticJNI.char_to_bn("Clermont-Fd"); + String q4 = CrypticJNI.int_to_bn(1982280100); + String[] tab_q2 = {q1, q2, q3, q4}; + System.out.println("Mik - " + tab_q2[0]); + System.out.println("Ates - " + tab_q2[1]); + System.out.println("Clermont-Fd - " + tab_q2[2]); + System.out.println("1982280100 - " + tab_q2[3]); + + int[] index = {0,2,3,4}; + System.out.println("\nServer: compute dlrep"); + System.out.println("Bases index: " + index[0] + index[1] + index[2] + index[3]); + c.computeDlrepByIndex(tab_q2, index, 4); + + System.out.println("\nServer: sign with the commitment"); + c.signWithCommittedValue(pdc.getdlrep()); + System.out.println("\nServer: verify signature"); + c.verifySignatureNotRandomized(); + +/*c2.loadCertificateWithIndexWithCommittedValue(c.a,c.e,c.v,c.quantities,4,(qa,qb),2,pdc.dlrep,pdc.vprime,(0,2,3,4)) c2.randomizeSignature() c2.verifySignatureRandomized() dlrep = c2.buildDlrepBeforeProving((1,),(2,),1) diff --git a/bindings/java/lang.py b/bindings/java/lang.py index b87a198..9b0cc4c 100644 --- a/bindings/java/lang.py +++ b/bindings/java/lang.py @@ -488,7 +488,8 @@ protected static native void destroy(long cptr); elif is_bn(type): return 'jstring_to_bignum(env, %s, (BIGNUM**)&%s);' % (right,left) elif is_tabint(type): - return 'set_list_of_int(env, &%s,%s);' % (left,right) +# return 'set_list_of_int(env, &%s,%s);' % (left,right) + return '%s = set_list_of_int(env, %s);' % (left,right) #################### elif is_glist(type): el_type = element_type(type) diff --git a/bindings/java/wrapper_top.c b/bindings/java/wrapper_top.c index 651c42b..84312cc 100644 --- a/bindings/java/wrapper_top.c +++ b/bindings/java/wrapper_top.c @@ -91,8 +91,9 @@ G_GNUC_UNUSED static int get_list_of_bn(JNIEnv *env, BIGNUM **list, jobjectArray #define get_hash_of_bignum(env,hash,jarr) get_hash(env,"java/lang/String",hash,(Converter)bignum_to_jstring, jarr) static int int_to_jint(JNIEnv *env, int i, jint *ji); -static int jint_to_int(JNIEnv *env, jint ji, int *i); -G_GNUC_UNUSED static int set_list_of_int(JNIEnv *env, int **list, jobjectArray jarr); +//static int jint_to_int(JNIEnv *env, jint ji, int *i); +//G_GNUC_UNUSED static int set_list_of_int(JNIEnv *env, int **list, jobjectArray jarr); +G_GNUC_UNUSED static int* set_list_of_int(JNIEnv *env, jobjectArray jarr); G_GNUC_UNUSED static int get_list_of_int(JNIEnv *env, int *list, jobjectArray *jarr); static jint extractInt(JNIEnv *env, jobject arg); #define add_to_list_of_int(env,list,obj) add_to_list(env,list,obj,(OutConverter)jint_to_int) @@ -237,34 +238,33 @@ get_list_of_int(JNIEnv *env, int *list, jobjectArray *jarr) { return 1; } -static int +/*static int jint_to_int(JNIEnv *env, jint ji, int *i) { return 1; -} +}*/ -static int -set_list_of_int(JNIEnv *env, int **list, jobjectArray jarr) { +static int* +set_list_of_int(JNIEnv *env, jobjectArray jarr) { jobject element = NULL; jsize size = 0; jsize i = 0; - + int* list; g_error_if_fail (list && env); if (jarr) { if (! get_array_size(env, jarr, &size)){ return 0; } list = NULL; - list = (int**) g_malloc0(sizeof(int**)); - list[0] = NULL; - list[0] = (int*) g_malloc0(size*sizeof(int*)); + list = NULL; + list = (int*) g_malloc0(size*sizeof(int*)); for (i=0; i