2 * Copyright (c) 2000-2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Flora License, Version 1.1 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include "drm-tizen-apps.h"
22 #include "drm-tizen-error.h"
23 #include "TADC_Core.h"
25 #include "DrmFileMgr.h"
27 #include "DTapps2Rights.h"
28 #include "drm_testutil.h"
29 #include "drm_testcore.h"
32 static int first_key = 0;
33 static int second_key = 0;
34 static int third_key = 0;
36 bool _write_logfile(const char *filename, char *buf, unsigned int len)
40 if ((fd = fopen(filename,"w+b")) == NULL)
45 fwrite(buf, 1, len,fd);
51 bool _read_logfile(const char *filename, char *buf, unsigned int *pLen)
56 if ((fd = fopen(filename,"r+b")) == NULL)
61 nReadLen = fread(buf, 1, *pLen,fd);
69 bool tc01_VerifyRoSignature_Positive_01(void)
71 printf("tc01_VerifyRoSignature_Positive_01() -------- Started! \n");
73 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.ro";
75 auto buf = _read_ro_file(pRo);
77 int nRet = TADC_VerifyROSignature(buf.data());
79 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
83 printf("tc01_VerifyRoSignature_Positive_01() finished! -------- success \n");
88 bool tc01_VerifyRoSignature_Positive_02(void)
90 printf("tc01_VerifyRoSignature_Positive_02() -------- Started! \n");
91 const char *pRo = TEST_DATA_DIR "/RO/8SPXfqc6iL-1.0.0.ro";
93 auto buf = _read_ro_file(pRo);
95 int nRet = TADC_VerifyROSignature(buf.data());
97 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
101 printf("tc01_VerifyRoSignature_Positive_02() finished! -------- success \n");
105 bool tc01_VerifyRoSignature_Positive_03(void)
107 printf("tc01_VerifyRoSignature_Positive_03() -------- Started! \n");
109 const char *pRo = TEST_DATA_DIR "/RO/FightGuiIF-1.0.0.ro";
111 auto buf = _read_ro_file(pRo);
113 int nRet = TADC_VerifyROSignature(buf.data());
116 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
120 printf("tc01_VerifyRoSignature_Positive_03() finished! -------- success \n");
124 bool tc02_VerifyRoSignature_Negative_Cert_01(void)
126 printf("tc02_VerifyRoSignature_Negative_Cert_01() -------- Started! \n");
128 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.cert_only_selfsigned.ro";
130 auto buf = _read_ro_file(pRo);
132 int nRet = TADC_VerifyROSignature(buf.data());
134 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
138 printf("tc02_VerifyRoSignature_Negative_Cert_01 finished! -------- success \n");
142 bool tc02_VerifyRoSignature_Negative_Cert_02(void)
144 printf("tc02_VerifyRoSignature_Negative_Cert_02() -------- Started! \n");
146 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.cert_chain_invalid.ro";
148 auto buf = _read_ro_file(pRo);
150 int nRet = TADC_VerifyROSignature(buf.data());
152 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
156 printf("tc02_VerifyRoSignature_Negative_Cert_02 finished! -------- success \n");
160 bool tc02_VerifyRoSignature_Negative_Cert_03(void)
162 printf("tc02_VerifyRoSignature_Negative_Cert_03() -------- Started! \n");
164 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.cert_invalid.ro";
166 auto buf = _read_ro_file(pRo);
168 int nRet = TADC_VerifyROSignature(buf.data());
170 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
174 printf("tc02_VerifyRoSignature_Negative_Cert_03 finished! -------- success \n");
178 bool tc03_VerifyRoSignature_Negative_Signature_01(void)
180 printf("tc03_VerifyRoSignature_Negative_Signature_01() -------- Started! \n");
182 const char *pRo = TEST_DATA_DIR "/RO/FightGuiIF-1.0.0.signature_invalid.ro";
184 auto buf = _read_ro_file(pRo);
186 int nRet = TADC_VerifyROSignature(buf.data());
188 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
192 printf("tc03_VerifyRoSignature_Negative_Signature_01() finished! -------- success \n");
197 bool tc03_VerifyRoSignature_Negative_Signature_02(void)
199 printf("tc03_VerifyRoSignature_Negative_Signature_02() -------- Started! \n");
201 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.signature_invalid.ro";
203 auto buf = _read_ro_file(pRo);
205 int nRet = TADC_VerifyROSignature(buf.data());
207 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
211 printf("tc03_VerifyRoSignature_Negative_Signature_01() finished! -------- success \n");
216 bool tc03_VerifyRoSignature_Negative_Signature_03(void)
218 printf("tc03_VerifyRoSignature_Negative_Signature_03() -------- Started! \n");
220 const char *pRo = TEST_DATA_DIR "/RO/8SPXfqc6iL-1.0.0.signature_invalid.ro";
222 auto buf = _read_ro_file(pRo);
224 int nRet = TADC_VerifyROSignature(buf.data());
226 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
230 printf("tc03_VerifyRoSignature_Negative_Signature_03() finished! -------- success \n");
235 bool tc04_isDrmFile_Positive_01(void)
237 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
239 printf("tc04_isDrmFile_Positive_01() -------- Started!\n");
241 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
242 if (nRet != TADC_SUCCESS) {
243 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
244 printf("%s file is not TADC file!\n", pDCF);
248 printf("tc04_isDrmFile_Positive_01() finished! -------- success \n");
253 bool tc04_isDrmFile_Positive_02(void)
255 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
257 printf("tc04_isDrmFile_Positive_02() -------- Started!\n");
259 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
260 if (nRet != TADC_SUCCESS) {
261 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
262 printf("%s file is not TADC file!\n", pDCF);
266 printf("tc04_isDrmFile_Positive_02() finished! -------- success \n");
271 bool tc04_isDrmFile_Positive_03(void)
273 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
275 printf("tc04_isDrmFile_Positive_03() -------- Started!\n");
277 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
278 if (nRet != TADC_SUCCESS) {
279 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
280 printf("%s file is not TADC file!\n", pDCF);
284 printf("tc04_isDrmFile_Positive_03() finished! -------- success \n");
289 bool tc05_isDrmFile_Negative_01(void)
291 const char *pApp = TEST_DATA_DIR "/DecryptedApp/38EIfBurLJ_dec.tpk";
293 printf("tc05_isDrmFile_Negative_01() -------- Started! \n");
295 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
296 if(nRet == TADC_SUCCESS) {
297 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n", pApp, nRet);
301 printf("tc05_isDrmFile_Negative_01 finished! -------- success \n");
306 bool tc05_isDrmFile_Negative_02(void)
308 const char *pApp = TEST_DATA_DIR "/DecryptedApp/8SPXfqc6iL_dec.tpk";
310 printf("tc05_isDrmFile_Negative_02() -------- Started! \n");
312 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
313 if(nRet == TADC_SUCCESS) {
314 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n", pApp, nRet);
318 printf("tc05_isDrmFile_Negative_02 finished! -------- success \n");
323 bool tc05_isDrmFile_Negative_03(void)
325 const char *pApp = TEST_DATA_DIR "/DecryptedApp/FightGuiIF_dec.tpk";
327 printf("tc05_isDrmFile_Negative_03() -------- Started! \n");
329 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
330 if(nRet == TADC_SUCCESS) {
331 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n", pApp, nRet);
335 printf("tc05_isDrmFile_Negative_03 finished! -------- success \n");
341 tc06_DrmFileHandlerPositive_01(void)
343 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
344 DrmFileHandler* pDcfHandler = NULL;
345 unsigned char* pBufCEK = NULL;
346 unsigned char pCEK[CEK_SIZE + 1] = {0xB1, 0x03, 0x4F, 0x30, 0xC8, 0x52, 0x45, 0x7E, 0x9D, 0xA2, 0x52, 0x25, 0x2E, 0xA9, 0x9B, 0x2B, 0x25, 0x36, 0xF1, 0x8D, 0x04, 0xD1, 0x4C, 0xE3, 0x96, 0x81, 0xD9, 0x98, 0xBB, 0xD7, 0x7E, 0xCA, 0x00};
347 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
349 long encryptionLevel = 17;
350 long long encryptionRange = 10;
351 long long plainTextSize = 1630724;
352 long long originalEndOffset = 1631570;
355 printf("tc06_DrmFileHandlerPositive_01() -------- Started! \n");
357 pBufCEK = (unsigned char*)malloc(CEK_SIZE + 1);
358 memset(pBufCEK, 0x00, CEK_SIZE + 1);
360 pDcfHandler = new DrmFileHandler();
361 if (pDcfHandler == NULL)
366 nRet = pDcfHandler->Construct(pDCF);
369 printf("tc06_DrmFileHandlerPositive_01 - Construct() failed : %s, %x\n", pDCF, nRet);
373 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
375 printf("tc06_DrmFileHandlerPositive_01 - CEK Comparison failed : %s\n", pDCF);
379 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
381 printf("tc06_DrmFileHandlerPositive_01 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
385 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
387 printf("tc06_DrmFileHandlerPositive_01 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
391 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
393 printf("tc06_DrmFileHandlerPositive_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
397 if (pDcfHandler->m_encryptionRange != encryptionRange)
399 printf("tc06_DrmFileHandlerPositive_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
403 if (pDcfHandler->m_plaintextSize != plainTextSize)
405 printf("tc06_DrmFileHandlerPositive_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
409 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
411 printf("tc06_DrmFileHandlerPositive_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
415 if (pDcfHandler != NULL)
425 printf("tc06_DrmFileHandlerPositive_01 finished! -------- success \n");
430 if (pDcfHandler != NULL)
444 tc06_DrmFileHandlerPositive_02(void)
446 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
447 unsigned char* pBufCEK = NULL;
448 DrmFileHandler* pDcfHandler = NULL;
449 unsigned char pCEK[CEK_SIZE + 1] = {0xBB, 0x87, 0x5D, 0xA8, 0x2C, 0xC4, 0x47, 0x81, 0x90, 0xBA, 0xD9, 0xB0, 0x0C, 0xD2, 0x94, 0xE9, 0x19, 0x0F, 0x24, 0x62, 0x5B, 0x0B, 0x49, 0x7A, 0xAE, 0x8E, 0x1D, 0x88, 0x7F, 0xF9, 0x96, 0xDB, 0x00};
450 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
452 long encryptionLevel = 17;
453 long long encryptionRange = 10;
454 long long plainTextSize = 705072;
455 long long originalEndOffset = 705914;
458 printf("tc06_DrmFileHandlerPositive_02() -------- Started! \n");
460 pBufCEK = (unsigned char*)malloc(CEK_SIZE + 1);
461 memset(pBufCEK, 0x00, CEK_SIZE + 1);
463 pDcfHandler = new DrmFileHandler();
464 if (pDcfHandler == NULL)
469 nRet = pDcfHandler->Construct(pDCF);
472 printf("tc06_DrmFileHandlerPositive_02 - Construct() failed : %s, %x\n", pDCF, nRet);
476 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
478 printf("tc06_DrmFileHandlerPositive_02 - CEK Comparison failed : %s\n", pDCF);
482 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
484 printf("tc06_DrmFileHandlerPositive_02 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
488 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
490 printf("tc06_DrmFileHandlerPositive_02 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
494 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
496 printf("tc06_DrmFileHandlerPositive_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
500 if (pDcfHandler->m_encryptionRange != encryptionRange)
502 printf("tc06_DrmFileHandlerPositive_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
506 if (pDcfHandler->m_plaintextSize != plainTextSize)
508 printf("tc06_DrmFileHandlerPositive_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
512 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
514 printf("tc06_DrmFileHandlerPositive_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
518 if (pDcfHandler != NULL)
528 printf("tc06_DrmFileHandlerPositive_02 finished! -------- success \n");
533 if (pDcfHandler != NULL)
547 tc06_DrmFileHandlerPositive_03(void)
549 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
550 unsigned char* pBufCEK = NULL;
551 DrmFileHandler* pDcfHandler = NULL;
552 unsigned char pCEK[CEK_SIZE + 1] = {0x34, 0x5A, 0x94, 0x28, 0xC3, 0xF4, 0x44, 0x3F, 0x86, 0x6D, 0xCF, 0xC5, 0x78, 0x1F, 0x23, 0xCE, 0xE9, 0x9B, 0xC4, 0x45, 0xA3, 0x30, 0x47, 0x1E, 0xB4, 0xE0, 0xAF, 0x96, 0x0F, 0xDE, 0xA9, 0xB4, 0x00};
553 unsigned char pCID[32] = "FightGuiIF-1.0.0";
555 long encryptionLevel = 17;
556 long long encryptionRange = 10;
557 long long plainTextSize = 45193789;
558 long long originalEndOffset = 45194636;
561 printf("tc06_DrmFileHandlerPositive_03() -------- Started! \n");
563 pBufCEK = (unsigned char*)malloc(CEK_SIZE + 1);
564 memset(pBufCEK, 0x00, CEK_SIZE + 1);
566 pDcfHandler = new DrmFileHandler();
567 if (pDcfHandler == NULL)
572 nRet = pDcfHandler->Construct(pDCF);
575 printf("tc06_DrmFileHandlerPositive_03 - Construct() failed : %s, %x\n", pDCF, nRet);
579 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
581 printf("tc06_DrmFileHandlerPositive_03 - CEK Comparison failed : %s\n", pDCF);
585 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
587 printf("tc06_DrmFileHandlerPositive_03 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
591 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
593 printf("tc06_DrmFileHandlerPositive_03 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
597 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
599 printf("tc06_DrmFileHandlerPositive_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
603 if (pDcfHandler->m_encryptionRange != encryptionRange)
605 printf("tc06_DrmFileHandlerPositive_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
609 if (pDcfHandler->m_plaintextSize != plainTextSize)
611 printf("tc06_DrmFileHandlerPositive_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
615 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
617 printf("tc06_DrmFileHandlerPositive_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
621 if (pDcfHandler != NULL)
631 printf("tc06_DrmFileHandlerPositive_03 finished! -------- success \n");
636 if (pDcfHandler != NULL)
649 bool tc07_DrmFileMgrPositive_01(void)
651 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
652 int nRet = TADC_SUCCESS;
654 DrmFileMgr* pDrmFileMgr = NULL;
655 DrmFileHandler *pDcfHandler = NULL;
657 unsigned char pCEK[CEK_SIZE + 1] = {0xB1, 0x03, 0x4F, 0x30, 0xC8, 0x52, 0x45, 0x7E, 0x9D, 0xA2, 0x52, 0x25, 0x2E, 0xA9, 0x9B, 0x2B, 0x25, 0x36, 0xF1, 0x8D, 0x04, 0xD1, 0x4C, 0xE3, 0x96, 0x81, 0xD9, 0x98, 0xBB, 0xD7, 0x7E, 0xCA, 0x00};
659 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
660 long encryptionLevel = 17;
661 long long encryptionRange = 10;
662 long long plainTextSize = 1630724;
663 long long originalEndOffset = 1631570;
665 printf("tc07_DrmFileMgrPositive_01() -------- Started! \n");
667 pDrmFileMgr = DrmFileMgr::GetInstance();
669 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &first_key);
670 if (nRet != TADC_SUCCESS)
672 printf("tc07_DrmFileMgrPositive_01 - OpenFileHandler() failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
676 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
677 if (nRet != TADC_SUCCESS)
679 printf("tc07_DrmFileMgrPositive_01 - GetFileHandler() failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
683 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
685 printf("tc07_DrmFileMgrPositive_01 - CEK Comparison failed : %s\n", pDCF);
689 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
691 printf("tc07_DrmFileMgrPositive_01 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
695 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
697 printf("tc07_DrmFileMgrPositive_01 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
701 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
703 printf("tc07_DrmFileMgrPositive_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
707 if (pDcfHandler->m_encryptionRange != encryptionRange)
709 printf("tc07_DrmFileMgrPositive_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
713 if (pDcfHandler->m_plaintextSize != plainTextSize)
715 printf("tc07_DrmFileMgrPositive_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
719 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
721 printf("tc07_DrmFileMgrPositive_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
725 printf("tc07_DrmFileMgrPositive_01 finished! -------- success \n");
734 bool tc07_DrmFileMgrPositive_02(void)
736 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
737 int nRet = TADC_SUCCESS;
739 DrmFileMgr* pDrmFileMgr = NULL;
740 DrmFileHandler *pDcfHandler = NULL;
742 unsigned char pCEK[CEK_SIZE + 1] = {0xBB, 0x87, 0x5D, 0xA8, 0x2C, 0xC4, 0x47, 0x81, 0x90, 0xBA, 0xD9, 0xB0, 0x0C, 0xD2, 0x94, 0xE9, 0x19, 0x0F, 0x24, 0x62, 0x5B, 0x0B, 0x49, 0x7A, 0xAE, 0x8E, 0x1D, 0x88, 0x7F, 0xF9, 0x96, 0xDB, 0x00};
743 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
745 long encryptionLevel = 17;
746 long long encryptionRange = 10;
747 long long plainTextSize = 705072;
748 long long originalEndOffset = 705914;
750 printf("tc07_DrmFileMgrPositive_02() -------- Started! \n");
752 pDrmFileMgr = DrmFileMgr::GetInstance();
754 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &second_key);
755 if (nRet != TADC_SUCCESS)
757 printf("tc07_DrmFileMgrPositive_02 - OpenFileHandler() failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
761 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
762 if (nRet != TADC_SUCCESS)
764 printf("tc07_DrmFileMgrPositive_02 - GetFileHandler() failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
768 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
770 printf("tc07_DrmFileMgrPositive_02 - CEK Comparison failed : %s\n", pDCF);
774 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
776 printf("tc07_DrmFileMgrPositive_02 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
780 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
782 printf("tc07_DrmFileMgrPositive_02 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
786 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
788 printf("tc07_DrmFileMgrPositive_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
792 if (pDcfHandler->m_encryptionRange != encryptionRange)
794 printf("tc07_DrmFileMgrPositive_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
798 if (pDcfHandler->m_plaintextSize != plainTextSize)
800 printf("tc07_DrmFileMgrPositive_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
804 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
806 printf("tc07_DrmFileMgrPositive_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
810 printf("tc07_DrmFileMgrPositive_02 finished! -------- success \n");
819 bool tc07_DrmFileMgrPositive_03(void)
821 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
822 int nRet = TADC_SUCCESS;
824 DrmFileMgr* pDrmFileMgr = NULL;
825 DrmFileHandler *pDcfHandler = NULL;
827 unsigned char pCEK[CEK_SIZE + 1] = {0x34, 0x5A, 0x94, 0x28, 0xC3, 0xF4, 0x44, 0x3F, 0x86, 0x6D, 0xCF, 0xC5, 0x78, 0x1F, 0x23, 0xCE, 0xE9, 0x9B, 0xC4, 0x45, 0xA3, 0x30, 0x47, 0x1E, 0xB4, 0xE0, 0xAF, 0x96, 0x0F, 0xDE, 0xA9, 0xB4, 0x00};
829 unsigned char pCID[32] = "FightGuiIF-1.0.0";
831 long encryptionLevel = 17;
832 long long encryptionRange = 10;
833 long long plainTextSize = 45193789;
834 long long originalEndOffset = 45194636;
836 printf("tc07_DrmFileMgrPositive_03() -------- Started! \n");
838 pDrmFileMgr = DrmFileMgr::GetInstance();
840 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &third_key);
841 if (nRet != TADC_SUCCESS)
843 printf("tc07_DrmFileMgrPositive_03 - OpenFileHandler() failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
847 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
848 if (nRet != TADC_SUCCESS)
850 printf("tc07_DrmFileMgrPositive_03 - GetFileHandler() failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
854 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
856 printf("tc07_DrmFileMgrPositive_03 - CEK Comparison failed : %s\n", pDCF);
860 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
862 printf("tc07_DrmFileMgrPositive_03 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
866 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
868 printf("tc07_DrmFileMgrPositive_03 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
872 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
874 printf("tc07_DrmFileMgrPositive_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
878 if (pDcfHandler->m_encryptionRange != encryptionRange)
880 printf("tc07_DrmFileMgrPositive_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
884 if (pDcfHandler->m_plaintextSize != plainTextSize)
886 printf("tc07_DrmFileMgrPositive_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
890 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
892 printf("tc07_DrmFileMgrPositive_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
896 printf("tc07_DrmFileMgrPositive_03 finished! -------- success \n");
905 bool tc08_DrmFileMgrPositive_GetFileHandler_01(void)
907 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
908 int nRet = TADC_SUCCESS;
910 DrmFileMgr* pDrmFileMgr = NULL;
911 DrmFileHandler *pDcfHandler = NULL;
913 unsigned char pCEK[CEK_SIZE + 1] = {0xB1, 0x03, 0x4F, 0x30, 0xC8, 0x52, 0x45, 0x7E, 0x9D, 0xA2, 0x52, 0x25, 0x2E, 0xA9, 0x9B, 0x2B, 0x25, 0x36, 0xF1, 0x8D, 0x04, 0xD1, 0x4C, 0xE3, 0x96, 0x81, 0xD9, 0x98, 0xBB, 0xD7, 0x7E, 0xCA, 0x00};
915 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
917 long encryptionLevel = 17;
918 long long encryptionRange = 10;
919 long long plainTextSize = 1630724;
920 long long originalEndOffset = 1631570;
922 printf("tc08_DrmFileMgrPositive_GetFileHandler_01() -------- Started! \n");
924 pDrmFileMgr = DrmFileMgr::GetInstance();
926 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
927 if (nRet != TADC_SUCCESS)
929 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
933 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
935 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - CEK Comparison failed : %s\n", pDCF);
939 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
941 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
945 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
947 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
951 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
953 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
957 if (pDcfHandler->m_encryptionRange != encryptionRange)
959 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
963 if (pDcfHandler->m_plaintextSize != plainTextSize)
965 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
969 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
971 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
975 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 finished! -------- success \n");
984 bool tc08_DrmFileMgrPositive_GetFileHandler_02(void)
986 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
987 int nRet = TADC_SUCCESS;
989 DrmFileMgr* pDrmFileMgr = NULL;
990 DrmFileHandler *pDcfHandler = NULL;
992 unsigned char pCEK[CEK_SIZE + 1] = {0xBB, 0x87, 0x5D, 0xA8, 0x2C, 0xC4, 0x47, 0x81, 0x90, 0xBA, 0xD9, 0xB0, 0x0C, 0xD2, 0x94, 0xE9, 0x19, 0x0F, 0x24, 0x62, 0x5B, 0x0B, 0x49, 0x7A, 0xAE, 0x8E, 0x1D, 0x88, 0x7F, 0xF9, 0x96, 0xDB, 0x00};
994 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
996 long encryptionLevel = 17;
997 long long encryptionRange = 10;
998 long long plainTextSize = 705072;
999 long long originalEndOffset = 705914;
1001 printf("tc08_DrmFileMgrPositive_GetFileHandler_02() -------- Started! \n");
1003 pDrmFileMgr = DrmFileMgr::GetInstance();
1005 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1006 if (nRet != TADC_SUCCESS)
1008 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
1012 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
1014 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - CEK Comparison failed : %s\n", pDCF);
1018 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
1020 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
1024 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
1026 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
1030 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
1032 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
1036 if (pDcfHandler->m_encryptionRange != encryptionRange)
1038 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
1042 if (pDcfHandler->m_plaintextSize != plainTextSize)
1044 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
1048 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1050 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1054 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 finished! -------- success \n");
1063 bool tc08_DrmFileMgrPositive_GetFileHandler_03(void)
1065 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
1066 int nRet = TADC_SUCCESS;
1068 DrmFileMgr* pDrmFileMgr = NULL;
1069 DrmFileHandler *pDcfHandler = NULL;
1071 unsigned char pCEK[CEK_SIZE + 1] = {0x34, 0x5A, 0x94, 0x28, 0xC3, 0xF4, 0x44, 0x3F, 0x86, 0x6D, 0xCF, 0xC5, 0x78, 0x1F, 0x23, 0xCE, 0xE9, 0x9B, 0xC4, 0x45, 0xA3, 0x30, 0x47, 0x1E, 0xB4, 0xE0, 0xAF, 0x96, 0x0F, 0xDE, 0xA9, 0xB4, 0x00};
1073 unsigned char pCID[32] = "FightGuiIF-1.0.0";
1075 long encryptionLevel = 17;
1076 long long encryptionRange = 10;
1077 long long plainTextSize = 45193789;
1078 long long originalEndOffset = 45194636;
1080 printf("tc08_DrmFileMgrPositive_GetFileHandler_03() -------- Started! \n");
1082 pDrmFileMgr = DrmFileMgr::GetInstance();
1084 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1085 if (nRet != TADC_SUCCESS)
1087 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
1091 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
1093 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - CEK Comparison failed : %s\n", pDCF);
1097 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
1099 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
1103 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
1105 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
1109 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
1111 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
1115 if (pDcfHandler->m_encryptionRange != encryptionRange)
1117 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
1121 if (pDcfHandler->m_plaintextSize != plainTextSize)
1123 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
1127 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1129 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1133 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 finished! -------- success \n");
1142 bool tc09_DrmFileMgrPositive_FileAPI_01(void)
1144 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
1145 int nRet = TADC_SUCCESS;
1147 DrmFileMgr* pDrmFileMgr = NULL;
1148 DrmFileHandler *pDcfHandler = NULL;
1150 long long originalEndOffset = 1631570;
1151 long long DrmCurOffset = 0;
1152 long long OriginCurOffset = 846;
1155 printf("tc09_DrmFileMgrPositive_FileAPI_01() -------- Started! \n");
1157 pDrmFileMgr = DrmFileMgr::GetInstance();
1159 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1160 if (nRet != TADC_SUCCESS)
1162 printf("tc09_DrmFileMgrPositive_FileAPI_01 failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
1166 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1168 printf("tc09_DrmFileMgrPositive_FileAPI_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1172 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset)
1174 printf("tc09_DrmFileMgrPositive_FileAPI_01 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n", OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1178 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1180 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1181 if (nRet != TADC_SUCCESS)
1183 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n", first_key, pDCF, i, nRet);
1187 DrmCurOffset = pDcfHandler->DrmTell();
1188 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1190 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_SET, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1194 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1196 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1200 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1202 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1203 if (nRet != TADC_SUCCESS)
1205 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1209 DrmCurOffset = pDcfHandler->DrmTell();
1210 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1212 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1216 if (DrmCurOffset != 0)
1218 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1222 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1224 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1225 if (nRet != TADC_SUCCESS)
1227 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1231 DrmCurOffset = pDcfHandler->DrmTell();
1232 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1234 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1238 if (DrmCurOffset != 0)
1240 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1244 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1246 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1247 if (nRet != TADC_SUCCESS)
1249 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1253 DrmCurOffset = pDcfHandler->DrmTell();
1254 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1256 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1260 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1262 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1266 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1268 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1269 if (nRet != TADC_SUCCESS)
1271 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1275 DrmCurOffset = pDcfHandler->DrmTell();
1276 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1278 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1282 if (DrmCurOffset != 0)
1284 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1288 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1290 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1291 if (nRet != TADC_SUCCESS)
1293 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1297 DrmCurOffset = pDcfHandler->DrmTell();
1298 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1300 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1304 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1306 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1310 printf("tc09_DrmFileMgrPositive_FileAPI_01 finished! -------- success \n");
1318 bool tc09_DrmFileMgrPositive_FileAPI_02(void)
1320 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
1321 int nRet = TADC_SUCCESS;
1323 DrmFileMgr* pDrmFileMgr = NULL;
1324 DrmFileHandler *pDcfHandler = NULL;
1326 long long originalEndOffset = 705914;
1327 long long DrmCurOffset = 0;
1328 long long OriginCurOffset = 842;
1331 printf("tc09_DrmFileMgrPositive_FileAPI_02() -------- Started! \n");
1333 pDrmFileMgr = DrmFileMgr::GetInstance();
1335 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1336 if (nRet != TADC_SUCCESS)
1338 printf("tc09_DrmFileMgrPositive_FileAPI_02 failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
1342 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1344 printf("tc09_DrmFileMgrPositive_FileAPI_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1348 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset)
1350 printf("tc09_DrmFileMgrPositive_FileAPI_02 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n", OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1354 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1356 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1357 if (nRet != TADC_SUCCESS)
1359 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n", second_key, pDCF, i, nRet);
1363 DrmCurOffset = pDcfHandler->DrmTell();
1364 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1366 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_SET, forward : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1370 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1372 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1376 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1378 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1379 if (nRet != TADC_SUCCESS)
1381 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1385 DrmCurOffset = pDcfHandler->DrmTell();
1386 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1388 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1392 if (DrmCurOffset != 0)
1394 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1398 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1400 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1401 if (nRet != TADC_SUCCESS)
1403 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1407 DrmCurOffset = pDcfHandler->DrmTell();
1408 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1410 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1414 if (DrmCurOffset != 0)
1416 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1420 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1422 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1423 if (nRet != TADC_SUCCESS)
1425 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1429 DrmCurOffset = pDcfHandler->DrmTell();
1430 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1432 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1436 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1438 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1442 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1444 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1445 if (nRet != TADC_SUCCESS)
1447 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1451 DrmCurOffset = pDcfHandler->DrmTell();
1452 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1454 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1458 if (DrmCurOffset != 0)
1460 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1464 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1466 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1467 if (nRet != TADC_SUCCESS)
1469 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1473 DrmCurOffset = pDcfHandler->DrmTell();
1474 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1476 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1480 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1482 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1486 printf("tc09_DrmFileMgrPositive_FileAPI_02 finished! -------- success \n");
1494 bool tc09_DrmFileMgrPositive_FileAPI_03(void)
1496 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
1497 int nRet = TADC_SUCCESS;
1499 DrmFileMgr* pDrmFileMgr = NULL;
1500 DrmFileHandler *pDcfHandler = NULL;
1502 long long originalEndOffset = 45194636;
1503 long long DrmCurOffset = 0;
1504 long long OriginCurOffset = 847;
1507 printf("tc09_DrmFileMgrPositive_FileAPI_03() -------- Started! \n");
1509 pDrmFileMgr = DrmFileMgr::GetInstance();
1511 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1512 if (nRet != TADC_SUCCESS)
1514 printf("tc09_DrmFileMgrPositive_FileAPI_03 failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
1518 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1520 printf("tc09_DrmFileMgrPositive_FileAPI_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1524 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset)
1526 printf("tc09_DrmFileMgrPositive_FileAPI_03 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n", OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1530 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1532 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1533 if (nRet != TADC_SUCCESS)
1535 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n", third_key, pDCF, i, nRet);
1539 DrmCurOffset = pDcfHandler->DrmTell();
1540 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1542 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_SET, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1546 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1548 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1552 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1554 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1555 if (nRet != TADC_SUCCESS)
1557 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1561 DrmCurOffset = pDcfHandler->DrmTell();
1562 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1564 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1568 if (DrmCurOffset != 0)
1570 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1574 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1576 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1577 if (nRet != TADC_SUCCESS)
1579 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1583 DrmCurOffset = pDcfHandler->DrmTell();
1584 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1586 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1590 if (DrmCurOffset != 0)
1592 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1596 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1598 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1599 if (nRet != TADC_SUCCESS)
1601 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1605 DrmCurOffset = pDcfHandler->DrmTell();
1606 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1608 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1612 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1614 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1618 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1620 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1621 if (nRet != TADC_SUCCESS)
1623 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1627 DrmCurOffset = pDcfHandler->DrmTell();
1628 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1630 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1634 if (DrmCurOffset != 0)
1636 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1640 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1642 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1643 if (nRet != TADC_SUCCESS)
1645 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1649 DrmCurOffset = pDcfHandler->DrmTell();
1650 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1652 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1656 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1658 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1662 printf("tc09_DrmFileMgrPositive_FileAPI_03 finished! -------- success \n");
1670 bool tc10_DrmFileMgrPositive_CloseFileHandler_01(void)
1672 int nRet = TADC_SUCCESS;
1674 DrmFileMgr* pDrmFileMgr = NULL;
1675 DrmFileHandler *pDcfHandler = NULL;
1677 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 -------- Started! \n");
1679 pDrmFileMgr = DrmFileMgr::GetInstance();
1681 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1682 if (nRet != TADC_SUCCESS)
1684 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d, ret=%x\n", first_key, nRet);
1688 nRet = pDrmFileMgr->CloseFileHandler(first_key);
1689 if (nRet != TADC_SUCCESS)
1691 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d, ret=%x\n", first_key, nRet);
1695 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1696 if (nRet == TADC_SUCCESS)
1698 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d\n", first_key);
1702 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 finished! -------- success \n");
1710 bool tc10_DrmFileMgrPositive_CloseFileHandler_02(void)
1712 int nRet = TADC_SUCCESS;
1714 DrmFileMgr* pDrmFileMgr = NULL;
1715 DrmFileHandler *pDcfHandler = NULL;
1717 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 -------- Started! \n");
1719 pDrmFileMgr = DrmFileMgr::GetInstance();
1721 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1722 if (nRet != TADC_SUCCESS)
1724 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d, ret=%x\n", second_key, nRet);
1728 nRet = pDrmFileMgr->CloseFileHandler(second_key);
1729 if (nRet != TADC_SUCCESS)
1731 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d, ret=%x\n", second_key, nRet);
1735 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1736 if (nRet == TADC_SUCCESS)
1738 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d\n", second_key);
1742 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 finished! -------- success \n");
1750 bool tc10_DrmFileMgrPositive_CloseFileHandler_03(void)
1752 int nRet = TADC_SUCCESS;
1754 DrmFileMgr* pDrmFileMgr = NULL;
1755 DrmFileHandler *pDcfHandler = NULL;
1757 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 -------- Started! \n");
1759 pDrmFileMgr = DrmFileMgr::GetInstance();
1761 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1762 if (nRet != TADC_SUCCESS)
1764 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d, ret=%x\n", third_key, nRet);
1768 nRet = pDrmFileMgr->CloseFileHandler(third_key);
1769 if (nRet != TADC_SUCCESS)
1771 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d, ret=%x\n", third_key, nRet);
1775 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1776 if (nRet == TADC_SUCCESS)
1778 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d\n", third_key);
1782 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 finished! -------- success \n");
1790 bool tc11_GetDeviceId_01(void)
1792 unsigned char DUID[33] = {0,};
1795 printf("tc11_GetDeviceID_01() -------- Started! \n");
1797 nRet = TADC_IF_GetDUID((char*)DUID);
1798 if (nRet !=TADC_SUCCESS)
1800 printf("tc11_GetDeviceID_01() failed.");
1804 printf("DUID=%s\n", (char*)DUID);
1805 printf("tc11_GetDeviceID_01() finished! -------- success \n");
1810 bool tc12_TADC_SetDeviceInfo_01(void)
1812 int nRet = TADC_SUCCESS;
1813 T_DEVICE_INFO t_DeviceInfo;
1815 printf("tc12_TADC_SetDeviceInfo_01() -------- Started! \n");
1817 nRet = TADC_SetDeviceInfo(&t_DeviceInfo);
1818 if (nRet != TADC_SUCCESS)
1820 printf("tc12_TADC_SetDeviceInfo_01() failed.\n");
1823 printf("DUID=%s\n", (char*)t_DeviceInfo.DUID);
1824 printf("tc12_TADC_SetDeviceInfo_01() finished! -------- success \n");
1829 bool tc13_DTappsInstallLicense_01(void)
1831 printf("tc13_DTappsInstallLicense_01() -------- Started! \n");
1833 const char *pFirstRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.ro";
1835 auto buf = _read_ro_file(pFirstRo);
1837 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1838 if (nRet != TADC_SUCCESS) {
1839 printf("tc13_DTappsInstallLicense_01() failed. nRet=%d\n", nRet);
1843 printf("tc13_DTappsInstallLicense_01() finished! -------- success \n");
1847 bool tc13_DTappsInstallLicense_02(void)
1849 printf("tc13_DTappsInstallLicense_02() -------- Started! \n");
1851 const char *pFirstRo = TEST_DATA_DIR "/RO/8SPXfqc6iL-1.0.0.ro";
1853 auto buf = _read_ro_file(pFirstRo);
1855 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1856 if (nRet != TADC_SUCCESS) {
1857 printf("tc13_DTappsInstallLicense_02() failed. nRet=%d\n", nRet);
1861 printf("tc13_DTappsInstallLicense_02() finished! -------- success \n");
1865 bool tc13_DTappsInstallLicense_03(void)
1867 printf("tc13_DTappsInstallLicense_03() -------- Started! \n");
1869 const char *pFirstRo = TEST_DATA_DIR "/RO/FightGuiIF-1.0.0.ro";
1871 auto buf = _read_ro_file(pFirstRo);
1873 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1874 if (nRet != TADC_SUCCESS) {
1875 printf("tc13_DTappsInstallLicense_03() failed. nRet=%d\n", nRet);
1879 printf("tc13_DTappsInstallLicense_03() finished! -------- success \n");
1884 tc_local_01_drm_tizen_generate_license_request_p(void)
1887 int ret_value = DRMTEST_SUCCESS;
1889 char *purchase_response = NULL;
1890 char *req_id = NULL;
1891 unsigned int req_buff_len = 1024*5;
1892 char req_buff[req_buff_len] = {0, };
1893 unsigned int url_buff_len = 1024;
1894 char url_buff[url_buff_len] = {0, };
1896 printf("[%s] test started\n", __func__);
1897 ret_value = generate_purchase_response(&purchase_response, &req_id);
1898 if(ret_value != DRMTEST_SUCCESS) {
1902 printf("...purchase_response:\n%s\n", purchase_response);
1904 ret_value = drm_tizen_generate_license_request(purchase_response, strlen(purchase_response),
1905 req_buff, &req_buff_len, url_buff, &url_buff_len);
1906 if(ret_value != TADC_SUCCESS) {
1907 printf("...drm_tizen_generate_license_request failed. ret=%d\n", ret_value);
1911 printf("...license_request_url:%s\n", url_buff);
1912 printf("...license_request:\n%s\n", req_buff);
1914 printf("[%s] test ended: result=%d\n", __func__, ret_value);
1917 if(purchase_response != NULL)
1918 free(purchase_response);
1926 tc_local_01_drm_tizen_full_test_p(void)
1929 int ret_value = DRMTEST_SUCCESS;
1931 char *purchase_response = NULL;
1932 char *req_id = NULL;
1933 unsigned int req_buff_len = 1024*5;
1934 char req_buff[req_buff_len] = {0, };
1935 unsigned int url_buff_len = 1024;
1936 char url_buff[url_buff_len] = {0, };
1938 char* ro_request_buff = NULL;
1939 char* ro_response_buff = NULL;
1940 char* dh_key_p = NULL;
1941 char* dh_key_g = NULL;
1942 char* dh_key_a = NULL;
1944 unsigned char duid[33] = {0,};
1945 const char* cid = "38EIfBurLJ-1.0.2";
1946 const char* ro_template_path = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.ro_template";
1948 const char* encrypted_file_path = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
1949 const char* plaintext_file_path = TEST_DATA_DIR "/DecryptedApp/38EIfBurLJ_dec.tpk";
1950 const char* decrypted_file_path = "/tmp/38EIfBurLJ.tpk";
1952 int identical = DRMTEST_NOTIDENTICAL;
1954 printf("[%s] test started\n", __func__);
1956 if(ret_value != DRMTEST_SUCCESS) {
1961 ret_value = generate_purchase_response(&purchase_response, &req_id);
1962 if(ret_value != DRMTEST_SUCCESS) {
1966 //printf("...purchase_response:\n%s\n", purchase_response);
1968 ret_value = drm_tizen_generate_license_request(purchase_response, strlen(purchase_response),
1969 req_buff, &req_buff_len, url_buff, &url_buff_len);
1970 if(ret_value != TADC_SUCCESS) {
1971 printf("...drm_tizen_generate_license_request failed. ret=%d\n", ret_value);
1975 printf("...license_request_url:%s\n", url_buff);
1976 printf("...license_request:\n%s\n", req_buff);
1978 ret_value = get_dh_key_from_ro_request(req_buff, &dh_key_p, &dh_key_g, &dh_key_a);
1979 if(ret_value != DRMTEST_SUCCESS) {
1983 //printf("...DH key: p=%s, g=%s, a=%s\n", dh_key_p, dh_key_g, dh_key_a);
1985 ret_value = TADC_IF_GetDUID((char*)duid);
1986 if (ret_value != TADC_SUCCESS) {
1989 printf("duid=%s\n", (char*)duid);
1991 ret_value = generate_right_object_response(dh_key_p, dh_key_g, dh_key_a, req_id,
1992 cid, ro_template_path, (const char*)duid, &ro_response_buff);
1993 if(ret_value != DRMTEST_SUCCESS) {
1997 printf("...right_object_response:\n%s\n", ro_response_buff);
1999 ret_value = drm_tizen_register_license(ro_response_buff, strlen(ro_response_buff));
2000 if(ret_value != TADC_SUCCESS) {
2001 printf("...drm_tizen_register_license failed. ret=%d\n", ret_value);
2005 printf("...drm_tizen_register_license: succeeded\n");
2007 ret_value = drm_tizen_decrypt_package(encrypted_file_path, strlen(encrypted_file_path),
2008 decrypted_file_path, strlen(decrypted_file_path));
2009 if(ret_value != TADC_SUCCESS) {
2010 printf("...drm_tizen_decrypt_package failed. ret=%d\n", ret_value);
2014 printf("...drm_tizen_decrypt_package: succeeded\n");
2016 ret_value = is_identical_files(plaintext_file_path, decrypted_file_path, &identical);
2017 if(ret_value != DRMTEST_SUCCESS) {
2018 printf("...is_identical_files failed. ret=%d\n", ret_value);
2022 if(identical != DRMTEST_IDENTICAL) {
2023 printf("...the decrypted file is not same with a original plaintext file .\n");
2027 printf("...drm_tizen_decrypt_package: succeeded : the decrypted file is with a original plaintext file.\n");
2030 if(purchase_response != NULL)
2031 free(purchase_response);
2034 if(ro_request_buff != NULL)
2035 free(ro_request_buff);
2036 if(ro_response_buff != NULL)
2037 free(ro_response_buff);
2044 bool tc15_DrmTdcDecryptPackge_01(void)
2046 int nRet = TADC_SUCCESS;
2052 int main(int, char *[])
2054 printf(" ---------- Test Tizen DRM core --- Start ....\n");
2056 printf(" ---------- Test Tizen DRM core --- End ....\n");
2059 printf(" ---------- Test Tizen DRM v2.0.1 APIs --- Start .... \n");
2061 int bRet = TADC_SUCCESS;
2063 char ReqBuf[1024*5] = {0, };
2064 unsigned int ReqBufLen = 0;
2066 char RespBuf[1024*10] = {0, };
2067 unsigned int RespBufLen = 0;
2069 // char DecLicenseBuf[1024*10] = {0, };
2070 // unsigned int DecLicenseBufLen = 0;
2072 char LicenseUrl[1024] = {0, };
2073 unsigned int LicenseUrlLen = 0;
2076 //DrmTdcFileHeader TDCFileHeader;
2077 // char cid[1024] = {0, };
2078 // char riurl[1024] = {0, };
2080 char testFileName[256] = {0, };
2081 char tempBuf[256] = {0, };
2085 //----------------------------------------------------------------------------------------------------
2086 // 0. Static TC running
2087 //----------------------------------------------------------------------------------------------------
2089 printf("\n0. Static TC Start ----------------------------------------\n");
2091 isOk = tc01_VerifyRoSignature_Positive_01();
2094 printf("tc01_VerifyRoSignature_Positive_01 failed!\n");
2097 isOk = tc01_VerifyRoSignature_Positive_02();
2100 printf("tc01_VerifyRoSignature_Positive_02 failed!\n");
2103 isOk = tc01_VerifyRoSignature_Positive_03();
2106 printf("tc01_VerifyRoSignature_Positive_03 failed!\n");
2109 isOk = tc02_VerifyRoSignature_Negative_Cert_01();
2112 printf("tc02_VerifyRoSignature_Negative_Cert_01 failed!\n");
2115 isOk = tc02_VerifyRoSignature_Negative_Cert_02();
2118 printf("tc02_VerifyRoSignature_Negative_Cert_02 failed!\n");
2121 isOk = tc02_VerifyRoSignature_Negative_Cert_03();
2124 printf("tc02_VerifyRoSignature_Negative_Cert_03 failed!\n");
2127 isOk = tc03_VerifyRoSignature_Negative_Signature_01();
2130 printf("tc03_VerifyRoSignature_Negative_Signature_01 failed!\n");
2133 isOk = tc03_VerifyRoSignature_Negative_Signature_02();
2136 printf("tc03_VerifyRoSignature_Negative_Signature_02 failed!\n");
2139 isOk = tc03_VerifyRoSignature_Negative_Signature_03();
2142 printf("tc03_VerifyRoSignature_Negative_Signature_03 failed!\n");
2145 isOk = tc04_isDrmFile_Positive_01();
2148 printf("tc04_isDrmFile_Positive_01 failed!\n");
2151 isOk = tc04_isDrmFile_Positive_02();
2154 printf("tc04_isDrmFile_Positive_02 failed!\n");
2157 isOk = tc04_isDrmFile_Positive_03();
2160 printf("tc04_isDrmFile_Positive_03 failed!\n");
2163 isOk = tc05_isDrmFile_Negative_01();
2166 printf("tc05_isDrmFile_Negative_01 failed!\n");
2169 isOk = tc05_isDrmFile_Negative_02();
2172 printf("tc05_isDrmFile_Negative_02 failed!\n");
2175 isOk = tc05_isDrmFile_Negative_03();
2178 printf("tc05_isDrmFile_Negative_03 failed!\n");
2181 isOk = tc13_DTappsInstallLicense_01();
2184 printf("tc13_DTappsInstallLicense_01 failed!\n");
2187 isOk = tc13_DTappsInstallLicense_02();
2190 printf("tc13_DTappsInstallLicense_02 failed!\n");
2193 isOk = tc13_DTappsInstallLicense_03();
2196 printf("tc13_DTappsInstallLicense_03 failed!\n");
2199 isOk = tc06_DrmFileHandlerPositive_01();
2202 printf("tc06_DrmFileHandlerPositive_01 failed!\n");
2205 isOk = tc06_DrmFileHandlerPositive_02();
2208 printf("tc06_DrmFileHandlerPositive_02 failed!\n");
2211 isOk = tc06_DrmFileHandlerPositive_03();
2214 printf("tc06_DrmFileHandlerPositive_03 failed!\n");
2217 isOk = tc07_DrmFileMgrPositive_01();
2220 printf("tc07_DrmFileMgrPositive_01 failed!\b");
2223 isOk = tc07_DrmFileMgrPositive_02();
2226 printf("tc07_DrmFileMgrPositive_02 failed!\n");
2229 isOk = tc07_DrmFileMgrPositive_03();
2232 printf("tc07_DrmFileMgrPositive_03 failed!\n");
2235 isOk = tc08_DrmFileMgrPositive_GetFileHandler_01();
2238 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 failed!\n");
2241 isOk = tc08_DrmFileMgrPositive_GetFileHandler_02();
2244 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 failed!\n");
2247 isOk = tc08_DrmFileMgrPositive_GetFileHandler_03();
2250 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 failed!\n");
2253 isOk = tc09_DrmFileMgrPositive_FileAPI_01();
2256 printf("tc09_DrmFileMgrPositive_FileAPI_01 failed!\n");
2259 isOk = tc09_DrmFileMgrPositive_FileAPI_02();
2262 printf("tc09_DrmFileMgrPositive_FileAPI_02 failed!\n");
2265 isOk = tc09_DrmFileMgrPositive_FileAPI_03();
2268 printf("tc09_DrmFileMgrPositive_FileAPI_03 failed!\n");
2271 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_01();
2274 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed!\n");
2277 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_02();
2280 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed!\n");
2283 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_03();
2286 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed!\n");
2289 isOk = tc11_GetDeviceId_01();
2292 printf("tc11_GetDeviceId_01 failed!\n");
2295 isOk = tc12_TADC_SetDeviceInfo_01();
2298 printf("tc12_TADC_SetDeviceInfo_01 failed!\n");
2301 isOk = tc11_GetDeviceId_01();
2304 printf("tc11_GetDeviceId_01 failed!\n");
2307 isOk = tc_local_01_drm_tizen_full_test_p();
2310 printf("tc_local_01_drm_tizen_full_test_p failed!\n");
2313 //----------------------------------------------------------------------------------------------------
2314 // 1. Check is drm file
2315 //----------------------------------------------------------------------------------------------------
2317 printf("===============================================================================\n");
2318 printf ("Enter test file name --> ");
2320 isOk = scanf("%s", testFileName);
2323 printf ("Input value wrong! scanf() failed!!");
2326 printf("\n1. drm_tizen_is_drm_file Start ----------------------------------------\n");
2328 bRet = drm_tizen_is_drm_file(testFileName, strlen(testFileName));
2329 if (bRet != TADC_SUCCESS)
2331 printf("drm_tizen_is_drm_file Error! ret = %d\n", bRet);
2334 printf("%s file is TADC file!\n", testFileName);
2336 //----------------------------------------------------------------------------------------------------
2337 // 2. Make PurchaseRequest Data
2338 //----------------------------------------------------------------------------------------------------
2339 printf("\n2. Make PurchaseRequest Data Start ----------------------------------------\n");
2341 memset(ReqBuf, 0x00, sizeof(ReqBuf));
2342 memset(LicenseUrl, 0x00, sizeof(LicenseUrl));
2343 ReqBufLen = sizeof(ReqBuf);
2344 LicenseUrlLen = sizeof(LicenseUrl);
2346 bRet = drm_tizen_generate_purchase_request(testFileName, ReqBuf, &ReqBufLen, LicenseUrl, &LicenseUrlLen);
2349 printf(" drm_tizen_generate_purchase_request Error! \n");
2353 printf("drm_tizen_generate_purchase_request - ReqBufLen : %d, License Url : %s \n", ReqBufLen, LicenseUrl);
2354 if ((bRet = _write_logfile("Request_1.dat", ReqBuf, ReqBufLen-1)) == false)
2356 printf(" drm_tizen_generate_purchase_request _write_logfile Error! \n");
2360 //break.... HTTP Request & Reaponse Processing...
2361 printf ("Enter any key after create Response_1.dat file. --> ");
2362 std::cin >> tempBuf;
2364 memset(RespBuf, 0x00, sizeof(RespBuf));
2365 RespBufLen = sizeof(RespBuf);
2366 if ((bRet = _read_logfile("Response_1.dat", RespBuf, &RespBufLen)) == false)
2368 printf(" drm_tizen_generate_purchase_request _read_logfile Error! \n");
2372 //----------------------------------------------------------------------------------------------------
2373 // 3. Make License Request Data
2374 //----------------------------------------------------------------------------------------------------
2375 printf("\n3. Make License Request Data Start ----------------------------------------\n");
2377 memset(ReqBuf, 0x00, sizeof(ReqBuf));
2378 memset(LicenseUrl, 0x00, sizeof(LicenseUrl));
2379 ReqBufLen = sizeof(ReqBuf);
2380 LicenseUrlLen = sizeof(LicenseUrl);
2382 bRet = drm_tizen_generate_license_request(RespBuf, RespBufLen, ReqBuf, &ReqBufLen, LicenseUrl, &LicenseUrlLen);
2383 if (bRet != TADC_SUCCESS)
2385 printf(" drm_tizen_generate_license_request Error! \n");
2389 printf("drm_tizen_generate_license_request - ReqBufLen : %d, RO Url : %s \n", ReqBufLen, LicenseUrl);
2390 if ((bRet = _write_logfile("Request_2.dat", ReqBuf, ReqBufLen - 1)) == false)
2392 printf(" drm_tizen_generate_license_request _write_logfile Error! \n");
2396 //break.... HTTP Request & Reaponse Processing...
2397 printf ("Enter any key after create Response_2.dat file. --> ");
2398 std::cin >> tempBuf;
2400 memset(RespBuf, 0x00, sizeof(RespBuf));
2401 RespBufLen = sizeof(RespBuf);
2402 if ((bRet = _read_logfile("Response_2.dat", RespBuf, &RespBufLen)) == false)
2404 printf(" drm_tizen_generate_license_request _read_logfile Error! \n");
2408 //----------------------------------------------------------------------------------------------------
2409 // 4. Decrypt DRM License
2410 //----------------------------------------------------------------------------------------------------
2411 printf("\n4. Decrypt DRM License Start --------------------------------------------\n");
2413 bRet = drm_tizen_register_license(RespBuf, RespBufLen);
2414 if (bRet != TADC_SUCCESS)
2416 printf(" drm_tizen_register_license Error! \n");
2420 //---------------------------------------------------------------------------------------------------
2421 // 5. Decrypt DRM File
2422 //----------------------------------------------------------------------------------------------------
2423 printf("\n5. Decrypt DRM File Start -----------------------------------------\n");
2425 sprintf(tempBuf, "%s.dec", testFileName);
2426 bRet = drm_tizen_decrypt_package(testFileName, strlen(testFileName), tempBuf, strlen(tempBuf));
2428 if (bRet != TADC_SUCCESS)
2430 printf(" drm_tizen_decrypt_package Error! \n");
2434 printf("\n --------------Test Tizen Apps DRM APIs --- End ---------------\n");