Exemple #1
0
long CA_Init(void)
{
	FILE * cafile;
	char   capath[256];

	sprintf(capath, "%s%s\\CaFile.data", ddbsdk.ddbsdk_path_main, DDBSDK_MAINPATH_NAME);
	//if((cafile = fopen(capath, "rb")) == NULL) {
	if((cafile = fopen("softcard.ca", "rb")) == NULL) {
		if (1 <= copyFile("\\NANDFlash\\softcard.ca", "\\Flash_Storage\\softcard.ca"))
		{
			printf("CA文件还原失败!\n");
			return -1;
		}
		if((cafile = fopen("softcard.ca", "rb")) == NULL) 
		{
			printf("CA文件无法打开!\n");
			return -1;
		}

	}

	printf("CA文件成功打开!\n");
	
	g_BufferForCAS = (BYTE *)malloc(FOR_CAS_DATA_BUFFER_SIZE);
	memset(g_BufferForCAS, 0, FOR_CAS_DATA_BUFFER_SIZE);
	fread(g_BufferForCAS, 1, FOR_CAS_DATA_BUFFER_SIZE, cafile);
	fclose(cafile);
	if(!DVTCASTB_Init())
	{
		printf("CA初始化失败!\n");
		printf("尝试还原CA文件\n");
		if (1 <= copyFile("\\NANDFlash\\softcard.ca", "\\Flash_Storage\\softcard.ca"))
		{
			printf("CA文件还原失败!\n");
			free(g_BufferForCAS);
			return -1;
		}
		if((cafile = fopen("softcard.ca", "rb")) == NULL) 
		{
			printf("CA文件无法打开!\n");
			free(g_BufferForCAS);
			return -1;
		}
		fread(g_BufferForCAS, 1, FOR_CAS_DATA_BUFFER_SIZE, cafile);
		fclose(cafile);
		if(!DVTCASTB_Init())
		{
			printf("CA初始化失败!\n");
			free(g_BufferForCAS);
			return -1;
		}
	}

	printf("CA初始化成功!\n");

	return 0;
}
Exemple #2
0
CDCA_BOOL CDCASTB_Init( CDCA_U8 byThreadPrior )
{
	dxreport("DVTCASTB_Init begin >>>\n");
	gStbCa.ignoreCAMsg = false;
	bool res=DVTCASTB_Init();
	DVTCASTB_AddDebugMsgSign(1);  // 打开debug 信息
	dxreport("DVTCASTB_Init end res:%d<<<\n", res);
	return res;
}