[authsaml2] The java binging manages tabs of integer

This commit is contained in:
Mikaël Ates 2011-01-31 22:07:59 +01:00
parent 5d87f923d4
commit 286aaced3d
3 changed files with 46 additions and 34 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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<size; i++){
if (! get_array_element(env, jarr, i, &element)){
return 0;
}
jint_to_int(env,extractInt(env, element) ,&list[0][i]);
list[i] = (int) element;
}
}
return 1;
return list;
}
static jint