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"
30 #include <tzplatform_config.h>
33 static int first_key = 0;
34 static int second_key = 0;
35 static int third_key = 0;
37 bool _write_logfile(const char *filename, char *buf, unsigned int len)
41 if ((fd = fopen(filename,"w+b")) == NULL)
46 fwrite(buf, 1, len,fd);
52 bool _read_logfile(const char *filename, char *buf, unsigned int *pLen)
57 if ((fd = fopen(filename,"r+b")) == NULL)
62 nReadLen = fread(buf, 1, *pLen,fd);
70 bool tc01_VerifyRoSignature_Positive_01(void)
72 printf("tc01_VerifyRoSignature_Positive_01() -------- Started! \n");
74 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.ro");
76 auto buf = _read_ro_file(pRo);
78 int nRet = TADC_VerifyROSignature(buf.data());
80 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
84 printf("tc01_VerifyRoSignature_Positive_01() finished! -------- success \n");
89 bool tc01_VerifyRoSignature_Positive_02(void)
91 printf("tc01_VerifyRoSignature_Positive_02() -------- Started! \n");
92 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/8SPXfqc6iL-1.0.0.ro");
94 auto buf = _read_ro_file(pRo);
96 int nRet = TADC_VerifyROSignature(buf.data());
98 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
102 printf("tc01_VerifyRoSignature_Positive_02() finished! -------- success \n");
106 bool tc01_VerifyRoSignature_Positive_03(void)
108 printf("tc01_VerifyRoSignature_Positive_03() -------- Started! \n");
110 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/FightGuiIF-1.0.0.ro");
112 auto buf = _read_ro_file(pRo);
114 int nRet = TADC_VerifyROSignature(buf.data());
117 printf("VerifyROSignature Failed! : %s, %d\n", pRo, nRet);
121 printf("tc01_VerifyRoSignature_Positive_03() finished! -------- success \n");
125 bool tc02_VerifyRoSignature_Negative_Cert_01(void)
127 printf("tc02_VerifyRoSignature_Negative_Cert_01() -------- Started! \n");
129 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.cert_only_selfsigned.ro");
131 auto buf = _read_ro_file(pRo);
133 int nRet = TADC_VerifyROSignature(buf.data());
135 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
139 printf("tc02_VerifyRoSignature_Negative_Cert_01 finished! -------- success \n");
143 bool tc02_VerifyRoSignature_Negative_Cert_02(void)
145 printf("tc02_VerifyRoSignature_Negative_Cert_02() -------- Started! \n");
147 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.cert_chain_invalid.ro");
149 auto buf = _read_ro_file(pRo);
151 int nRet = TADC_VerifyROSignature(buf.data());
153 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
157 printf("tc02_VerifyRoSignature_Negative_Cert_02 finished! -------- success \n");
161 bool tc02_VerifyRoSignature_Negative_Cert_03(void)
163 printf("tc02_VerifyRoSignature_Negative_Cert_03() -------- Started! \n");
165 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.cert_invalid.ro");
167 auto buf = _read_ro_file(pRo);
169 int nRet = TADC_VerifyROSignature(buf.data());
171 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
175 printf("tc02_VerifyRoSignature_Negative_Cert_03 finished! -------- success \n");
179 bool tc03_VerifyRoSignature_Negative_Signature_01(void)
181 printf("tc03_VerifyRoSignature_Negative_Signature_01() -------- Started! \n");
183 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/FightGuiIF-1.0.0.signature_invalid.ro");
185 auto buf = _read_ro_file(pRo);
187 int nRet = TADC_VerifyROSignature(buf.data());
189 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
193 printf("tc03_VerifyRoSignature_Negative_Signature_01() finished! -------- success \n");
198 bool tc03_VerifyRoSignature_Negative_Signature_02(void)
200 printf("tc03_VerifyRoSignature_Negative_Signature_02() -------- Started! \n");
202 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.signature_invalid.ro");
204 auto buf = _read_ro_file(pRo);
206 int nRet = TADC_VerifyROSignature(buf.data());
208 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
212 printf("tc03_VerifyRoSignature_Negative_Signature_01() finished! -------- success \n");
217 bool tc03_VerifyRoSignature_Negative_Signature_03(void)
219 printf("tc03_VerifyRoSignature_Negative_Signature_03() -------- Started! \n");
221 const char *pRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/8SPXfqc6iL-1.0.0.signature_invalid.ro");
223 auto buf = _read_ro_file(pRo);
225 int nRet = TADC_VerifyROSignature(buf.data());
227 printf("VerifyROSignature have to be failed. But success! : %s, %d\n", pRo, nRet);
231 printf("tc03_VerifyRoSignature_Negative_Signature_03() finished! -------- success \n");
236 bool tc04_isDrmFile_Positive_01(void)
238 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/38EIfBurLJ.tpk");
240 printf("tc04_isDrmFile_Positive_01() -------- Started!\n");
242 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
243 if (nRet != TADC_SUCCESS) {
244 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
245 printf("%s file is not TADC file!\n", pDCF);
249 printf("tc04_isDrmFile_Positive_01() finished! -------- success \n");
254 bool tc04_isDrmFile_Positive_02(void)
256 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/8SPXfqc6iL.tpk");
258 printf("tc04_isDrmFile_Positive_02() -------- Started!\n");
260 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
261 if (nRet != TADC_SUCCESS) {
262 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
263 printf("%s file is not TADC file!\n", pDCF);
267 printf("tc04_isDrmFile_Positive_02() finished! -------- success \n");
272 bool tc04_isDrmFile_Positive_03(void)
274 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/FightGuiIF.tpk");
276 printf("tc04_isDrmFile_Positive_03() -------- Started!\n");
278 int nRet = drm_tizen_is_drm_file(pDCF, strlen(pDCF));
279 if (nRet != TADC_SUCCESS) {
280 printf("drm_tizen_is_drm_file failed. Path = %s, Ret = %d\n", pDCF, nRet);
281 printf("%s file is not TADC file!\n", pDCF);
285 printf("tc04_isDrmFile_Positive_03() finished! -------- success \n");
290 bool tc05_isDrmFile_Negative_01(void)
292 const char *pApp = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DecryptedApp/38EIfBurLJ_dec.tpk");
294 printf("tc05_isDrmFile_Negative_01() -------- Started! \n");
296 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
297 if(nRet == TADC_SUCCESS) {
298 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n", pApp, nRet);
302 printf("tc05_isDrmFile_Negative_01 finished! -------- success \n");
307 bool tc05_isDrmFile_Negative_02(void)
309 const char *pApp = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DecryptedApp/8SPXfqc6iL_dec.tpk");
311 printf("tc05_isDrmFile_Negative_02() -------- Started! \n");
313 int nRet = drm_tizen_is_drm_file(pApp, strlen(pApp));
314 if(nRet == TADC_SUCCESS) {
315 printf("drm_tizen_is_drm_file have to be failed. But Success! Path = %s, Ret = %d\n", pApp, nRet);
319 printf("tc05_isDrmFile_Negative_02 finished! -------- success \n");
324 bool tc05_isDrmFile_Negative_03(void)
326 const char *pApp = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DecryptedApp/FightGuiIF_dec.tpk");
328 printf("tc05_isDrmFile_Negative_03() -------- Started! \n");
330 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", pApp, nRet);
336 printf("tc05_isDrmFile_Negative_03 finished! -------- success \n");
342 tc06_DrmFileHandlerPositive_01(void)
344 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/38EIfBurLJ.tpk");
345 DrmFileHandler* pDcfHandler = NULL;
346 unsigned char* pBufCEK = NULL;
347 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};
348 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
350 long encryptionLevel = 17;
351 long long encryptionRange = 10;
352 long long plainTextSize = 1630724;
353 long long originalEndOffset = 1631570;
356 printf("tc06_DrmFileHandlerPositive_01() -------- Started! \n");
358 pBufCEK = (unsigned char*)malloc(CEK_SIZE + 1);
359 memset(pBufCEK, 0x00, CEK_SIZE + 1);
361 pDcfHandler = new DrmFileHandler();
362 if (pDcfHandler == NULL)
367 nRet = pDcfHandler->Construct(pDCF);
370 printf("tc06_DrmFileHandlerPositive_01 - Construct() failed : %s, %x\n", pDCF, nRet);
374 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
376 printf("tc06_DrmFileHandlerPositive_01 - CEK Comparison failed : %s\n", pDCF);
380 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
382 printf("tc06_DrmFileHandlerPositive_01 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
386 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
388 printf("tc06_DrmFileHandlerPositive_01 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
392 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
394 printf("tc06_DrmFileHandlerPositive_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
398 if (pDcfHandler->m_encryptionRange != encryptionRange)
400 printf("tc06_DrmFileHandlerPositive_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
404 if (pDcfHandler->m_plaintextSize != plainTextSize)
406 printf("tc06_DrmFileHandlerPositive_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
410 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
412 printf("tc06_DrmFileHandlerPositive_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
416 if (pDcfHandler != NULL)
426 printf("tc06_DrmFileHandlerPositive_01 finished! -------- success \n");
431 if (pDcfHandler != NULL)
445 tc06_DrmFileHandlerPositive_02(void)
447 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/8SPXfqc6iL.tpk");
448 unsigned char* pBufCEK = NULL;
449 DrmFileHandler* pDcfHandler = NULL;
450 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};
451 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
453 long encryptionLevel = 17;
454 long long encryptionRange = 10;
455 long long plainTextSize = 705072;
456 long long originalEndOffset = 705914;
459 printf("tc06_DrmFileHandlerPositive_02() -------- Started! \n");
461 pBufCEK = (unsigned char*)malloc(CEK_SIZE + 1);
462 memset(pBufCEK, 0x00, CEK_SIZE + 1);
464 pDcfHandler = new DrmFileHandler();
465 if (pDcfHandler == NULL)
470 nRet = pDcfHandler->Construct(pDCF);
473 printf("tc06_DrmFileHandlerPositive_02 - Construct() failed : %s, %x\n", pDCF, nRet);
477 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
479 printf("tc06_DrmFileHandlerPositive_02 - CEK Comparison failed : %s\n", pDCF);
483 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
485 printf("tc06_DrmFileHandlerPositive_02 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
489 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
491 printf("tc06_DrmFileHandlerPositive_02 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
495 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
497 printf("tc06_DrmFileHandlerPositive_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
501 if (pDcfHandler->m_encryptionRange != encryptionRange)
503 printf("tc06_DrmFileHandlerPositive_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
507 if (pDcfHandler->m_plaintextSize != plainTextSize)
509 printf("tc06_DrmFileHandlerPositive_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
513 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
515 printf("tc06_DrmFileHandlerPositive_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
519 if (pDcfHandler != NULL)
529 printf("tc06_DrmFileHandlerPositive_02 finished! -------- success \n");
534 if (pDcfHandler != NULL)
548 tc06_DrmFileHandlerPositive_03(void)
550 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/FightGuiIF.tpk");
551 unsigned char* pBufCEK = NULL;
552 DrmFileHandler* pDcfHandler = NULL;
553 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};
554 unsigned char pCID[32] = "FightGuiIF-1.0.0";
556 long encryptionLevel = 17;
557 long long encryptionRange = 10;
558 long long plainTextSize = 45193789;
559 long long originalEndOffset = 45194636;
562 printf("tc06_DrmFileHandlerPositive_03() -------- Started! \n");
564 pBufCEK = (unsigned char*)malloc(CEK_SIZE + 1);
565 memset(pBufCEK, 0x00, CEK_SIZE + 1);
567 pDcfHandler = new DrmFileHandler();
568 if (pDcfHandler == NULL)
573 nRet = pDcfHandler->Construct(pDCF);
576 printf("tc06_DrmFileHandlerPositive_03 - Construct() failed : %s, %x\n", pDCF, nRet);
580 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
582 printf("tc06_DrmFileHandlerPositive_03 - CEK Comparison failed : %s\n", pDCF);
586 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
588 printf("tc06_DrmFileHandlerPositive_03 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
592 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
594 printf("tc06_DrmFileHandlerPositive_03 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
598 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
600 printf("tc06_DrmFileHandlerPositive_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
604 if (pDcfHandler->m_encryptionRange != encryptionRange)
606 printf("tc06_DrmFileHandlerPositive_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
610 if (pDcfHandler->m_plaintextSize != plainTextSize)
612 printf("tc06_DrmFileHandlerPositive_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
616 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
618 printf("tc06_DrmFileHandlerPositive_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
622 if (pDcfHandler != NULL)
632 printf("tc06_DrmFileHandlerPositive_03 finished! -------- success \n");
637 if (pDcfHandler != NULL)
650 bool tc07_DrmFileMgrPositive_01(void)
652 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/38EIfBurLJ.tpk");
653 int nRet = TADC_SUCCESS;
655 DrmFileMgr* pDrmFileMgr = NULL;
656 DrmFileHandler *pDcfHandler = NULL;
658 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};
660 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
661 long encryptionLevel = 17;
662 long long encryptionRange = 10;
663 long long plainTextSize = 1630724;
664 long long originalEndOffset = 1631570;
666 printf("tc07_DrmFileMgrPositive_01() -------- Started! \n");
668 pDrmFileMgr = DrmFileMgr::GetInstance();
670 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &first_key);
671 if (nRet != TADC_SUCCESS)
673 printf("tc07_DrmFileMgrPositive_01 - OpenFileHandler() failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
677 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
678 if (nRet != TADC_SUCCESS)
680 printf("tc07_DrmFileMgrPositive_01 - GetFileHandler() failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
684 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
686 printf("tc07_DrmFileMgrPositive_01 - CEK Comparison failed : %s\n", pDCF);
690 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
692 printf("tc07_DrmFileMgrPositive_01 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
696 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
698 printf("tc07_DrmFileMgrPositive_01 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
702 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
704 printf("tc07_DrmFileMgrPositive_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
708 if (pDcfHandler->m_encryptionRange != encryptionRange)
710 printf("tc07_DrmFileMgrPositive_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
714 if (pDcfHandler->m_plaintextSize != plainTextSize)
716 printf("tc07_DrmFileMgrPositive_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
720 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
722 printf("tc07_DrmFileMgrPositive_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
726 printf("tc07_DrmFileMgrPositive_01 finished! -------- success \n");
735 bool tc07_DrmFileMgrPositive_02(void)
737 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/8SPXfqc6iL.tpk");
738 int nRet = TADC_SUCCESS;
740 DrmFileMgr* pDrmFileMgr = NULL;
741 DrmFileHandler *pDcfHandler = NULL;
743 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};
744 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
746 long encryptionLevel = 17;
747 long long encryptionRange = 10;
748 long long plainTextSize = 705072;
749 long long originalEndOffset = 705914;
751 printf("tc07_DrmFileMgrPositive_02() -------- Started! \n");
753 pDrmFileMgr = DrmFileMgr::GetInstance();
755 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &second_key);
756 if (nRet != TADC_SUCCESS)
758 printf("tc07_DrmFileMgrPositive_02 - OpenFileHandler() failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
762 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
763 if (nRet != TADC_SUCCESS)
765 printf("tc07_DrmFileMgrPositive_02 - GetFileHandler() failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
769 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
771 printf("tc07_DrmFileMgrPositive_02 - CEK Comparison failed : %s\n", pDCF);
775 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
777 printf("tc07_DrmFileMgrPositive_02 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
781 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
783 printf("tc07_DrmFileMgrPositive_02 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
787 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
789 printf("tc07_DrmFileMgrPositive_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
793 if (pDcfHandler->m_encryptionRange != encryptionRange)
795 printf("tc07_DrmFileMgrPositive_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
799 if (pDcfHandler->m_plaintextSize != plainTextSize)
801 printf("tc07_DrmFileMgrPositive_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
805 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
807 printf("tc07_DrmFileMgrPositive_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
811 printf("tc07_DrmFileMgrPositive_02 finished! -------- success \n");
820 bool tc07_DrmFileMgrPositive_03(void)
822 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/FightGuiIF.tpk");
823 int nRet = TADC_SUCCESS;
825 DrmFileMgr* pDrmFileMgr = NULL;
826 DrmFileHandler *pDcfHandler = NULL;
828 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};
830 unsigned char pCID[32] = "FightGuiIF-1.0.0";
832 long encryptionLevel = 17;
833 long long encryptionRange = 10;
834 long long plainTextSize = 45193789;
835 long long originalEndOffset = 45194636;
837 printf("tc07_DrmFileMgrPositive_03() -------- Started! \n");
839 pDrmFileMgr = DrmFileMgr::GetInstance();
841 nRet = pDrmFileMgr->OpenFileHandler(pDCF, &third_key);
842 if (nRet != TADC_SUCCESS)
844 printf("tc07_DrmFileMgrPositive_03 - OpenFileHandler() failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
848 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
849 if (nRet != TADC_SUCCESS)
851 printf("tc07_DrmFileMgrPositive_03 - GetFileHandler() failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
855 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
857 printf("tc07_DrmFileMgrPositive_03 - CEK Comparison failed : %s\n", pDCF);
861 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
863 printf("tc07_DrmFileMgrPositive_03 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
867 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
869 printf("tc07_DrmFileMgrPositive_03 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
873 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
875 printf("tc07_DrmFileMgrPositive_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
879 if (pDcfHandler->m_encryptionRange != encryptionRange)
881 printf("tc07_DrmFileMgrPositive_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
885 if (pDcfHandler->m_plaintextSize != plainTextSize)
887 printf("tc07_DrmFileMgrPositive_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
891 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
893 printf("tc07_DrmFileMgrPositive_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
897 printf("tc07_DrmFileMgrPositive_03 finished! -------- success \n");
906 bool tc08_DrmFileMgrPositive_GetFileHandler_01(void)
908 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/38EIfBurLJ.tpk");
909 int nRet = TADC_SUCCESS;
911 DrmFileMgr* pDrmFileMgr = NULL;
912 DrmFileHandler *pDcfHandler = NULL;
914 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};
916 unsigned char pCID[32] = "38EIfBurLJ-1.0.2";
918 long encryptionLevel = 17;
919 long long encryptionRange = 10;
920 long long plainTextSize = 1630724;
921 long long originalEndOffset = 1631570;
923 printf("tc08_DrmFileMgrPositive_GetFileHandler_01() -------- Started! \n");
925 pDrmFileMgr = DrmFileMgr::GetInstance();
927 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
928 if (nRet != TADC_SUCCESS)
930 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
934 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
936 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - CEK Comparison failed : %s\n", pDCF);
940 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
942 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
946 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
948 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
952 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
954 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
958 if (pDcfHandler->m_encryptionRange != encryptionRange)
960 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
964 if (pDcfHandler->m_plaintextSize != plainTextSize)
966 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
970 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
972 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
976 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 finished! -------- success \n");
985 bool tc08_DrmFileMgrPositive_GetFileHandler_02(void)
987 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/8SPXfqc6iL.tpk");
988 int nRet = TADC_SUCCESS;
990 DrmFileMgr* pDrmFileMgr = NULL;
991 DrmFileHandler *pDcfHandler = NULL;
993 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};
995 unsigned char pCID[32] = "8SPXfqc6iL-1.0.0";
997 long encryptionLevel = 17;
998 long long encryptionRange = 10;
999 long long plainTextSize = 705072;
1000 long long originalEndOffset = 705914;
1002 printf("tc08_DrmFileMgrPositive_GetFileHandler_02() -------- Started! \n");
1004 pDrmFileMgr = DrmFileMgr::GetInstance();
1006 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1007 if (nRet != TADC_SUCCESS)
1009 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
1013 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
1015 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - CEK Comparison failed : %s\n", pDCF);
1019 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
1021 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
1025 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
1027 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
1031 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
1033 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
1037 if (pDcfHandler->m_encryptionRange != encryptionRange)
1039 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
1043 if (pDcfHandler->m_plaintextSize != plainTextSize)
1045 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
1049 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1051 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1055 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 finished! -------- success \n");
1064 bool tc08_DrmFileMgrPositive_GetFileHandler_03(void)
1066 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/FightGuiIF.tpk");
1067 int nRet = TADC_SUCCESS;
1069 DrmFileMgr* pDrmFileMgr = NULL;
1070 DrmFileHandler *pDcfHandler = NULL;
1072 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};
1074 unsigned char pCID[32] = "FightGuiIF-1.0.0";
1076 long encryptionLevel = 17;
1077 long long encryptionRange = 10;
1078 long long plainTextSize = 45193789;
1079 long long originalEndOffset = 45194636;
1081 printf("tc08_DrmFileMgrPositive_GetFileHandler_03() -------- Started! \n");
1083 pDrmFileMgr = DrmFileMgr::GetInstance();
1085 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1086 if (nRet != TADC_SUCCESS)
1088 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
1092 if (memcmp(pCEK, pDcfHandler->m_pCEK, CEK_SIZE) != 0)
1094 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - CEK Comparison failed : %s\n", pDCF);
1098 if (memcmp(pDCF, pDcfHandler->m_pFilePath, strlen((char*)pDcfHandler->m_pFilePath)) != 0)
1100 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - FilePath Comparison failed : %s\n", pDcfHandler->m_pFilePath);
1104 if (memcmp(pCID, pDcfHandler->m_pCID, strlen((char*)pDcfHandler->m_pCID)) != 0)
1106 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - CID Comparison failed : %s\n", pDcfHandler->m_pCID);
1110 if (pDcfHandler->m_encryptionLevel != encryptionLevel)
1112 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - encryptionLevel Comparison failed : origin = %ld, result = %ld\n", encryptionLevel, pDcfHandler->m_encryptionLevel);
1116 if (pDcfHandler->m_encryptionRange != encryptionRange)
1118 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - encryptionRange Comparison failed : origin = %lld, result = %lld\n", encryptionRange, pDcfHandler->m_encryptionRange);
1122 if (pDcfHandler->m_plaintextSize != plainTextSize)
1124 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - plainTextSize Comparison failed : origin = %lld, result = %lld\n", plainTextSize, pDcfHandler->m_plaintextSize);
1128 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1130 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1134 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 finished! -------- success \n");
1143 bool tc09_DrmFileMgrPositive_FileAPI_01(void)
1145 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/38EIfBurLJ.tpk");
1146 int nRet = TADC_SUCCESS;
1148 DrmFileMgr* pDrmFileMgr = NULL;
1149 DrmFileHandler *pDcfHandler = NULL;
1151 long long originalEndOffset = 1631570;
1152 long long DrmCurOffset = 0;
1153 long long OriginCurOffset = 846;
1156 printf("tc09_DrmFileMgrPositive_FileAPI_01() -------- Started! \n");
1158 pDrmFileMgr = DrmFileMgr::GetInstance();
1160 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1161 if (nRet != TADC_SUCCESS)
1163 printf("tc09_DrmFileMgrPositive_FileAPI_01 failed : key = %d, file = %s, %x\n", first_key, pDCF, nRet);
1167 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1169 printf("tc09_DrmFileMgrPositive_FileAPI_01 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1173 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset)
1175 printf("tc09_DrmFileMgrPositive_FileAPI_01 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n", OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1179 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1181 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1182 if (nRet != TADC_SUCCESS)
1184 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n", first_key, pDCF, i, nRet);
1188 DrmCurOffset = pDcfHandler->DrmTell();
1189 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1191 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_SET, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1195 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1197 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1201 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1203 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1204 if (nRet != TADC_SUCCESS)
1206 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1210 DrmCurOffset = pDcfHandler->DrmTell();
1211 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1213 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1217 if (DrmCurOffset != 0)
1219 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1223 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1225 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1226 if (nRet != TADC_SUCCESS)
1228 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1232 DrmCurOffset = pDcfHandler->DrmTell();
1233 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1235 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1239 if (DrmCurOffset != 0)
1241 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1245 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1247 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1248 if (nRet != TADC_SUCCESS)
1250 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1254 DrmCurOffset = pDcfHandler->DrmTell();
1255 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1257 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1261 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1263 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1267 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1269 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1270 if (nRet != TADC_SUCCESS)
1272 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1276 DrmCurOffset = pDcfHandler->DrmTell();
1277 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1279 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1283 if (DrmCurOffset != 0)
1285 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1289 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1291 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1292 if (nRet != TADC_SUCCESS)
1294 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n", first_key, pDCF, i, nRet);
1298 DrmCurOffset = pDcfHandler->DrmTell();
1299 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1301 printf("tc09_DrmFileMgrPositive_FileAPI_01 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1305 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1307 printf("tc09_DrmFileMgrPositive_FileAPI_01 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1311 printf("tc09_DrmFileMgrPositive_FileAPI_01 finished! -------- success \n");
1319 bool tc09_DrmFileMgrPositive_FileAPI_02(void)
1321 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/8SPXfqc6iL.tpk");
1322 int nRet = TADC_SUCCESS;
1324 DrmFileMgr* pDrmFileMgr = NULL;
1325 DrmFileHandler *pDcfHandler = NULL;
1327 long long originalEndOffset = 705914;
1328 long long DrmCurOffset = 0;
1329 long long OriginCurOffset = 842;
1332 printf("tc09_DrmFileMgrPositive_FileAPI_02() -------- Started! \n");
1334 pDrmFileMgr = DrmFileMgr::GetInstance();
1336 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1337 if (nRet != TADC_SUCCESS)
1339 printf("tc09_DrmFileMgrPositive_FileAPI_02 failed : key = %d, file = %s, %x\n", second_key, pDCF, nRet);
1343 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1345 printf("tc09_DrmFileMgrPositive_FileAPI_02 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1349 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset)
1351 printf("tc09_DrmFileMgrPositive_FileAPI_02 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n", OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1355 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1357 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1358 if (nRet != TADC_SUCCESS)
1360 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n", second_key, pDCF, i, nRet);
1364 DrmCurOffset = pDcfHandler->DrmTell();
1365 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1367 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_SET, forward : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1371 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1373 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1377 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1379 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1380 if (nRet != TADC_SUCCESS)
1382 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1386 DrmCurOffset = pDcfHandler->DrmTell();
1387 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1389 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1393 if (DrmCurOffset != 0)
1395 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1399 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1401 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1402 if (nRet != TADC_SUCCESS)
1404 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1408 DrmCurOffset = pDcfHandler->DrmTell();
1409 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1411 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1415 if (DrmCurOffset != 0)
1417 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1421 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1423 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1424 if (nRet != TADC_SUCCESS)
1426 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1430 DrmCurOffset = pDcfHandler->DrmTell();
1431 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1433 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1437 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1439 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1443 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1445 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1446 if (nRet != TADC_SUCCESS)
1448 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1452 DrmCurOffset = pDcfHandler->DrmTell();
1453 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1455 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1459 if (DrmCurOffset != 0)
1461 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1465 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1467 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1468 if (nRet != TADC_SUCCESS)
1470 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n", second_key, pDCF, i, nRet);
1474 DrmCurOffset = pDcfHandler->DrmTell();
1475 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1477 printf("tc09_DrmFileMgrPositive_FileAPI_02 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1481 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1483 printf("tc09_DrmFileMgrPositive_FileAPI_02 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1487 printf("tc09_DrmFileMgrPositive_FileAPI_02 finished! -------- success \n");
1495 bool tc09_DrmFileMgrPositive_FileAPI_03(void)
1497 const char *pDCF = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/FightGuiIF.tpk");
1498 int nRet = TADC_SUCCESS;
1500 DrmFileMgr* pDrmFileMgr = NULL;
1501 DrmFileHandler *pDcfHandler = NULL;
1503 long long originalEndOffset = 45194636;
1504 long long DrmCurOffset = 0;
1505 long long OriginCurOffset = 847;
1508 printf("tc09_DrmFileMgrPositive_FileAPI_03() -------- Started! \n");
1510 pDrmFileMgr = DrmFileMgr::GetInstance();
1512 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1513 if (nRet != TADC_SUCCESS)
1515 printf("tc09_DrmFileMgrPositive_FileAPI_03 failed : key = %d, file = %s, %x\n", third_key, pDCF, nRet);
1519 if (pDcfHandler->m_OriginEndOffset != originalEndOffset)
1521 printf("tc09_DrmFileMgrPositive_FileAPI_03 - originalEndOffset Comparison failed : origin = %lld, result = %lld\n", originalEndOffset, pDcfHandler->m_OriginEndOffset);
1525 if (OriginCurOffset != pDcfHandler->m_OriginCurOffset)
1527 printf("tc09_DrmFileMgrPositive_FileAPI_03 - originalCurOffset Comparison failed : origin = %lld, result = %lld\n", OriginCurOffset, pDcfHandler->m_OriginCurOffset);
1531 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1533 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1534 if (nRet != TADC_SUCCESS)
1536 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward) : key = %d, file = %s, i = %lld, ret = %x\n", third_key, pDCF, i, nRet);
1540 DrmCurOffset = pDcfHandler->DrmTell();
1541 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1543 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_SET, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1547 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1549 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, forward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1553 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1555 nRet = pDcfHandler->DrmSeek(i, SEEK_SET);
1556 if (nRet != TADC_SUCCESS)
1558 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, backward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1562 DrmCurOffset = pDcfHandler->DrmTell();
1563 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1565 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_SET, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1569 if (DrmCurOffset != 0)
1571 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_SET, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1575 for (i = 0 ; i <= pDcfHandler->m_DrmEndOffset ; i++)
1577 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1578 if (nRet != TADC_SUCCESS)
1580 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, forward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1584 DrmCurOffset = pDcfHandler->DrmTell();
1585 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1587 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_END, forward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1591 if (DrmCurOffset != 0)
1593 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1597 for (i = pDcfHandler->m_DrmEndOffset ; i >= 0 ; i--)
1599 nRet = pDcfHandler->DrmSeek(-i, SEEK_END);
1600 if (nRet != TADC_SUCCESS)
1602 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, backward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1606 DrmCurOffset = pDcfHandler->DrmTell();
1607 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1609 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_END, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1613 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1615 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_END, backward), DrmCurOffset = %lld, RealEndOffset = %lld, %x\n", DrmCurOffset, pDcfHandler->m_DrmEndOffset, nRet);
1619 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1621 nRet = pDcfHandler->DrmSeek(-1, SEEK_CUR);
1622 if (nRet != TADC_SUCCESS)
1624 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, forward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1628 DrmCurOffset = pDcfHandler->DrmTell();
1629 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1631 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed : origin=%lld, result=%lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset);
1635 if (DrmCurOffset != 0)
1637 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, forward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1641 for (i = 0 ; i < pDcfHandler->m_DrmEndOffset ; i++)
1643 nRet = pDcfHandler->DrmSeek(1, SEEK_CUR);
1644 if (nRet != TADC_SUCCESS)
1646 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, backward) : key=%d, file=%s, i=%lld, %x\n", third_key, pDCF, i, nRet);
1650 DrmCurOffset = pDcfHandler->DrmTell();
1651 if (DrmCurOffset != pDcfHandler->m_DrmCurOffset)
1653 printf("tc09_DrmFileMgrPositive_FileAPI_03 - DrmCurOffset Comparison failed (SEEK_CUR, backward) : origin = %lld, result = %lld, i = %lld\n", DrmCurOffset, pDcfHandler->m_DrmCurOffset, i);
1657 if (DrmCurOffset != pDcfHandler->m_DrmEndOffset)
1659 printf("tc09_DrmFileMgrPositive_FileAPI_03 DrmSeek failed (SEEK_CUR, backward), DrmCurOffset = %lld, %x\n", DrmCurOffset, nRet);
1663 printf("tc09_DrmFileMgrPositive_FileAPI_03 finished! -------- success \n");
1671 bool tc10_DrmFileMgrPositive_CloseFileHandler_01(void)
1673 int nRet = TADC_SUCCESS;
1675 DrmFileMgr* pDrmFileMgr = NULL;
1676 DrmFileHandler *pDcfHandler = NULL;
1678 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 -------- Started! \n");
1680 pDrmFileMgr = DrmFileMgr::GetInstance();
1682 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1683 if (nRet != TADC_SUCCESS)
1685 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d, ret=%x\n", first_key, nRet);
1689 nRet = pDrmFileMgr->CloseFileHandler(first_key);
1690 if (nRet != TADC_SUCCESS)
1692 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d, ret=%x\n", first_key, nRet);
1696 nRet = pDrmFileMgr->GetFileHandler(first_key, &pDcfHandler);
1697 if (nRet == TADC_SUCCESS)
1699 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed : key = %d\n", first_key);
1703 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 finished! -------- success \n");
1711 bool tc10_DrmFileMgrPositive_CloseFileHandler_02(void)
1713 int nRet = TADC_SUCCESS;
1715 DrmFileMgr* pDrmFileMgr = NULL;
1716 DrmFileHandler *pDcfHandler = NULL;
1718 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 -------- Started! \n");
1720 pDrmFileMgr = DrmFileMgr::GetInstance();
1722 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1723 if (nRet != TADC_SUCCESS)
1725 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d, ret=%x\n", second_key, nRet);
1729 nRet = pDrmFileMgr->CloseFileHandler(second_key);
1730 if (nRet != TADC_SUCCESS)
1732 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d, ret=%x\n", second_key, nRet);
1736 nRet = pDrmFileMgr->GetFileHandler(second_key, &pDcfHandler);
1737 if (nRet == TADC_SUCCESS)
1739 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed : key = %d\n", second_key);
1743 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 finished! -------- success \n");
1751 bool tc10_DrmFileMgrPositive_CloseFileHandler_03(void)
1753 int nRet = TADC_SUCCESS;
1755 DrmFileMgr* pDrmFileMgr = NULL;
1756 DrmFileHandler *pDcfHandler = NULL;
1758 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 -------- Started! \n");
1760 pDrmFileMgr = DrmFileMgr::GetInstance();
1762 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1763 if (nRet != TADC_SUCCESS)
1765 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d, ret=%x\n", third_key, nRet);
1769 nRet = pDrmFileMgr->CloseFileHandler(third_key);
1770 if (nRet != TADC_SUCCESS)
1772 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d, ret=%x\n", third_key, nRet);
1776 nRet = pDrmFileMgr->GetFileHandler(third_key, &pDcfHandler);
1777 if (nRet == TADC_SUCCESS)
1779 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed : key = %d\n", third_key);
1783 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 finished! -------- success \n");
1791 bool tc11_GetDeviceId_01(void)
1793 unsigned char DUID[33] = {0,};
1796 printf("tc11_GetDeviceID_01() -------- Started! \n");
1798 nRet = TADC_IF_GetDUID((char*)DUID);
1799 if (nRet !=TADC_SUCCESS)
1801 printf("tc11_GetDeviceID_01() failed.");
1805 printf("DUID=%s\n", (char*)DUID);
1806 printf("tc11_GetDeviceID_01() finished! -------- success \n");
1811 bool tc12_TADC_SetDeviceInfo_01(void)
1813 int nRet = TADC_SUCCESS;
1814 T_DEVICE_INFO t_DeviceInfo;
1816 printf("tc12_TADC_SetDeviceInfo_01() -------- Started! \n");
1818 nRet = TADC_SetDeviceInfo(&t_DeviceInfo);
1819 if (nRet != TADC_SUCCESS)
1821 printf("tc12_TADC_SetDeviceInfo_01() failed.\n");
1824 printf("DUID=%s\n", (char*)t_DeviceInfo.DUID);
1825 printf("tc12_TADC_SetDeviceInfo_01() finished! -------- success \n");
1830 bool tc13_DTappsInstallLicense_01(void)
1832 printf("tc13_DTappsInstallLicense_01() -------- Started! \n");
1834 const char *pFirstRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.ro");
1836 auto buf = _read_ro_file(pFirstRo);
1838 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1839 if (nRet != TADC_SUCCESS) {
1840 printf("tc13_DTappsInstallLicense_01() failed. nRet=%d\n", nRet);
1844 printf("tc13_DTappsInstallLicense_01() finished! -------- success \n");
1848 bool tc13_DTappsInstallLicense_02(void)
1850 printf("tc13_DTappsInstallLicense_02() -------- Started! \n");
1852 const char *pFirstRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/8SPXfqc6iL-1.0.0.ro");
1854 auto buf = _read_ro_file(pFirstRo);
1856 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1857 if (nRet != TADC_SUCCESS) {
1858 printf("tc13_DTappsInstallLicense_02() failed. nRet=%d\n", nRet);
1862 printf("tc13_DTappsInstallLicense_02() finished! -------- success \n");
1866 bool tc13_DTappsInstallLicense_03(void)
1868 printf("tc13_DTappsInstallLicense_03() -------- Started! \n");
1870 const char *pFirstRo = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/FightGuiIF-1.0.0.ro");
1872 auto buf = _read_ro_file(pFirstRo);
1874 int nRet = DTappsInstallLicense(reinterpret_cast<char *>(buf.data()));
1875 if (nRet != TADC_SUCCESS) {
1876 printf("tc13_DTappsInstallLicense_03() failed. nRet=%d\n", nRet);
1880 printf("tc13_DTappsInstallLicense_03() finished! -------- success \n");
1885 tc_local_01_drm_tizen_generate_license_request_p(void)
1888 int ret_value = DRMTEST_SUCCESS;
1890 char *purchase_response = NULL;
1891 char *req_id = NULL;
1892 unsigned int req_buff_len = 1024*5;
1893 char req_buff[req_buff_len] = {0, };
1894 unsigned int url_buff_len = 1024;
1895 char url_buff[url_buff_len] = {0, };
1897 printf("[%s] test started\n", __func__);
1898 ret_value = generate_purchase_response(&purchase_response, &req_id);
1899 if(ret_value != DRMTEST_SUCCESS) {
1903 printf("...purchase_response:\n%s\n", purchase_response);
1905 ret_value = drm_tizen_generate_license_request(purchase_response, strlen(purchase_response),
1906 req_buff, &req_buff_len, url_buff, &url_buff_len);
1907 if(ret_value != TADC_SUCCESS) {
1908 printf("...drm_tizen_generate_license_request failed. ret=%d\n", ret_value);
1912 printf("...license_request_url:%s\n", url_buff);
1913 printf("...license_request:\n%s\n", req_buff);
1915 printf("[%s] test ended: result=%d\n", __func__, ret_value);
1918 if(purchase_response != NULL)
1919 free(purchase_response);
1927 tc_local_01_drm_tizen_full_test_p(void)
1930 int ret_value = DRMTEST_SUCCESS;
1932 char *purchase_response = NULL;
1933 char *req_id = NULL;
1934 unsigned int req_buff_len = 1024*5;
1935 char req_buff[req_buff_len] = {0, };
1936 unsigned int url_buff_len = 1024;
1937 char url_buff[url_buff_len] = {0, };
1939 char* ro_request_buff = NULL;
1940 char* ro_response_buff = NULL;
1941 char* dh_key_p = NULL;
1942 char* dh_key_g = NULL;
1943 char* dh_key_a = NULL;
1945 unsigned char duid[33] = {0,};
1946 const char* cid = "38EIfBurLJ-1.0.2";
1947 const char* ro_template_path = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/RO/38EIfBurLJ-1.0.2.ro_template");
1949 const char* encrypted_file_path = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DCF/38EIfBurLJ.tpk");
1950 const char* plaintext_file_path = tzplatform_mkpath(TZ_SYS_DATA,"drm_test/DecryptedApp/38EIfBurLJ_dec.tpk");
1951 const char* decrypted_file_path = "/tmp/38EIfBurLJ.tpk";
1953 int identical = DRMTEST_NOTIDENTICAL;
1955 printf("[%s] test started\n", __func__);
1957 if(ret_value != DRMTEST_SUCCESS) {
1962 ret_value = generate_purchase_response(&purchase_response, &req_id);
1963 if(ret_value != DRMTEST_SUCCESS) {
1967 //printf("...purchase_response:\n%s\n", purchase_response);
1969 ret_value = drm_tizen_generate_license_request(purchase_response, strlen(purchase_response),
1970 req_buff, &req_buff_len, url_buff, &url_buff_len);
1971 if(ret_value != TADC_SUCCESS) {
1972 printf("...drm_tizen_generate_license_request failed. ret=%d\n", ret_value);
1976 printf("...license_request_url:%s\n", url_buff);
1977 printf("...license_request:\n%s\n", req_buff);
1979 ret_value = get_dh_key_from_ro_request(req_buff, &dh_key_p, &dh_key_g, &dh_key_a);
1980 if(ret_value != DRMTEST_SUCCESS) {
1984 //printf("...DH key: p=%s, g=%s, a=%s\n", dh_key_p, dh_key_g, dh_key_a);
1986 ret_value = TADC_IF_GetDUID((char*)duid);
1987 if (ret_value != TADC_SUCCESS) {
1990 printf("duid=%s\n", (char*)duid);
1992 ret_value = generate_right_object_response(dh_key_p, dh_key_g, dh_key_a, req_id,
1993 cid, ro_template_path, (const char*)duid, &ro_response_buff);
1994 if(ret_value != DRMTEST_SUCCESS) {
1998 printf("...right_object_response:\n%s\n", ro_response_buff);
2000 ret_value = drm_tizen_register_license(ro_response_buff, strlen(ro_response_buff));
2001 if(ret_value != TADC_SUCCESS) {
2002 printf("...drm_tizen_register_license failed. ret=%d\n", ret_value);
2006 printf("...drm_tizen_register_license: succeeded\n");
2008 ret_value = drm_tizen_decrypt_package(encrypted_file_path, strlen(encrypted_file_path),
2009 decrypted_file_path, strlen(decrypted_file_path));
2010 if(ret_value != TADC_SUCCESS) {
2011 printf("...drm_tizen_decrypt_package failed. ret=%d\n", ret_value);
2015 printf("...drm_tizen_decrypt_package: succeeded\n");
2017 ret_value = is_identical_files(plaintext_file_path, decrypted_file_path, &identical);
2018 if(ret_value != DRMTEST_SUCCESS) {
2019 printf("...is_identical_files failed. ret=%d\n", ret_value);
2023 if(identical != DRMTEST_IDENTICAL) {
2024 printf("...the decrypted file is not same with a original plaintext file .\n");
2028 printf("...drm_tizen_decrypt_package: succeeded : the decrypted file is with a original plaintext file.\n");
2031 if(purchase_response != NULL)
2032 free(purchase_response);
2035 if(ro_request_buff != NULL)
2036 free(ro_request_buff);
2037 if(ro_response_buff != NULL)
2038 free(ro_response_buff);
2045 bool tc15_DrmTdcDecryptPackge_01(void)
2047 int nRet = TADC_SUCCESS;
2053 int main(int, char *[])
2055 printf(" ---------- Test Tizen DRM core --- Start ....\n");
2057 printf(" ---------- Test Tizen DRM core --- End ....\n");
2060 printf(" ---------- Test Tizen DRM v2.0.1 APIs --- Start .... \n");
2062 int bRet = TADC_SUCCESS;
2064 char ReqBuf[1024*5] = {0, };
2065 unsigned int ReqBufLen = 0;
2067 char RespBuf[1024*10] = {0, };
2068 unsigned int RespBufLen = 0;
2070 // char DecLicenseBuf[1024*10] = {0, };
2071 // unsigned int DecLicenseBufLen = 0;
2073 char LicenseUrl[1024] = {0, };
2074 unsigned int LicenseUrlLen = 0;
2077 //DrmTdcFileHeader TDCFileHeader;
2078 // char cid[1024] = {0, };
2079 // char riurl[1024] = {0, };
2081 char testFileName[256] = {0, };
2082 char tempBuf[256] = {0, };
2086 //----------------------------------------------------------------------------------------------------
2087 // 0. Static TC running
2088 //----------------------------------------------------------------------------------------------------
2090 printf("\n0. Static TC Start ----------------------------------------\n");
2092 isOk = tc01_VerifyRoSignature_Positive_01();
2095 printf("tc01_VerifyRoSignature_Positive_01 failed!\n");
2098 isOk = tc01_VerifyRoSignature_Positive_02();
2101 printf("tc01_VerifyRoSignature_Positive_02 failed!\n");
2104 isOk = tc01_VerifyRoSignature_Positive_03();
2107 printf("tc01_VerifyRoSignature_Positive_03 failed!\n");
2110 isOk = tc02_VerifyRoSignature_Negative_Cert_01();
2113 printf("tc02_VerifyRoSignature_Negative_Cert_01 failed!\n");
2116 isOk = tc02_VerifyRoSignature_Negative_Cert_02();
2119 printf("tc02_VerifyRoSignature_Negative_Cert_02 failed!\n");
2122 isOk = tc02_VerifyRoSignature_Negative_Cert_03();
2125 printf("tc02_VerifyRoSignature_Negative_Cert_03 failed!\n");
2128 isOk = tc03_VerifyRoSignature_Negative_Signature_01();
2131 printf("tc03_VerifyRoSignature_Negative_Signature_01 failed!\n");
2134 isOk = tc03_VerifyRoSignature_Negative_Signature_02();
2137 printf("tc03_VerifyRoSignature_Negative_Signature_02 failed!\n");
2140 isOk = tc03_VerifyRoSignature_Negative_Signature_03();
2143 printf("tc03_VerifyRoSignature_Negative_Signature_03 failed!\n");
2146 isOk = tc04_isDrmFile_Positive_01();
2149 printf("tc04_isDrmFile_Positive_01 failed!\n");
2152 isOk = tc04_isDrmFile_Positive_02();
2155 printf("tc04_isDrmFile_Positive_02 failed!\n");
2158 isOk = tc04_isDrmFile_Positive_03();
2161 printf("tc04_isDrmFile_Positive_03 failed!\n");
2164 isOk = tc05_isDrmFile_Negative_01();
2167 printf("tc05_isDrmFile_Negative_01 failed!\n");
2170 isOk = tc05_isDrmFile_Negative_02();
2173 printf("tc05_isDrmFile_Negative_02 failed!\n");
2176 isOk = tc05_isDrmFile_Negative_03();
2179 printf("tc05_isDrmFile_Negative_03 failed!\n");
2182 isOk = tc13_DTappsInstallLicense_01();
2185 printf("tc13_DTappsInstallLicense_01 failed!\n");
2188 isOk = tc13_DTappsInstallLicense_02();
2191 printf("tc13_DTappsInstallLicense_02 failed!\n");
2194 isOk = tc13_DTappsInstallLicense_03();
2197 printf("tc13_DTappsInstallLicense_03 failed!\n");
2200 isOk = tc06_DrmFileHandlerPositive_01();
2203 printf("tc06_DrmFileHandlerPositive_01 failed!\n");
2206 isOk = tc06_DrmFileHandlerPositive_02();
2209 printf("tc06_DrmFileHandlerPositive_02 failed!\n");
2212 isOk = tc06_DrmFileHandlerPositive_03();
2215 printf("tc06_DrmFileHandlerPositive_03 failed!\n");
2218 isOk = tc07_DrmFileMgrPositive_01();
2221 printf("tc07_DrmFileMgrPositive_01 failed!\b");
2224 isOk = tc07_DrmFileMgrPositive_02();
2227 printf("tc07_DrmFileMgrPositive_02 failed!\n");
2230 isOk = tc07_DrmFileMgrPositive_03();
2233 printf("tc07_DrmFileMgrPositive_03 failed!\n");
2236 isOk = tc08_DrmFileMgrPositive_GetFileHandler_01();
2239 printf("tc08_DrmFileMgrPositive_GetFileHandler_01 failed!\n");
2242 isOk = tc08_DrmFileMgrPositive_GetFileHandler_02();
2245 printf("tc08_DrmFileMgrPositive_GetFileHandler_02 failed!\n");
2248 isOk = tc08_DrmFileMgrPositive_GetFileHandler_03();
2251 printf("tc08_DrmFileMgrPositive_GetFileHandler_03 failed!\n");
2254 isOk = tc09_DrmFileMgrPositive_FileAPI_01();
2257 printf("tc09_DrmFileMgrPositive_FileAPI_01 failed!\n");
2260 isOk = tc09_DrmFileMgrPositive_FileAPI_02();
2263 printf("tc09_DrmFileMgrPositive_FileAPI_02 failed!\n");
2266 isOk = tc09_DrmFileMgrPositive_FileAPI_03();
2269 printf("tc09_DrmFileMgrPositive_FileAPI_03 failed!\n");
2272 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_01();
2275 printf("tc10_DrmFileMgrPositive_CloseFileHandler_01 failed!\n");
2278 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_02();
2281 printf("tc10_DrmFileMgrPositive_CloseFileHandler_02 failed!\n");
2284 isOk = tc10_DrmFileMgrPositive_CloseFileHandler_03();
2287 printf("tc10_DrmFileMgrPositive_CloseFileHandler_03 failed!\n");
2290 isOk = tc11_GetDeviceId_01();
2293 printf("tc11_GetDeviceId_01 failed!\n");
2296 isOk = tc12_TADC_SetDeviceInfo_01();
2299 printf("tc12_TADC_SetDeviceInfo_01 failed!\n");
2302 isOk = tc11_GetDeviceId_01();
2305 printf("tc11_GetDeviceId_01 failed!\n");
2308 isOk = tc_local_01_drm_tizen_full_test_p();
2311 printf("tc_local_01_drm_tizen_full_test_p failed!\n");
2314 //----------------------------------------------------------------------------------------------------
2315 // 1. Check is drm file
2316 //----------------------------------------------------------------------------------------------------
2318 printf("===============================================================================\n");
2319 printf ("Enter test file name --> ");
2321 isOk = scanf("%s", testFileName);
2324 printf ("Input value wrong! scanf() failed!!");
2327 printf("\n1. drm_tizen_is_drm_file Start ----------------------------------------\n");
2329 bRet = drm_tizen_is_drm_file(testFileName, strlen(testFileName));
2330 if (bRet != TADC_SUCCESS)
2332 printf("drm_tizen_is_drm_file Error! ret = %d\n", bRet);
2335 printf("%s file is TADC file!\n", testFileName);
2337 //----------------------------------------------------------------------------------------------------
2338 // 2. Make PurchaseRequest Data
2339 //----------------------------------------------------------------------------------------------------
2340 printf("\n2. Make PurchaseRequest Data Start ----------------------------------------\n");
2342 memset(ReqBuf, 0x00, sizeof(ReqBuf));
2343 memset(LicenseUrl, 0x00, sizeof(LicenseUrl));
2344 ReqBufLen = sizeof(ReqBuf);
2345 LicenseUrlLen = sizeof(LicenseUrl);
2347 bRet = drm_tizen_generate_purchase_request(testFileName, ReqBuf, &ReqBufLen, LicenseUrl, &LicenseUrlLen);
2350 printf(" drm_tizen_generate_purchase_request Error! \n");
2354 printf("drm_tizen_generate_purchase_request - ReqBufLen : %d, License Url : %s \n", ReqBufLen, LicenseUrl);
2355 if ((bRet = _write_logfile("Request_1.dat", ReqBuf, ReqBufLen-1)) == false)
2357 printf(" drm_tizen_generate_purchase_request _write_logfile Error! \n");
2361 //break.... HTTP Request & Reaponse Processing...
2362 printf ("Enter any key after create Response_1.dat file. --> ");
2363 std::cin >> tempBuf;
2365 memset(RespBuf, 0x00, sizeof(RespBuf));
2366 RespBufLen = sizeof(RespBuf);
2367 if ((bRet = _read_logfile("Response_1.dat", RespBuf, &RespBufLen)) == false)
2369 printf(" drm_tizen_generate_purchase_request _read_logfile Error! \n");
2373 //----------------------------------------------------------------------------------------------------
2374 // 3. Make License Request Data
2375 //----------------------------------------------------------------------------------------------------
2376 printf("\n3. Make License Request Data Start ----------------------------------------\n");
2378 memset(ReqBuf, 0x00, sizeof(ReqBuf));
2379 memset(LicenseUrl, 0x00, sizeof(LicenseUrl));
2380 ReqBufLen = sizeof(ReqBuf);
2381 LicenseUrlLen = sizeof(LicenseUrl);
2383 bRet = drm_tizen_generate_license_request(RespBuf, RespBufLen, ReqBuf, &ReqBufLen, LicenseUrl, &LicenseUrlLen);
2384 if (bRet != TADC_SUCCESS)
2386 printf(" drm_tizen_generate_license_request Error! \n");
2390 printf("drm_tizen_generate_license_request - ReqBufLen : %d, RO Url : %s \n", ReqBufLen, LicenseUrl);
2391 if ((bRet = _write_logfile("Request_2.dat", ReqBuf, ReqBufLen - 1)) == false)
2393 printf(" drm_tizen_generate_license_request _write_logfile Error! \n");
2397 //break.... HTTP Request & Reaponse Processing...
2398 printf ("Enter any key after create Response_2.dat file. --> ");
2399 std::cin >> tempBuf;
2401 memset(RespBuf, 0x00, sizeof(RespBuf));
2402 RespBufLen = sizeof(RespBuf);
2403 if ((bRet = _read_logfile("Response_2.dat", RespBuf, &RespBufLen)) == false)
2405 printf(" drm_tizen_generate_license_request _read_logfile Error! \n");
2409 //----------------------------------------------------------------------------------------------------
2410 // 4. Decrypt DRM License
2411 //----------------------------------------------------------------------------------------------------
2412 printf("\n4. Decrypt DRM License Start --------------------------------------------\n");
2414 bRet = drm_tizen_register_license(RespBuf, RespBufLen);
2415 if (bRet != TADC_SUCCESS)
2417 printf(" drm_tizen_register_license Error! \n");
2421 //---------------------------------------------------------------------------------------------------
2422 // 5. Decrypt DRM File
2423 //----------------------------------------------------------------------------------------------------
2424 printf("\n5. Decrypt DRM File Start -----------------------------------------\n");
2426 sprintf(tempBuf, "%s.dec", testFileName);
2427 bRet = drm_tizen_decrypt_package(testFileName, strlen(testFileName), tempBuf, strlen(tempBuf));
2429 if (bRet != TADC_SUCCESS)
2431 printf(" drm_tizen_decrypt_package Error! \n");
2435 printf("\n --------------Test Tizen Apps DRM APIs --- End ---------------\n");