tstring Win32Certificate::getOrganizationName() { return getCertAttribute(szOID_ORGANIZATION_NAME); }
jobject __MIX_PREFIX_FUNC_PASTE(MIX_PREFIX_UPAPI_FUNC,getCertAttribute(JNIEnv* env, jobject javaThis, jstring str_cert_id)) { if(!str_cert_id) { setLastErrInfo(EStateErrorInvalidArg); return NULL; } certInfo info; getCertAttribute(&info, atoi((* env)->GetStringUTFChars(env, str_cert_id, 0))); /**//* 下面为获取到Java中对应的实例类中的变量*/ //获取Java中的实例类 jclass objectClass = (* env)->FindClass(env, CLASS_CERT_INFO); //获取类中每一个变量的定义 //名字 jfieldID CommonName = (* env)->GetFieldID(env, objectClass,"CommonName","Ljava/lang/String;"); jfieldID Subject = (* env)->GetFieldID(env, objectClass,"Subject","Ljava/lang/String;"); jfieldID Issuer = (* env)->GetFieldID(env, objectClass,"Issuer","Ljava/lang/String;"); jfieldID SerialNumber = (* env)->GetFieldID(env, objectClass,"SerialNumber","Ljava/lang/String;"); jfieldID ValidFrom = (* env)->GetFieldID(env, objectClass,"ValidFrom","Ljava/lang/String;"); jfieldID ValidTo = (* env)->GetFieldID(env, objectClass,"ValidTo","Ljava/lang/String;"); jfieldID Verify = (* env)->GetFieldID(env, objectClass,"Verify","Ljava/lang/String;"); jfieldID PublicKey = (* env)->GetFieldID(env,objectClass,"PublicKey","Ljava/lang/String;"); //序列号 jfieldID KeyUsage = (* env)->GetFieldID(env, objectClass,"KeyUsage","I"); //给每一个实例的变量付值 jobject joInfo = (* env)->AllocObject(env, objectClass); (* env)->SetObjectField(env, joInfo,CommonName,CharTojstring(env, info.CommonName)); (* env)->SetObjectField(env, joInfo,Subject,CharTojstring(env, info.Subject)); (* env)->SetObjectField(env, joInfo,Issuer,CharTojstring(env, info.Issuer)); (* env)->SetObjectField(env, joInfo,SerialNumber,CharTojstring(env, info.SerialNumber)); (* env)->SetObjectField(env, joInfo,ValidFrom,CharTojstring(env, info.ValidFrom)); (* env)->SetObjectField(env, joInfo,ValidTo,CharTojstring(env, info.ValidTo)); (* env)->SetObjectField(env, joInfo,Verify,CharTojstring(env, info.Verify)); (* env)->SetObjectField(env, joInfo,PublicKey,CharTojstring(env, info.PublicKey)); (* env)->SetIntField(env ,joInfo,KeyUsage,info.KeyUsage); return joInfo; }
tstring Win32Certificate::getSubjectName() { return getCertAttribute(szOID_COMMON_NAME); }