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) {
44 fwrite(buf, 1, len, fd);
50 bool _read_logfile(const char *filename, char *buf, unsigned int *pLen)
55 if ((fd = fopen(filename, "r+b")) == NULL) {
59 nReadLen = fread(buf, 1, *pLen, fd);
67 bool tc01_VerifyRoSignature_Positive_01(void)
69 printf("tc01_VerifyRoSignature_Positive_01() -------- Started! \n");
71 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.ro";
73 auto buf = _read_ro_file(pRo);
75 int nRet = TADC_VerifyROSignature(buf.data());
78 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
82 printf("tc01_VerifyRoSignature_Positive_01() finished! -------- success \n");
87 bool tc01_VerifyRoSignature_Positive_02(void)
89 printf("tc01_VerifyRoSignature_Positive_02() -------- Started! \n");
90 const char *pRo = TEST_DATA_DIR "/RO/8SPXfqc6iL-1.0.0.ro";
92 auto buf = _read_ro_file(pRo);
94 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());
135 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo,
140 printf("tc02_VerifyRoSignature_Negative_Cert_01 finished! -------- success \n");
144 bool tc02_VerifyRoSignature_Negative_Cert_02(void)
146 printf("tc02_VerifyRoSignature_Negative_Cert_02() -------- Started! \n");
148 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.cert_chain_invalid.ro";
150 auto buf = _read_ro_file(pRo);
152 int nRet = TADC_VerifyROSignature(buf.data());
155 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo,
160 printf("tc02_VerifyRoSignature_Negative_Cert_02 finished! -------- success \n");
164 bool tc02_VerifyRoSignature_Negative_Cert_03(void)
166 printf("tc02_VerifyRoSignature_Negative_Cert_03() -------- Started! \n");
168 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.cert_invalid.ro";
170 auto buf = _read_ro_file(pRo);
172 int nRet = TADC_VerifyROSignature(buf.data());
175 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo,
180 printf("tc02_VerifyRoSignature_Negative_Cert_03 finished! -------- success \n");
184 bool tc03_VerifyRoSignature_Negative_Signature_01(void)
186 printf("tc03_VerifyRoSignature_Negative_Signature_01() -------- Started! \n");
188 const char *pRo = TEST_DATA_DIR "/RO/FightGuiIF-1.0.0.signature_invalid.ro";
190 auto buf = _read_ro_file(pRo);
192 int nRet = TADC_VerifyROSignature(buf.data());
195 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo,
200 printf("tc03_VerifyRoSignature_Negative_Signature_01() finished! -------- success \n");
205 bool tc03_VerifyRoSignature_Negative_Signature_02(void)
207 printf("tc03_VerifyRoSignature_Negative_Signature_02() -------- Started! \n");
209 const char *pRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.signature_invalid.ro";
211 auto buf = _read_ro_file(pRo);
213 int nRet = TADC_VerifyROSignature(buf.data());
216 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo,
221 printf("tc03_VerifyRoSignature_Negative_Signature_01() finished! -------- success \n");
226 bool tc03_VerifyRoSignature_Negative_Signature_03(void)
228 printf("tc03_VerifyRoSignature_Negative_Signature_03() -------- Started! \n");
230 const char *pRo = TEST_DATA_DIR "/RO/8SPXfqc6iL-1.0.0.signature_invalid.ro";
232 auto buf = _read_ro_file(pRo);
234 int nRet = TADC_VerifyROSignature(buf.data());
237 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo,
242 printf("tc03_VerifyRoSignature_Negative_Signature_03() finished! -------- success \n");
247 bool tc04_isDrmFile_Positive_01(void)
249 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
251 printf("tc04_isDrmFile_Positive_01() -------- Started!\n");
253 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
255 if (nRet != TADC_SUCCESS) {
256 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
257 printf("%s file is not TADC file!\n", pDCF);
261 printf("tc04_isDrmFile_Positive_01() finished! -------- success \n");
266 bool tc04_isDrmFile_Positive_02(void)
268 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
270 printf("tc04_isDrmFile_Positive_02() -------- Started!\n");
272 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
274 if (nRet != TADC_SUCCESS) {
275 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
276 printf("%s file is not TADC file!\n", pDCF);
280 printf("tc04_isDrmFile_Positive_02() finished! -------- success \n");
285 bool tc04_isDrmFile_Positive_03(void)
287 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
289 printf("tc04_isDrmFile_Positive_03() -------- Started!\n");
291 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
293 if (nRet != TADC_SUCCESS) {
294 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
295 printf("%s file is not TADC file!\n", pDCF);
299 printf("tc04_isDrmFile_Positive_03() finished! -------- success \n");
304 bool tc05_isDrmFile_Negative_01(void)
306 const char *pApp = TEST_DATA_DIR "/DecryptedApp/38EIfBurLJ_dec.tpk";
308 printf("tc05_isDrmFile_Negative_01() -------- Started! \n");
310 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
312 if (nRet == TADC_SUCCESS) {
313 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n",
318 printf("tc05_isDrmFile_Negative_01 finished! -------- success \n");
323 bool tc05_isDrmFile_Negative_02(void)
325 const char *pApp = TEST_DATA_DIR "/DecryptedApp/8SPXfqc6iL_dec.tpk";
327 printf("tc05_isDrmFile_Negative_02() -------- Started! \n");
329 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
331 if (nRet == TADC_SUCCESS) {
332 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n",
337 printf("tc05_isDrmFile_Negative_02 finished! -------- success \n");
342 bool tc05_isDrmFile_Negative_03(void)
344 const char *pApp = TEST_DATA_DIR "/DecryptedApp/FightGuiIF_dec.tpk";
346 printf("tc05_isDrmFile_Negative_03() -------- Started! \n");
348 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
350 if (nRet == TADC_SUCCESS) {
351 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n",
356 printf("tc05_isDrmFile_Negative_03 finished! -------- success \n");
362 tc06_DrmFileHandlerPositive_01(void)
364 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
365 DrmFileHandler *pDcfHandler = NULL;
366 unsigned char *pBufCEK = NULL;
367 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};
368 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
370 long encryptionLevel = 17;
371 long long encryptionRange = 10;
372 long long plainTextSize = 1630724;
373 long long originalEndOffset = 1631570;
376 printf("tc06_DrmFileHandlerPositive_01() -------- Started! \n");
378 pBufCEK = (unsigned char *)malloc(CEK_SIZE + 1);
379 memset(pBufCEK, 0x00, CEK_SIZE + 1);
381 pDcfHandler = new DrmFileHandler();
383 if (pDcfHandler == NULL) {
387 nRet = pDcfHandler->Construct(pDCF);
390 printf("tc06_DrmFileHandlerPositive_01 - Construct() failed : %s, %x\n", pDCF,
395 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
396 printf("tc06_DrmFileHandlerPositive_01 - CEK Comparison failed : %s\n", pDCF);
400 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
401 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
402 printf("tc06_DrmFileHandlerPositive_01 - FilePath Comparison failed : %s\n",
403 pDcfHandler->m_pFilePath);
407 if (memcmp(pCID, pDcfHandler->m_pCID,
408 strlen((char *)pDcfHandler->m_pCID)) != 0) {
409 printf("tc06_DrmFileHandlerPositive_01 - CID Comparison failed : %s\n",
410 pDcfHandler->m_pCID);
414 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
415 printf("tc06_DrmFileHandlerPositive_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
416 encryptionLevel, pDcfHandler->m_encryptionLevel);
420 if (pDcfHandler->m_encryptionRange != encryptionRange) {
421 printf("tc06_DrmFileHandlerPositive_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
422 encryptionRange, pDcfHandler->m_encryptionRange);
426 if (pDcfHandler->m_plaintextSize != plainTextSize) {
427 printf("tc06_DrmFileHandlerPositive_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
428 plainTextSize, pDcfHandler->m_plaintextSize);
432 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
433 printf("tc06_DrmFileHandlerPositive_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
434 originalEndOffset, pDcfHandler->m_OriginEndOffset);
438 if (pDcfHandler != NULL) {
442 if (pBufCEK != NULL) {
446 printf("tc06_DrmFileHandlerPositive_01 finished! -------- success \n");
452 if (pDcfHandler != NULL) {
456 if (pBufCEK != NULL) {
464 tc06_DrmFileHandlerPositive_02(void)
466 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
467 unsigned char *pBufCEK = NULL;
468 DrmFileHandler *pDcfHandler = NULL;
469 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};
470 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
472 long encryptionLevel = 17;
473 long long encryptionRange = 10;
474 long long plainTextSize = 705072;
475 long long originalEndOffset = 705914;
478 printf("tc06_DrmFileHandlerPositive_02() -------- Started! \n");
480 pBufCEK = (unsigned char *)malloc(CEK_SIZE + 1);
481 memset(pBufCEK, 0x00, CEK_SIZE + 1);
483 pDcfHandler = new DrmFileHandler();
485 if (pDcfHandler == NULL) {
489 nRet = pDcfHandler->Construct(pDCF);
492 printf("tc06_DrmFileHandlerPositive_02 - Construct() failed : %s, %x\n", pDCF,
497 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
498 printf("tc06_DrmFileHandlerPositive_02 - CEK Comparison failed : %s\n", pDCF);
502 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
503 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
504 printf("tc06_DrmFileHandlerPositive_02 - FilePath Comparison failed : %s\n",
505 pDcfHandler->m_pFilePath);
509 if (memcmp(pCID, pDcfHandler->m_pCID,
510 strlen((char *)pDcfHandler->m_pCID)) != 0) {
511 printf("tc06_DrmFileHandlerPositive_02 - CID Comparison failed : %s\n",
512 pDcfHandler->m_pCID);
516 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
517 printf("tc06_DrmFileHandlerPositive_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
518 encryptionLevel, pDcfHandler->m_encryptionLevel);
522 if (pDcfHandler->m_encryptionRange != encryptionRange) {
523 printf("tc06_DrmFileHandlerPositive_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
524 encryptionRange, pDcfHandler->m_encryptionRange);
528 if (pDcfHandler->m_plaintextSize != plainTextSize) {
529 printf("tc06_DrmFileHandlerPositive_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
530 plainTextSize, pDcfHandler->m_plaintextSize);
534 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
535 printf("tc06_DrmFileHandlerPositive_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
536 originalEndOffset, pDcfHandler->m_OriginEndOffset);
540 if (pDcfHandler != NULL) {
544 if (pBufCEK != NULL) {
548 printf("tc06_DrmFileHandlerPositive_02 finished! -------- success \n");
554 if (pDcfHandler != NULL) {
558 if (pBufCEK != NULL) {
566 tc06_DrmFileHandlerPositive_03(void)
568 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
569 unsigned char *pBufCEK = NULL;
570 DrmFileHandler *pDcfHandler = NULL;
571 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};
572 unsigned char pCID[32] = "FightGuiIF-1.0.0";
574 long encryptionLevel = 17;
575 long long encryptionRange = 10;
576 long long plainTextSize = 45193789;
577 long long originalEndOffset = 45194636;
580 printf("tc06_DrmFileHandlerPositive_03() -------- Started! \n");
582 pBufCEK = (unsigned char *)malloc(CEK_SIZE + 1);
583 memset(pBufCEK, 0x00, CEK_SIZE + 1);
585 pDcfHandler = new DrmFileHandler();
587 if (pDcfHandler == NULL) {
591 nRet = pDcfHandler->Construct(pDCF);
594 printf("tc06_DrmFileHandlerPositive_03 - Construct() failed : %s, %x\n", pDCF,
599 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
600 printf("tc06_DrmFileHandlerPositive_03 - CEK Comparison failed : %s\n", pDCF);
604 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
605 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
606 printf("tc06_DrmFileHandlerPositive_03 - FilePath Comparison failed : %s\n",
607 pDcfHandler->m_pFilePath);
611 if (memcmp(pCID, pDcfHandler->m_pCID,
612 strlen((char *)pDcfHandler->m_pCID)) != 0) {
613 printf("tc06_DrmFileHandlerPositive_03 - CID Comparison failed : %s\n",
614 pDcfHandler->m_pCID);
618 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
619 printf("tc06_DrmFileHandlerPositive_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
620 encryptionLevel, pDcfHandler->m_encryptionLevel);
624 if (pDcfHandler->m_encryptionRange != encryptionRange) {
625 printf("tc06_DrmFileHandlerPositive_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
626 encryptionRange, pDcfHandler->m_encryptionRange);
630 if (pDcfHandler->m_plaintextSize != plainTextSize) {
631 printf("tc06_DrmFileHandlerPositive_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
632 plainTextSize, pDcfHandler->m_plaintextSize);
636 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
637 printf("tc06_DrmFileHandlerPositive_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
638 originalEndOffset, pDcfHandler->m_OriginEndOffset);
642 if (pDcfHandler != NULL) {
646 if (pBufCEK != NULL) {
650 printf("tc06_DrmFileHandlerPositive_03 finished! -------- success \n");
656 if (pDcfHandler != NULL) {
660 if (pBufCEK != NULL) {
667 bool tc07_DrmFileMgrPositive_01(void)
669 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
670 int nRet = TADC_SUCCESS;
672 DrmFileMgr *pDrmFileMgr = NULL;
673 DrmFileHandler *pDcfHandler = NULL;
675 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};
677 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
678 long encryptionLevel = 17;
679 long long encryptionRange = 10;
680 long long plainTextSize = 1630724;
681 long long originalEndOffset = 1631570;
683 printf("tc07_DrmFileMgrPositive_01() -------- Started! \n");
685 pDrmFileMgr = DrmFileMgr::GetInstance();
687 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &first_key);
689 if (nRet != TADC_SUCCESS) {
690 printf("tc07_DrmFileMgrPositive_01 - OpenFileHandler() failed : key = %d, file = %s, %x\n",
691 first_key, pDCF, nRet);
695 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
697 if (nRet != TADC_SUCCESS) {
698 printf("tc07_DrmFileMgrPositive_01 - GetFileHandler() failed : key = %d, file = %s, %x\n",
699 first_key, pDCF, nRet);
703 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
704 printf("tc07_DrmFileMgrPositive_01 - CEK Comparison failed : %s\n", pDCF);
708 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
709 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
710 printf("tc07_DrmFileMgrPositive_01 - FilePath Comparison failed : %s\n",
711 pDcfHandler->m_pFilePath);
715 if (memcmp(pCID, pDcfHandler->m_pCID,
716 strlen((char *)pDcfHandler->m_pCID)) != 0) {
717 printf("tc07_DrmFileMgrPositive_01 - CID Comparison failed : %s\n",
718 pDcfHandler->m_pCID);
722 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
723 printf("tc07_DrmFileMgrPositive_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
724 encryptionLevel, pDcfHandler->m_encryptionLevel);
728 if (pDcfHandler->m_encryptionRange != encryptionRange) {
729 printf("tc07_DrmFileMgrPositive_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
730 encryptionRange, pDcfHandler->m_encryptionRange);
734 if (pDcfHandler->m_plaintextSize != plainTextSize) {
735 printf("tc07_DrmFileMgrPositive_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
736 plainTextSize, pDcfHandler->m_plaintextSize);
740 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
741 printf("tc07_DrmFileMgrPositive_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
742 originalEndOffset, pDcfHandler->m_OriginEndOffset);
746 printf("tc07_DrmFileMgrPositive_01 finished! -------- success \n");
755 bool tc07_DrmFileMgrPositive_02(void)
757 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
758 int nRet = TADC_SUCCESS;
760 DrmFileMgr *pDrmFileMgr = NULL;
761 DrmFileHandler *pDcfHandler = NULL;
763 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};
764 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
766 long encryptionLevel = 17;
767 long long encryptionRange = 10;
768 long long plainTextSize = 705072;
769 long long originalEndOffset = 705914;
771 printf("tc07_DrmFileMgrPositive_02() -------- Started! \n");
773 pDrmFileMgr = DrmFileMgr::GetInstance();
775 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &second_key);
777 if (nRet != TADC_SUCCESS) {
778 printf("tc07_DrmFileMgrPositive_02 - OpenFileHandler() failed : key = %d, file = %s, %x\n",
779 second_key, pDCF, nRet);
783 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
785 if (nRet != TADC_SUCCESS) {
786 printf("tc07_DrmFileMgrPositive_02 - GetFileHandler() failed : key = %d, file = %s, %x\n",
787 second_key, pDCF, nRet);
791 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
792 printf("tc07_DrmFileMgrPositive_02 - CEK Comparison failed : %s\n", pDCF);
796 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
797 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
798 printf("tc07_DrmFileMgrPositive_02 - FilePath Comparison failed : %s\n",
799 pDcfHandler->m_pFilePath);
803 if (memcmp(pCID, pDcfHandler->m_pCID,
804 strlen((char *)pDcfHandler->m_pCID)) != 0) {
805 printf("tc07_DrmFileMgrPositive_02 - CID Comparison failed : %s\n",
806 pDcfHandler->m_pCID);
810 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
811 printf("tc07_DrmFileMgrPositive_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
812 encryptionLevel, pDcfHandler->m_encryptionLevel);
816 if (pDcfHandler->m_encryptionRange != encryptionRange) {
817 printf("tc07_DrmFileMgrPositive_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
818 encryptionRange, pDcfHandler->m_encryptionRange);
822 if (pDcfHandler->m_plaintextSize != plainTextSize) {
823 printf("tc07_DrmFileMgrPositive_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
824 plainTextSize, pDcfHandler->m_plaintextSize);
828 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
829 printf("tc07_DrmFileMgrPositive_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
830 originalEndOffset, pDcfHandler->m_OriginEndOffset);
834 printf("tc07_DrmFileMgrPositive_02 finished! -------- success \n");
843 bool tc07_DrmFileMgrPositive_03(void)
845 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
846 int nRet = TADC_SUCCESS;
848 DrmFileMgr *pDrmFileMgr = NULL;
849 DrmFileHandler *pDcfHandler = NULL;
851 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};
853 unsigned char pCID[32] = "FightGuiIF-1.0.0";
855 long encryptionLevel = 17;
856 long long encryptionRange = 10;
857 long long plainTextSize = 45193789;
858 long long originalEndOffset = 45194636;
860 printf("tc07_DrmFileMgrPositive_03() -------- Started! \n");
862 pDrmFileMgr = DrmFileMgr::GetInstance();
864 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &third_key);
866 if (nRet != TADC_SUCCESS) {
867 printf("tc07_DrmFileMgrPositive_03 - OpenFileHandler() failed : key = %d, file = %s, %x\n",
868 third_key, pDCF, nRet);
872 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
874 if (nRet != TADC_SUCCESS) {
875 printf("tc07_DrmFileMgrPositive_03 - GetFileHandler() failed : key = %d, file = %s, %x\n",
876 third_key, pDCF, nRet);
880 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
881 printf("tc07_DrmFileMgrPositive_03 - CEK Comparison failed : %s\n", pDCF);
885 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
886 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
887 printf("tc07_DrmFileMgrPositive_03 - FilePath Comparison failed : %s\n",
888 pDcfHandler->m_pFilePath);
892 if (memcmp(pCID, pDcfHandler->m_pCID,
893 strlen((char *)pDcfHandler->m_pCID)) != 0) {
894 printf("tc07_DrmFileMgrPositive_03 - CID Comparison failed : %s\n",
895 pDcfHandler->m_pCID);
899 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
900 printf("tc07_DrmFileMgrPositive_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
901 encryptionLevel, pDcfHandler->m_encryptionLevel);
905 if (pDcfHandler->m_encryptionRange != encryptionRange) {
906 printf("tc07_DrmFileMgrPositive_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
907 encryptionRange, pDcfHandler->m_encryptionRange);
911 if (pDcfHandler->m_plaintextSize != plainTextSize) {
912 printf("tc07_DrmFileMgrPositive_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
913 plainTextSize, pDcfHandler->m_plaintextSize);
917 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
918 printf("tc07_DrmFileMgrPositive_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
919 originalEndOffset, pDcfHandler->m_OriginEndOffset);
923 printf("tc07_DrmFileMgrPositive_03 finished! -------- success \n");
932 bool tc08_DrmFileMgrPositive_GetFileHandler_01(void)
934 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
935 int nRet = TADC_SUCCESS;
937 DrmFileMgr *pDrmFileMgr = NULL;
938 DrmFileHandler *pDcfHandler = NULL;
940 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};
942 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
944 long encryptionLevel = 17;
945 long long encryptionRange = 10;
946 long long plainTextSize = 1630724;
947 long long originalEndOffset = 1631570;
949 printf("tc08_DrmFileMgrPositive_GetFileHandler_01() -------- Started! \n");
951 pDrmFileMgr = DrmFileMgr::GetInstance();
953 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
955 if (nRet != TADC_SUCCESS) {
956 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 failed : key = %d, file = %s, %x\n",
957 first_key, pDCF, nRet);
961 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
962 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - CEK Comparison failed : %s\n",
967 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
968 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
969 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - FilePath Comparison failed : %s\n",
970 pDcfHandler->m_pFilePath);
974 if (memcmp(pCID, pDcfHandler->m_pCID,
975 strlen((char *)pDcfHandler->m_pCID)) != 0) {
976 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - CID Comparison failed : %s\n",
977 pDcfHandler->m_pCID);
981 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
982 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
983 encryptionLevel, pDcfHandler->m_encryptionLevel);
987 if (pDcfHandler->m_encryptionRange != encryptionRange) {
988 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
989 encryptionRange, pDcfHandler->m_encryptionRange);
993 if (pDcfHandler->m_plaintextSize != plainTextSize) {
994 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
995 plainTextSize, pDcfHandler->m_plaintextSize);
999 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
1000 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
1001 originalEndOffset, pDcfHandler->m_OriginEndOffset);
1005 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 finished! -------- success \n");
1014 bool tc08_DrmFileMgrPositive_GetFileHandler_02(void)
1016 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
1017 int nRet = TADC_SUCCESS;
1019 DrmFileMgr *pDrmFileMgr = NULL;
1020 DrmFileHandler *pDcfHandler = NULL;
1022 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};
1024 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
1026 long encryptionLevel = 17;
1027 long long encryptionRange = 10;
1028 long long plainTextSize = 705072;
1029 long long originalEndOffset = 705914;
1031 printf("tc08_DrmFileMgrPositive_GetFileHandler_02() -------- Started! \n");
1033 pDrmFileMgr = DrmFileMgr::GetInstance();
1035 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1037 if (nRet != TADC_SUCCESS) {
1038 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 failed : key = %d, file = %s, %x\n",
1039 second_key, pDCF, nRet);
1043 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
1044 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - CEK Comparison failed : %s\n",
1049 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
1050 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
1051 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - FilePath Comparison failed : %s\n",
1052 pDcfHandler->m_pFilePath);
1056 if (memcmp(pCID, pDcfHandler->m_pCID,
1057 strlen((char *)pDcfHandler->m_pCID)) != 0) {
1058 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - CID Comparison failed : %s\n",
1059 pDcfHandler->m_pCID);
1063 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
1064 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
1065 encryptionLevel, pDcfHandler->m_encryptionLevel);
1069 if (pDcfHandler->m_encryptionRange != encryptionRange) {
1070 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
1071 encryptionRange, pDcfHandler->m_encryptionRange);
1075 if (pDcfHandler->m_plaintextSize != plainTextSize) {
1076 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
1077 plainTextSize, pDcfHandler->m_plaintextSize);
1081 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
1082 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
1083 originalEndOffset, pDcfHandler->m_OriginEndOffset);
1087 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 finished! -------- success \n");
1096 bool tc08_DrmFileMgrPositive_GetFileHandler_03(void)
1098 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
1099 int nRet = TADC_SUCCESS;
1101 DrmFileMgr *pDrmFileMgr = NULL;
1102 DrmFileHandler *pDcfHandler = NULL;
1104 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};
1106 unsigned char pCID[32] = "FightGuiIF-1.0.0";
1108 long encryptionLevel = 17;
1109 long long encryptionRange = 10;
1110 long long plainTextSize = 45193789;
1111 long long originalEndOffset = 45194636;
1113 printf("tc08_DrmFileMgrPositive_GetFileHandler_03() -------- Started! \n");
1115 pDrmFileMgr = DrmFileMgr::GetInstance();
1117 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1119 if (nRet != TADC_SUCCESS) {
1120 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 failed : key = %d, file = %s, %x\n",
1121 third_key, pDCF, nRet);
1125 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0) {
1126 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - CEK Comparison failed : %s\n",
1131 if (memcmp(pDCF, pDcfHandler->m_pFilePath,
1132 strlen((char *)pDcfHandler->m_pFilePath)) != 0) {
1133 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - FilePath Comparison failed : %s\n",
1134 pDcfHandler->m_pFilePath);
1138 if (memcmp(pCID, pDcfHandler->m_pCID,
1139 strlen((char *)pDcfHandler->m_pCID)) != 0) {
1140 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - CID Comparison failed : %s\n",
1141 pDcfHandler->m_pCID);
1145 if (pDcfHandler->m_encryptionLevel != encryptionLevel) {
1146 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n",
1147 encryptionLevel, pDcfHandler->m_encryptionLevel);
1151 if (pDcfHandler->m_encryptionRange != encryptionRange) {
1152 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n",
1153 encryptionRange, pDcfHandler->m_encryptionRange);
1157 if (pDcfHandler->m_plaintextSize != plainTextSize) {
1158 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n",
1159 plainTextSize, pDcfHandler->m_plaintextSize);
1163 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
1164 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
1165 originalEndOffset, pDcfHandler->m_OriginEndOffset);
1169 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 finished! -------- success \n");
1178 bool tc09_DrmFileMgrPositive_FileAPI_01(void)
1180 const char *pDCF = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
1181 int nRet = TADC_SUCCESS;
1183 DrmFileMgr *pDrmFileMgr = NULL;
1184 DrmFileHandler *pDcfHandler = NULL;
1186 long long originalEndOffset = 1631570;
1187 long long DrmCurOffset = 0;
1188 long long OriginCurOffset = 846;
1191 printf("tc09_DrmFileMgrPositive_FileAPI_01() -------- Started! \n");
1193 pDrmFileMgr = DrmFileMgr::GetInstance();
1195 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1197 if (nRet != TADC_SUCCESS) {
1198 printf("tc09_DrmFileMgrPositive_FileAPI_01 failed : key = %d, file = %s, %x\n",
1199 first_key, pDCF, nRet);
1203 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
1204 printf("tc09_DrmFileMgrPositive_FileAPI_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
1205 originalEndOffset, pDcfHandler->m_OriginEndOffset);
1209 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset) {
1210 printf("tc09_DrmFileMgrPositive_FileAPI_01 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n",
1211 OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1215 for (i = 0; i <= pDcfHandler->m_DrmEndOffset; i++) {
1216 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1218 if (nRet != TADC_SUCCESS) {
1219 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n",
1220 first_key, pDCF, i, nRet);
1224 DrmCurOffset = pDcfHandler->DrmTell();
1226 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1227 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_SET, forward) : origin = %lld, result = %lld, i = %lld\n",
1228 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1233 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1234 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n",
1235 DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1239 for (i = pDcfHandler->m_DrmEndOffset; i >= 0; i--) {
1240 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1242 if (nRet != TADC_SUCCESS) {
1243 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n",
1244 first_key, pDCF, i, nRet);
1248 DrmCurOffset = pDcfHandler->DrmTell();
1250 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1251 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i=%lld\n",
1252 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1257 if (DrmCurOffset != 0) {
1258 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n",
1259 DrmCurOffset, nRet);
1263 for (i = 0; i <= pDcfHandler->m_DrmEndOffset; i++) {
1264 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1266 if (nRet != TADC_SUCCESS) {
1267 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n",
1268 first_key, pDCF, i, nRet);
1272 DrmCurOffset = pDcfHandler->DrmTell();
1274 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1275 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n",
1276 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1281 if (DrmCurOffset != 0) {
1282 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n",
1283 DrmCurOffset, nRet);
1287 for (i = pDcfHandler->m_DrmEndOffset; i >= 0; i--) {
1288 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1290 if (nRet != TADC_SUCCESS) {
1291 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n",
1292 first_key, pDCF, i, nRet);
1296 DrmCurOffset = pDcfHandler->DrmTell();
1298 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1299 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n",
1300 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1305 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1306 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n",
1307 DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1311 for (i = 0; i < pDcfHandler->m_DrmEndOffset; i++) {
1312 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1314 if (nRet != TADC_SUCCESS) {
1315 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n",
1316 first_key, pDCF, i, nRet);
1320 DrmCurOffset = pDcfHandler->DrmTell();
1322 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1323 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n",
1324 DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1329 if (DrmCurOffset != 0) {
1330 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n",
1331 DrmCurOffset, nRet);
1335 for (i = 0; i < pDcfHandler->m_DrmEndOffset; i++) {
1336 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1338 if (nRet != TADC_SUCCESS) {
1339 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n",
1340 first_key, pDCF, i, nRet);
1344 DrmCurOffset = pDcfHandler->DrmTell();
1346 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1347 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n",
1348 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1353 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1354 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n",
1355 DrmCurOffset, nRet);
1359 printf("tc09_DrmFileMgrPositive_FileAPI_01 finished! -------- success \n");
1367 bool tc09_DrmFileMgrPositive_FileAPI_02(void)
1369 const char *pDCF = TEST_DATA_DIR "/DCF/8SPXfqc6iL.tpk";
1370 int nRet = TADC_SUCCESS;
1372 DrmFileMgr *pDrmFileMgr = NULL;
1373 DrmFileHandler *pDcfHandler = NULL;
1375 long long originalEndOffset = 705914;
1376 long long DrmCurOffset = 0;
1377 long long OriginCurOffset = 842;
1380 printf("tc09_DrmFileMgrPositive_FileAPI_02() -------- Started! \n");
1382 pDrmFileMgr = DrmFileMgr::GetInstance();
1384 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1386 if (nRet != TADC_SUCCESS) {
1387 printf("tc09_DrmFileMgrPositive_FileAPI_02 failed : key = %d, file = %s, %x\n",
1388 second_key, pDCF, nRet);
1392 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
1393 printf("tc09_DrmFileMgrPositive_FileAPI_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
1394 originalEndOffset, pDcfHandler->m_OriginEndOffset);
1398 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset) {
1399 printf("tc09_DrmFileMgrPositive_FileAPI_02 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n",
1400 OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1404 for (i = 0; i <= pDcfHandler->m_DrmEndOffset; i++) {
1405 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1407 if (nRet != TADC_SUCCESS) {
1408 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n",
1409 second_key, pDCF, i, nRet);
1413 DrmCurOffset = pDcfHandler->DrmTell();
1415 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1416 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_SET, forward : origin = %lld, result = %lld, i = %lld\n",
1417 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1422 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1423 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n",
1424 DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1428 for (i = pDcfHandler->m_DrmEndOffset; i >= 0; i--) {
1429 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1431 if (nRet != TADC_SUCCESS) {
1432 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n",
1433 second_key, pDCF, i, nRet);
1437 DrmCurOffset = pDcfHandler->DrmTell();
1439 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1440 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i = %lld\n",
1441 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1446 if (DrmCurOffset != 0) {
1447 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n",
1448 DrmCurOffset, nRet);
1452 for (i = 0; i <= pDcfHandler->m_DrmEndOffset; i++) {
1453 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1455 if (nRet != TADC_SUCCESS) {
1456 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n",
1457 second_key, pDCF, i, nRet);
1461 DrmCurOffset = pDcfHandler->DrmTell();
1463 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1464 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n",
1465 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1470 if (DrmCurOffset != 0) {
1471 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n",
1472 DrmCurOffset, nRet);
1476 for (i = pDcfHandler->m_DrmEndOffset; i >= 0; i--) {
1477 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1479 if (nRet != TADC_SUCCESS) {
1480 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n",
1481 second_key, pDCF, i, nRet);
1485 DrmCurOffset = pDcfHandler->DrmTell();
1487 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1488 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n",
1489 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1494 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1495 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n",
1496 DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1500 for (i = 0; i < pDcfHandler->m_DrmEndOffset; i++) {
1501 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1503 if (nRet != TADC_SUCCESS) {
1504 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n",
1505 second_key, pDCF, i, nRet);
1509 DrmCurOffset = pDcfHandler->DrmTell();
1511 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1512 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n",
1513 DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1518 if (DrmCurOffset != 0) {
1519 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n",
1520 DrmCurOffset, nRet);
1524 for (i = 0; i < pDcfHandler->m_DrmEndOffset; i++) {
1525 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1527 if (nRet != TADC_SUCCESS) {
1528 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n",
1529 second_key, pDCF, i, nRet);
1533 DrmCurOffset = pDcfHandler->DrmTell();
1535 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1536 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n",
1537 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1542 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1543 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n",
1544 DrmCurOffset, nRet);
1548 printf("tc09_DrmFileMgrPositive_FileAPI_02 finished! -------- success \n");
1556 bool tc09_DrmFileMgrPositive_FileAPI_03(void)
1558 const char *pDCF = TEST_DATA_DIR "/DCF/FightGuiIF.tpk";
1559 int nRet = TADC_SUCCESS;
1561 DrmFileMgr *pDrmFileMgr = NULL;
1562 DrmFileHandler *pDcfHandler = NULL;
1564 long long originalEndOffset = 45194636;
1565 long long DrmCurOffset = 0;
1566 long long OriginCurOffset = 847;
1569 printf("tc09_DrmFileMgrPositive_FileAPI_03() -------- Started! \n");
1571 pDrmFileMgr = DrmFileMgr::GetInstance();
1573 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1575 if (nRet != TADC_SUCCESS) {
1576 printf("tc09_DrmFileMgrPositive_FileAPI_03 failed : key = %d, file = %s, %x\n",
1577 third_key, pDCF, nRet);
1581 if (pDcfHandler->m_OriginEndOffset != originalEndOffset) {
1582 printf("tc09_DrmFileMgrPositive_FileAPI_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n",
1583 originalEndOffset, pDcfHandler->m_OriginEndOffset);
1587 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset) {
1588 printf("tc09_DrmFileMgrPositive_FileAPI_03 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n",
1589 OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1593 for (i = 0; i <= pDcfHandler->m_DrmEndOffset; i++) {
1594 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1596 if (nRet != TADC_SUCCESS) {
1597 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n",
1598 third_key, pDCF, i, nRet);
1602 DrmCurOffset = pDcfHandler->DrmTell();
1604 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1605 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_SET, forward) : origin = %lld, result = %lld, i = %lld\n",
1606 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1611 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1612 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n",
1613 DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1617 for (i = pDcfHandler->m_DrmEndOffset; i >= 0; i--) {
1618 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1620 if (nRet != TADC_SUCCESS) {
1621 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n",
1622 third_key, pDCF, i, nRet);
1626 DrmCurOffset = pDcfHandler->DrmTell();
1628 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1629 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i = %lld\n",
1630 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1635 if (DrmCurOffset != 0) {
1636 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n",
1637 DrmCurOffset, nRet);
1641 for (i = 0; i <= pDcfHandler->m_DrmEndOffset; i++) {
1642 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1644 if (nRet != TADC_SUCCESS) {
1645 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n",
1646 third_key, pDCF, i, nRet);
1650 DrmCurOffset = pDcfHandler->DrmTell();
1652 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1653 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n",
1654 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1659 if (DrmCurOffset != 0) {
1660 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n",
1661 DrmCurOffset, nRet);
1665 for (i = pDcfHandler->m_DrmEndOffset; i >= 0; i--) {
1666 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1668 if (nRet != TADC_SUCCESS) {
1669 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n",
1670 third_key, pDCF, i, nRet);
1674 DrmCurOffset = pDcfHandler->DrmTell();
1676 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1677 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n",
1678 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1683 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1684 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n",
1685 DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1689 for (i = 0; i < pDcfHandler->m_DrmEndOffset; i++) {
1690 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1692 if (nRet != TADC_SUCCESS) {
1693 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n",
1694 third_key, pDCF, i, nRet);
1698 DrmCurOffset = pDcfHandler->DrmTell();
1700 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1701 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n",
1702 DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1707 if (DrmCurOffset != 0) {
1708 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n",
1709 DrmCurOffset, nRet);
1713 for (i = 0; i < pDcfHandler->m_DrmEndOffset; i++) {
1714 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1716 if (nRet != TADC_SUCCESS) {
1717 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n",
1718 third_key, pDCF, i, nRet);
1722 DrmCurOffset = pDcfHandler->DrmTell();
1724 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset) {
1725 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n",
1726 DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1731 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset) {
1732 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n",
1733 DrmCurOffset, nRet);
1737 printf("tc09_DrmFileMgrPositive_FileAPI_03 finished! -------- success \n");
1745 bool tc10_DrmFileMgrPositive_CloseFileHandler_01(void)
1747 int nRet = TADC_SUCCESS;
1749 DrmFileMgr *pDrmFileMgr = NULL;
1750 DrmFileHandler *pDcfHandler = NULL;
1752 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 -------- Started! \n");
1754 pDrmFileMgr = DrmFileMgr::GetInstance();
1756 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1758 if (nRet != TADC_SUCCESS) {
1759 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d, ret=%x\n",
1764 nRet = pDrmFileMgr->CloseFileHandler(first_key);
1766 if (nRet != TADC_SUCCESS) {
1767 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d, ret=%x\n",
1772 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1774 if (nRet == TADC_SUCCESS) {
1775 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d\n",
1780 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 finished! -------- success \n");
1788 bool tc10_DrmFileMgrPositive_CloseFileHandler_02(void)
1790 int nRet = TADC_SUCCESS;
1792 DrmFileMgr *pDrmFileMgr = NULL;
1793 DrmFileHandler *pDcfHandler = NULL;
1795 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 -------- Started! \n");
1797 pDrmFileMgr = DrmFileMgr::GetInstance();
1799 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1801 if (nRet != TADC_SUCCESS) {
1802 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d, ret=%x\n",
1807 nRet = pDrmFileMgr->CloseFileHandler(second_key);
1809 if (nRet != TADC_SUCCESS) {
1810 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d, ret=%x\n",
1815 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1817 if (nRet == TADC_SUCCESS) {
1818 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d\n",
1823 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 finished! -------- success \n");
1831 bool tc10_DrmFileMgrPositive_CloseFileHandler_03(void)
1833 int nRet = TADC_SUCCESS;
1835 DrmFileMgr *pDrmFileMgr = NULL;
1836 DrmFileHandler *pDcfHandler = NULL;
1838 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 -------- Started! \n");
1840 pDrmFileMgr = DrmFileMgr::GetInstance();
1842 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1844 if (nRet != TADC_SUCCESS) {
1845 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d, ret=%x\n",
1850 nRet = pDrmFileMgr->CloseFileHandler(third_key);
1852 if (nRet != TADC_SUCCESS) {
1853 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d, ret=%x\n",
1858 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1860 if (nRet == TADC_SUCCESS) {
1861 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d\n",
1866 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 finished! -------- success \n");
1874 bool tc11_GetDeviceId_01(void)
1876 unsigned char DUID[33] = {0, };
1879 printf("tc11_GetDeviceID_01() -------- Started! \n");
1881 nRet = TADC_IF_GetDUID((char *)DUID);
1883 if (nRet != TADC_SUCCESS) {
1884 printf("tc11_GetDeviceID_01() failed.");
1888 printf("DUID=%s\n", (char *)DUID);
1889 printf("tc11_GetDeviceID_01() finished! -------- success \n");
1894 bool tc12_TADC_SetDeviceInfo_01(void)
1896 int nRet = TADC_SUCCESS;
1897 T_DEVICE_INFO t_DeviceInfo;
1899 printf("tc12_TADC_SetDeviceInfo_01() -------- Started! \n");
1901 nRet = TADC_SetDeviceInfo(&t_DeviceInfo);
1903 if (nRet != TADC_SUCCESS) {
1904 printf("tc12_TADC_SetDeviceInfo_01() failed.\n");
1908 printf("DUID=%s\n", (char *)t_DeviceInfo.DUID);
1909 printf("tc12_TADC_SetDeviceInfo_01() finished! -------- success \n");
1914 bool tc13_DTappsInstallLicense_01(void)
1916 printf("tc13_DTappsInstallLicense_01() -------- Started! \n");
1918 const char *pFirstRo = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.ro";
1920 auto buf = _read_ro_file(pFirstRo);
1922 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1924 if (nRet != TADC_SUCCESS) {
1925 printf("tc13_DTappsInstallLicense_01() failed. nRet=%d\n", nRet);
1929 printf("tc13_DTappsInstallLicense_01() finished! -------- success \n");
1933 bool tc13_DTappsInstallLicense_02(void)
1935 printf("tc13_DTappsInstallLicense_02() -------- Started! \n");
1937 const char *pFirstRo = TEST_DATA_DIR "/RO/8SPXfqc6iL-1.0.0.ro";
1939 auto buf = _read_ro_file(pFirstRo);
1941 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1943 if (nRet != TADC_SUCCESS) {
1944 printf("tc13_DTappsInstallLicense_02() failed. nRet=%d\n", nRet);
1948 printf("tc13_DTappsInstallLicense_02() finished! -------- success \n");
1952 bool tc13_DTappsInstallLicense_03(void)
1954 printf("tc13_DTappsInstallLicense_03() -------- Started! \n");
1956 const char *pFirstRo = TEST_DATA_DIR "/RO/FightGuiIF-1.0.0.ro";
1958 auto buf = _read_ro_file(pFirstRo);
1960 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1962 if (nRet != TADC_SUCCESS) {
1963 printf("tc13_DTappsInstallLicense_03() failed. nRet=%d\n", nRet);
1967 printf("tc13_DTappsInstallLicense_03() finished! -------- success \n");
1972 tc_local_01_drm_tizen_generate_license_request_p(void)
1975 int ret_value = DRMTEST_SUCCESS;
1977 char *purchase_response = NULL;
1978 char *req_id = NULL;
1979 unsigned int req_buff_len = 1024 * 5;
1980 char req_buff[req_buff_len] = {0, };
1981 unsigned int url_buff_len = 1024;
1982 char url_buff[url_buff_len] = {0, };
1984 printf("[%s] test started\n", __func__);
1985 ret_value = generate_purchase_response(&purchase_response, &req_id);
1987 if (ret_value != DRMTEST_SUCCESS) {
1992 printf("...purchase_response:\n%s\n", purchase_response);
1994 ret_value = drm_tizen_generate_license_request(purchase_response,
1995 strlen(purchase_response),
1996 req_buff, &req_buff_len, url_buff, &url_buff_len);
1998 if (ret_value != TADC_SUCCESS) {
1999 printf("...drm_tizen_generate_license_request failed. ret=%d\n", ret_value);
2004 printf("...license_request_url:%s\n", url_buff);
2005 printf("...license_request:\n%s\n", req_buff);
2007 printf("[%s] test ended: result=%d\n", __func__, ret_value);
2011 if (purchase_response != NULL)
2012 free(purchase_response);
2021 tc_local_01_drm_tizen_full_test_p(void)
2024 int ret_value = DRMTEST_SUCCESS;
2026 char *purchase_response = NULL;
2027 char *req_id = NULL;
2028 unsigned int req_buff_len = 1024 * 5;
2029 char req_buff[req_buff_len] = {0, };
2030 unsigned int url_buff_len = 1024;
2031 char url_buff[url_buff_len] = {0, };
2033 char *ro_request_buff = NULL;
2034 char *ro_response_buff = NULL;
2035 char *dh_key_p = NULL;
2036 char *dh_key_g = NULL;
2037 char *dh_key_a = NULL;
2039 unsigned char duid[33] = {0, };
2040 const char *cid = "38EIfBurLJ-1.0.2";
2041 const char *ro_template_path = TEST_DATA_DIR "/RO/38EIfBurLJ-1.0.2.ro_template";
2043 const char *encrypted_file_path = TEST_DATA_DIR "/DCF/38EIfBurLJ.tpk";
2044 const char *plaintext_file_path = TEST_DATA_DIR
2045 "/DecryptedApp/38EIfBurLJ_dec.tpk";
2046 const char *decrypted_file_path = "/tmp/38EIfBurLJ.tpk";
2048 int identical = DRMTEST_NOTIDENTICAL;
2050 printf("[%s] test started\n", __func__);
2052 if (ret_value != DRMTEST_SUCCESS) {
2057 ret_value = generate_purchase_response(&purchase_response, &req_id);
2059 if (ret_value != DRMTEST_SUCCESS) {
2064 //printf("...purchase_response:\n%s\n", purchase_response);
2066 ret_value = drm_tizen_generate_license_request(purchase_response,
2067 strlen(purchase_response),
2068 req_buff, &req_buff_len, url_buff, &url_buff_len);
2070 if (ret_value != TADC_SUCCESS) {
2071 printf("...drm_tizen_generate_license_request failed. ret=%d\n", ret_value);
2076 printf("...license_request_url:%s\n", url_buff);
2077 printf("...license_request:\n%s\n", req_buff);
2079 ret_value = get_dh_key_from_ro_request(req_buff, &dh_key_p, &dh_key_g,
2082 if (ret_value != DRMTEST_SUCCESS) {
2087 //printf("...DH key: p=%s, g=%s, a=%s\n", dh_key_p, dh_key_g, dh_key_a);
2089 ret_value = TADC_IF_GetDUID((char *)duid);
2091 if (ret_value != TADC_SUCCESS) {
2095 printf("duid=%s\n", (char *)duid);
2097 ret_value = generate_right_object_response(dh_key_p, dh_key_g, dh_key_a, req_id,
2098 cid, ro_template_path, (const char *)duid, &ro_response_buff);
2100 if (ret_value != DRMTEST_SUCCESS) {
2105 printf("...right_object_response:\n%s\n", ro_response_buff);
2107 ret_value = drm_tizen_register_license(ro_response_buff,
2108 strlen(ro_response_buff));
2110 if (ret_value != TADC_SUCCESS) {
2111 printf("...drm_tizen_register_license failed. ret=%d\n", ret_value);
2116 printf("...drm_tizen_register_license: succeeded\n");
2118 ret_value = drm_tizen_decrypt_package(encrypted_file_path,
2119 strlen(encrypted_file_path),
2120 decrypted_file_path, strlen(decrypted_file_path));
2122 if (ret_value != TADC_SUCCESS) {
2123 printf("...drm_tizen_decrypt_package failed. ret=%d\n", ret_value);
2128 printf("...drm_tizen_decrypt_package: succeeded\n");
2130 ret_value = is_identical_files(plaintext_file_path, decrypted_file_path,
2133 if (ret_value != DRMTEST_SUCCESS) {
2134 printf("...is_identical_files failed. ret=%d\n", ret_value);
2139 if (identical != DRMTEST_IDENTICAL) {
2140 printf("...the decrypted file is not same with a original plaintext file .\n");
2145 printf("...drm_tizen_decrypt_package: succeeded : the decrypted file is with a original plaintext file.\n");
2149 if (purchase_response != NULL)
2150 free(purchase_response);
2155 if (ro_request_buff != NULL)
2156 free(ro_request_buff);
2158 if (ro_response_buff != NULL)
2159 free(ro_response_buff);
2166 bool tc15_DrmTdcDecryptPackge_01(void)
2168 int nRet = TADC_SUCCESS;
2174 int main(int, char *[])
2176 printf(" ---------- Test Tizen DRM core --- Start ....\n");
2178 printf(" ---------- Test Tizen DRM core --- End ....\n");
2181 printf(" ---------- Test Tizen DRM v2.0.1 APIs --- Start .... \n");
2183 int bRet = TADC_SUCCESS;
2185 char ReqBuf[1024 * 5] = {0, };
2186 unsigned int ReqBufLen = 0;
2188 char RespBuf[1024 * 10] = {0, };
2189 unsigned int RespBufLen = 0;
2191 // char DecLicenseBuf[1024*10] = {0, };
2192 // unsigned int DecLicenseBufLen = 0;
2194 char LicenseUrl[1024] = {0, };
2195 unsigned int LicenseUrlLen = 0;
2198 //DrmTdcFileHeader TDCFileHeader;
2199 // char cid[1024] = {0, };
2200 // char riurl[1024] = {0, };
2202 char testFileName[256] = {0, };
2203 char tempBuf[256] = {0, };
2207 //----------------------------------------------------------------------------------------------------
2208 // 0. Static TC running
2209 //----------------------------------------------------------------------------------------------------
2211 printf("\n0. Static TC Start ----------------------------------------\n");
2213 isOk = tc01_VerifyRoSignature_Positive_01();
2216 printf("tc01_VerifyRoSignature_Positive_01 failed!\n");
2219 isOk = tc01_VerifyRoSignature_Positive_02();
2222 printf("tc01_VerifyRoSignature_Positive_02 failed!\n");
2225 isOk = tc01_VerifyRoSignature_Positive_03();
2228 printf("tc01_VerifyRoSignature_Positive_03 failed!\n");
2231 isOk = tc02_VerifyRoSignature_Negative_Cert_01();
2234 printf("tc02_VerifyRoSignature_Negative_Cert_01 failed!\n");
2237 isOk = tc02_VerifyRoSignature_Negative_Cert_02();
2240 printf("tc02_VerifyRoSignature_Negative_Cert_02 failed!\n");
2243 isOk = tc02_VerifyRoSignature_Negative_Cert_03();
2246 printf("tc02_VerifyRoSignature_Negative_Cert_03 failed!\n");
2249 isOk = tc03_VerifyRoSignature_Negative_Signature_01();
2252 printf("tc03_VerifyRoSignature_Negative_Signature_01 failed!\n");
2255 isOk = tc03_VerifyRoSignature_Negative_Signature_02();
2258 printf("tc03_VerifyRoSignature_Negative_Signature_02 failed!\n");
2261 isOk = tc03_VerifyRoSignature_Negative_Signature_03();
2264 printf("tc03_VerifyRoSignature_Negative_Signature_03 failed!\n");
2267 isOk = tc04_isDrmFile_Positive_01();
2270 printf("tc04_isDrmFile_Positive_01 failed!\n");
2273 isOk = tc04_isDrmFile_Positive_02();
2276 printf("tc04_isDrmFile_Positive_02 failed!\n");
2279 isOk = tc04_isDrmFile_Positive_03();
2282 printf("tc04_isDrmFile_Positive_03 failed!\n");
2285 isOk = tc05_isDrmFile_Negative_01();
2288 printf("tc05_isDrmFile_Negative_01 failed!\n");
2291 isOk = tc05_isDrmFile_Negative_02();
2294 printf("tc05_isDrmFile_Negative_02 failed!\n");
2297 isOk = tc05_isDrmFile_Negative_03();
2300 printf("tc05_isDrmFile_Negative_03 failed!\n");
2303 isOk = tc13_DTappsInstallLicense_01();
2306 printf("tc13_DTappsInstallLicense_01 failed!\n");
2309 isOk = tc13_DTappsInstallLicense_02();
2312 printf("tc13_DTappsInstallLicense_02 failed!\n");
2315 isOk = tc13_DTappsInstallLicense_03();
2318 printf("tc13_DTappsInstallLicense_03 failed!\n");
2321 isOk = tc06_DrmFileHandlerPositive_01();
2324 printf("tc06_DrmFileHandlerPositive_01 failed!\n");
2327 isOk = tc06_DrmFileHandlerPositive_02();
2330 printf("tc06_DrmFileHandlerPositive_02 failed!\n");
2333 isOk = tc06_DrmFileHandlerPositive_03();
2336 printf("tc06_DrmFileHandlerPositive_03 failed!\n");
2339 isOk = tc07_DrmFileMgrPositive_01();
2342 printf("tc07_DrmFileMgrPositive_01 failed!\b");
2345 isOk = tc07_DrmFileMgrPositive_02();
2348 printf("tc07_DrmFileMgrPositive_02 failed!\n");
2351 isOk = tc07_DrmFileMgrPositive_03();
2354 printf("tc07_DrmFileMgrPositive_03 failed!\n");
2357 isOk = tc08_DrmFileMgrPositive_GetFileHandler_01();
2360 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 failed!\n");
2363 isOk = tc08_DrmFileMgrPositive_GetFileHandler_02();
2366 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 failed!\n");
2369 isOk = tc08_DrmFileMgrPositive_GetFileHandler_03();
2372 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 failed!\n");
2375 isOk = tc09_DrmFileMgrPositive_FileAPI_01();
2378 printf("tc09_DrmFileMgrPositive_FileAPI_01 failed!\n");
2381 isOk = tc09_DrmFileMgrPositive_FileAPI_02();
2384 printf("tc09_DrmFileMgrPositive_FileAPI_02 failed!\n");
2387 isOk = tc09_DrmFileMgrPositive_FileAPI_03();
2390 printf("tc09_DrmFileMgrPositive_FileAPI_03 failed!\n");
2393 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_01();
2396 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed!\n");
2399 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_02();
2402 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed!\n");
2405 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_03();
2408 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed!\n");
2411 isOk = tc11_GetDeviceId_01();
2414 printf("tc11_GetDeviceId_01 failed!\n");
2417 isOk = tc12_TADC_SetDeviceInfo_01();
2420 printf("tc12_TADC_SetDeviceInfo_01 failed!\n");
2423 isOk = tc11_GetDeviceId_01();
2426 printf("tc11_GetDeviceId_01 failed!\n");
2429 isOk = tc_local_01_drm_tizen_full_test_p();
2432 printf("tc_local_01_drm_tizen_full_test_p failed!\n");
2435 //----------------------------------------------------------------------------------------------------
2436 // 1. Check is drm file
2437 //----------------------------------------------------------------------------------------------------
2439 printf("===============================================================================\n");
2440 printf("Enter test file name --> ");
2442 isOk = scanf("%s", testFileName);
2445 printf("Input value wrong! scanf() failed!!");
2449 printf("\n1. drm_tizen_is_drm_file Start ----------------------------------------\n");
2451 bRet = drm_tizen_is_drm_file(testFileName, strlen(testFileName));
2453 if (bRet != TADC_SUCCESS) {
2454 printf("drm_tizen_is_drm_file Error! ret = %d\n", bRet);
2458 printf("%s file is TADC file!\n", testFileName);
2460 //----------------------------------------------------------------------------------------------------
2461 // 2. Make PurchaseRequest Data
2462 //----------------------------------------------------------------------------------------------------
2463 printf("\n2. Make PurchaseRequest Data Start ----------------------------------------\n");
2465 memset(ReqBuf, 0x00, sizeof(ReqBuf));
2466 memset(LicenseUrl, 0x00, sizeof(LicenseUrl));
2467 ReqBufLen = sizeof(ReqBuf);
2468 LicenseUrlLen = sizeof(LicenseUrl);
2470 bRet = drm_tizen_generate_purchase_request(testFileName, ReqBuf, &ReqBufLen,
2471 LicenseUrl, &LicenseUrlLen);
2473 if (bRet == false) {
2474 printf(" drm_tizen_generate_purchase_request Error! \n");
2478 printf("drm_tizen_generate_purchase_request - ReqBufLen : %d, License Url : %s \n",
2479 ReqBufLen, LicenseUrl);
2481 if ((bRet = _write_logfile("Request_1.dat", ReqBuf, ReqBufLen - 1)) == false) {
2482 printf(" drm_tizen_generate_purchase_request _write_logfile Error! \n");
2486 //break.... HTTP Request & Reaponse Processing...
2487 printf("Enter any key after create Response_1.dat file. --> ");
2488 std::cin >> tempBuf;
2490 memset(RespBuf, 0x00, sizeof(RespBuf));
2491 RespBufLen = sizeof(RespBuf);
2493 if ((bRet = _read_logfile("Response_1.dat", RespBuf, &RespBufLen)) == false) {
2494 printf(" drm_tizen_generate_purchase_request _read_logfile Error! \n");
2498 //----------------------------------------------------------------------------------------------------
2499 // 3. Make License Request Data
2500 //----------------------------------------------------------------------------------------------------
2501 printf("\n3. Make License Request Data Start ----------------------------------------\n");
2503 memset(ReqBuf, 0x00, sizeof(ReqBuf));
2504 memset(LicenseUrl, 0x00, sizeof(LicenseUrl));
2505 ReqBufLen = sizeof(ReqBuf);
2506 LicenseUrlLen = sizeof(LicenseUrl);
2508 bRet = drm_tizen_generate_license_request(RespBuf, RespBufLen, ReqBuf,
2509 &ReqBufLen, LicenseUrl, &LicenseUrlLen);
2511 if (bRet != TADC_SUCCESS) {
2512 printf(" drm_tizen_generate_license_request Error! \n");
2516 printf("drm_tizen_generate_license_request - ReqBufLen : %d, RO Url : %s \n",
2517 ReqBufLen, LicenseUrl);
2519 if ((bRet = _write_logfile("Request_2.dat", ReqBuf, ReqBufLen - 1)) == false) {
2520 printf(" drm_tizen_generate_license_request _write_logfile Error! \n");
2524 //break.... HTTP Request & Reaponse Processing...
2525 printf("Enter any key after create Response_2.dat file. --> ");
2526 std::cin >> tempBuf;
2528 memset(RespBuf, 0x00, sizeof(RespBuf));
2529 RespBufLen = sizeof(RespBuf);
2531 if ((bRet = _read_logfile("Response_2.dat", RespBuf, &RespBufLen)) == false) {
2532 printf(" drm_tizen_generate_license_request _read_logfile Error! \n");
2536 //----------------------------------------------------------------------------------------------------
2537 // 4. Decrypt DRM License
2538 //----------------------------------------------------------------------------------------------------
2539 printf("\n4. Decrypt DRM License Start --------------------------------------------\n");
2541 bRet = drm_tizen_register_license(RespBuf, RespBufLen);
2543 if (bRet != TADC_SUCCESS) {
2544 printf(" drm_tizen_register_license Error! \n");
2548 //---------------------------------------------------------------------------------------------------
2549 // 5. Decrypt DRM File
2550 //----------------------------------------------------------------------------------------------------
2551 printf("\n5. Decrypt DRM File Start -----------------------------------------\n");
2553 sprintf(tempBuf, "%s.dec", testFileName);
2554 bRet = drm_tizen_decrypt_package(testFileName, strlen(testFileName), tempBuf,
2557 if (bRet != TADC_SUCCESS) {
2558 printf(" drm_tizen_decrypt_package Error! \n");
2562 printf("\n --------------Test Tizen Apps DRM APIs --- End ---------------\n");