Exemplo n.º 1
0
static int32 auth8651bGeneralApiTestItem(uint32 mode, uint8 * input, uint32 pktLen, uint8 * key, uint32 keyLen) {
	MD5_CTX md5Context;
	SHA1_CTX sha1Context;

	if(rtl8651b_authEngine(mode, input, pktLen, key, keyLen, asicDigest) == FAILED)
		return FAILED;//When authentication engine cannot calculate digest, the testing is surely failed
	authSim(mode, input, pktLen, key, keyLen, simDigest);
	if(memcmp(simDigest, asicDigest, (mode&0x1)? RTL8651B_SHA1_DIGEST_LENGTH: RTL8651B_MD5_DIGEST_LENGTH) != 0) {
		switch(mode) {
			case HASH_MD5:
				MD5Init(&md5Context);
				MD5Update(&md5Context, input, pktLen);
				MD5Final(swDigest, &md5Context);
			break;
			case HASH_SHA1:
				SHA1Init(&sha1Context);
				SHA1Update(&sha1Context, input, pktLen);
				SHA1Final(swDigest, &sha1Context);
			break;
			case HMAC_MD5:
				HMACMD5(input, pktLen, key, keyLen, swDigest);
			break;
			case HMAC_SHA1:
				HMACSHA1(input, pktLen, key, keyLen, swDigest);
			break;
		}
		if(memcmp(simDigest, swDigest, (mode&0x1)? RTL8651B_SHA1_DIGEST_LENGTH: RTL8651B_MD5_DIGEST_LENGTH) != 0)
			displayDigestMismatch(authModeString[mode], input, pktLen, key, keyLen, "SW", swDigest, "SIM", simDigest, (mode&0x1)? RTL8651B_SHA1_DIGEST_LENGTH: RTL8651B_MD5_DIGEST_LENGTH);
		else	 {
			displayDigestMismatch(authModeString[mode], input, pktLen, key, keyLen, "SIM", simDigest, "ASIC", asicDigest, (mode&0x1)? RTL8651B_SHA1_DIGEST_LENGTH: RTL8651B_MD5_DIGEST_LENGTH);
			triggerGpio();
			//rtl8651b_authEngineData(mode, input, pktLen, key, keyLen);
		}
		return FAILED;
	}
	return SUCCESS;	
}
Exemplo n.º 2
0
void CommandDispatcher (PA_long32 pProcNum, PA_PluginParameters params)
{
	switch(pProcNum)
	{
        case kInitPlugin :
        case kServerInitPlugin :            
            OnStartup();
            break;
                        
// --- Common Crypto

		case 1 :
			PEM_From_P12(params);
			break;

		case 2 :
			Get_timestamp(params);
			break;

		case 3 :
			Get_timestring(params);
			break;

		case 4 :
			Get_unixtime(params);
			break;

		case 5 :
			RSASHA256(params);
			break;

		case 6 :
			HMACMD5(params);
			break;

		case 7 :
			HMACSHA1(params);
			break;

		case 8 :
			HMACSHA256(params);
			break;

		case 9 :
			HMACSHA384(params);
			break;

		case 10 :
			HMACSHA512(params);
			break;

		case 11 :
			SHA384(params);
			break;

		case 12 :
			SHA512(params);
			break;

		case 13 :
			MD5(params);
			break;

		case 14 :
			SHA1(params);
			break;

		case 15 :
			SHA256(params);
			break;

		case 16 :
			RSASHA1(params);
			break;

		case 17 :
			AES128(params);
			break;

		case 18 :
			AES192(params);
			break;

		case 19 :
			AES256(params);
			break;
			
		case 20 :
			RIPEMD160(params);
			break;
			
		case 21 :
			RSAVERIFYSHA1(params);
			break;
			
		case 22 :
			RSAVERIFYSHA256(params);
			break;
	}
}
void CommandDispatcher (int32_t pProcNum, sLONG_PTR *pResult, PackagePtr pParams)
{
	switch(pProcNum)
	{
		case kServerInitPlugin :			
		case kInitPlugin :
			curl_global_init(CURL_GLOBAL_ALL);
			break;
			
		case kServerDeinitPlugin :
		case kDeinitPlugin :			
			curl_global_cleanup();
			break;			
			// --- PKCS
			
		case 1 :
			PEM_From_P12(pResult, pParams);
			break;
			
			// --- MISC
			
		case 2 :
			PICTURE_GET_RAW_DATA(pResult, pParams);
			break;
			
		case 3 :
			STACK_Get_available_size(pResult, pParams);
			break;
			
		case 4 :
			PROCESS_GET_LIST(pResult, pParams);
			break;
			
		case 5 :
			PROCESS_Get_id(pResult, pParams);
			break;
			
		case 6 :
			SYSTEM_Get_timestamp(pResult, pParams);
			break;
			
		case 7 :
			SYSTEM_Get_timestring(pResult, pParams);
			break;
			
		case 8 :
			SYSTEM_Generate_UUID(pResult, pParams);
			break;
			
		case 9 :
			SYSTEM_Get_unixtime(pResult, pParams);
			break;
			
		case 10 :
			STRUCTURE_Import_definition(pResult, pParams);
			break;
			
		case 11 :
			VOLUME_Is_remote(pResult, pParams);
			break;
			
		case 12 :
			VOLUME_Is_ejectable(pResult, pParams);
			break;
			
		case 13 :
			PATH_Get_known_folder(pResult, pParams);
			break;
			
		case 14 :
			PATH_From_user_selection(pResult, pParams);
			break;
			
			// --- JSON
			
		case 15 :
			JSON_Strip_white_space(pResult, pParams);
			break;
			
		case 16 :
			JSON_Parse_text(pResult, pParams);
			break;
			
		case 17 :
			JSON_Export_to_text(pResult, pParams);
			break;
			
		case 18 :
			JSON_CLOSE(pResult, pParams);
			break;
			
		case 19 :
			JSON_New(pResult, pParams);
			break;
			
		case 20 :
			JSON_GET_BOOL_ARRAY(pResult, pParams);
			break;
			
		case 21 :
			JSON_GET_CHILD_NODES(pResult, pParams);
			break;
			
		case 22 :
			JSON_GET_LONG_ARRAY(pResult, pParams);
			break;
			
		case 23 :
			JSON_Get_child_by_name(pResult, pParams);
			break;
			
		case 24 :
			JSON_Get_child_by_position(pResult, pParams);
			break;
			
		case 25 :
			JSON_Get_comment(pResult, pParams);
			break;
			
		case 26 :
			JSON_GET_TEXT_ARRAY(pResult, pParams);
			break;
			
		case 27 :
			JSON_GET_REAL_ARRAY(pResult, pParams);
			break;
			
		case 28 :
			JSON_Get_bool(pResult, pParams);
			break;
			
		case 29 :
			JSON_Get_real(pResult, pParams);
			break;
			
		case 30 :
			JSON_Get_long(pResult, pParams);
			break;
			
		case 31 :
			JSON_Get_type(pResult, pParams);
			break;
			
		case 32 :
			JSON_Get_name(pResult, pParams);
			break;
			
		case 33 :
			JSON_Get_text(pResult, pParams);
			break;
			
		case 34 :
			JSON_DELETE_ITEM_BY_NAME(pResult, pParams);
			break;
			
		case 35 :
			JSON_DELETE_ITEM_BY_POSITION(pResult, pParams);
			break;
			
		case 36 :
			JSON_SET_TYPE(pResult, pParams);
			break;
			
		case 37 :
			JSON_SET_NULL(pResult, pParams);
			break;
			
		case 38 :
			JSON_SET_COMMENT(pResult, pParams);
			break;
			
		case 39 :
			JSON_SET_NAME(pResult, pParams);
			break;
			
		case 40 :
			JSON_SET_TEXT(pResult, pParams);
			break;
			
		case 41 :
			JSON_SET_LONG(pResult, pParams);
			break;
			
		case 42 :
			JSON_SET_REAL(pResult, pParams);
			break;
			
		case 43 :
			JSON_Append_bool_array(pResult, pParams);
			break;
			
		case 44 :
			JSON_Append_real_array(pResult, pParams);
			break;
			
		case 45 :
			JSON_Append_long_array(pResult, pParams);
			break;
			
		case 46 :
			JSON_Append_text_array(pResult, pParams);
			break;
			
		case 47 :
			JSON_Append_text(pResult, pParams);
			break;
			
		case 48 :
			JSON_Append_long(pResult, pParams);
			break;
			
		case 49 :
			JSON_Append_real(pResult, pParams);
			break;
			
		case 50 :
			JSON_Append_bool(pResult, pParams);
			break;
			
		case 51 :
			JSON_Append_node(pResult, pParams);
			break;
			
		case 52 :
			JSON_SET_BOOL(pResult, pParams);
			break;
			
		case 53 :
			JSON_CLEAR(pResult, pParams);
			break;
			
		case 54 :
			JSON_Append_array(pResult, pParams);
			break;
			
		case 55 :
			JSON_Append_array_element(pResult, pParams);
			break;
			
			// --- ZIP
			
		case 56 :
			Unzip(pResult, pParams);
			break;
			
		case 57 :
			Zip(pResult, pParams);
			break;
			
			// --- Common Crypto
			
		case 58 :
			RSASHA256(pResult, pParams);
			break;
			
		case 59 :
			HMACMD5(pResult, pParams);
			break;
			
		case 60 :
			HMACSHA1(pResult, pParams);
			break;
			
		case 61 :
			HMACSHA256(pResult, pParams);
			break;
			
		case 62 :
			HMACSHA384(pResult, pParams);
			break;
			
		case 63 :
			HMACSHA512(pResult, pParams);
			break;
			
		case 64 :
			SHA384(pResult, pParams);
			break;
			
		case 65 :
			SHA512(pResult, pParams);
			break;
			
		case 66 :
			MD5(pResult, pParams);
			break;
			
		case 67 :
			SHA1(pResult, pParams);
			break;
			
		case 68 :
			SHA256(pResult, pParams);
			break;
			
			// --- cURL
			
		case 69 :
			_cURL(pResult, pParams);
			break;
			
		case 70 :
			cURL_Escape_url(pResult, pParams);
			break;
			
		case 71 :
			cURL_Unescape_url(pResult, pParams);
			break;
			
		case 72 :
			cURL_Get_version(pResult, pParams);
			break;
			
		case 73 :
			cURL_Get_date(pResult, pParams);
			break;
		case 74 :
			RSASHA1(pResult, pParams);
			break;			
	}
}