void HTMLChatViewTest::noOutgoingTemplates() { prepareTest("testingTheme_noOutgoing/"); QDateTime time; time.setTime_t(24 * 60 * 60 * 35); MessageChatEvent * ce = new MessageChatEvent(); ce->setBody("message \" <br/> ."); ce->setTimeStamp(time); ce->setNick("senu"); ce->setService("Jabber"); ce->setConsecutive(false); ce->setJid("*****@*****.**"); ce->setLocal(true); ce->setUserIconPath("http://url.com"); ce->setUserStatusIcon("myicon.png"); view->appendMessage(ce); waitUntil(&(helper.append)); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\">" "<div class=\"combine\"><div class=\"ctime\">1970-02-05 - 01:00</div>senu - message \" " "<br> . || message outgoing</div><div id=\"insert\"></div>" "</div>" "<hr><div><b style=\"color: red\">footer</b></div>" ); }
void HTMLChatViewTest::themeChanged() { prepareTest("testingTheme/"); appendSomeEvents(); waitUntil(&(helper.append)); theme.readTheme(QDir::currentPath() + "/themes/testingTheme2/"); helper.init = false; view->setTheme(theme); waitUntil(&(helper.init)); checkResultBody( "<div><b style=\"color: green\">header2</b></div><hr>" "<div id=\"Chat\">" "<div class=\"status_container\"><div>fileTransferComplete :: 1970-02-05 -- 01:00</div>" "Finished downloading screen.png. || event fileTransfer<br></div>" "<span><div class=\"combine\"><div class=\"ctime\">1970-02-05 -- 01:00</div>" "senu - Jabber - [email protected] - http://url.com :: message \" <br> " ".</div><div id=\"insert\"></div></span>" "</div>" "<hr><div><b style=\"color: red\">footer2</b></div>" ); }
void HTMLChatViewTest::noActionTemplate() { prepareTest("testingTheme_noAction/"); QDateTime time; time.setTime_t(24 * 60 * 60 * 35); EmoteChatEvent * event = new EmoteChatEvent(); event->setLocal(false); event->setBody("is working hard"); event->setNick("Pawel Wiejacha"); event->setService("Jabber"); event->setJid("*****@*****.**"); event->setUserIconPath("http://userserve-ak.last.fm/serve/50/4272669.jpg"); event->setTimeStamp(time); view->appendMessage(event); waitUntil(&(helper.append)); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\">" "<div class=\"status_container\"><div>emote :: 1970-02-05 - 01:00</div>" "Pawel Wiejacha is working hard || event emote <br></div>" "<div id=\"insert\"></div>" "</div>" "<hr><div><b style=\"color: red\">footer</b></div>" ); }
void HTMLChatViewTest::onlyFooterAndHeader() { prepareTest("testingTheme/"); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\"></div>" "<hr><div><b style=\"color: red\">footer</b></div>" ); }
void readTest(const struct device *dev, long firstChnk, size_t blockSize){ char *buf; prepareTest(" ", blockSize, &buf, blockSize, STRICT_ACCESS_OPT); flushDevice(dev); long numChnks = dev->size / DISP; long reps = PAGE_READ_REPS; for (long i=0; i<reps; ++i){ unsigned long chnkNum = (i+firstChnk) % numChnks; off_t offset = chnkNum * DISP; readTestBlock(dev->fd, offset, buf, blockSize); } concludeTest(" ", blockSize, buf); }
void HTMLChatViewTest::clearMessages() { prepareTest("testingTheme/"); appendSomeEvents(); waitUntil(&(helper.append)); view->clear(); QTest::qWait(200); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\">" "</div>" "<hr><div><b style=\"color: red\">footer</b></div>" ); }
void HTMLChatViewTest::keywordEscaping() { prepareTest("testingTheme/"); QDateTime time; time.setTime_t(24 * 60 * 60 * 35); MessageChatEvent * ce = new MessageChatEvent(); ce->setBody("ABCDEFGHIJ1234567890"); ce->setTimeStamp(time); ce->setNick("se%service%nu"); ce->setService("Jab%userIconPath%ber"); ce->setConsecutive(false); ce->setJid("senu@ja%message%bber.pl"); ce->setLocal(true); ce->setUserIconPath("outgoing"); // ce->setUserStatusIcon("myicon.png"); ce->setUserColor("#123456"); view->appendMessage(ce); waitUntil(&helper.append); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\">" "<div class=\"combine\"><div class=\"ctime\">1970-02-05 - 01:00</div>" "Outgoing/buddy_icon.png - myicon.png - ltr - [email protected] - senu - " // "Jabber - [email protected] - Outgoing/buddy_icon.png :: " // "message" " || message outgoing <span style=\"color: #194978\">COLOR</span>" "</div>" "<div id=\"insert\"></div>" "</div>" "<hr>" "<div><b style=\"color: red\">footer</b></div>" ); }
void HTMLChatViewTest::javaScriptCSSValidatorIntegration() { prepareTest("testingTheme/"); QDateTime time; time.setTime_t(24 * 60 * 60 * 35); MessageChatEvent * ce = new MessageChatEvent(); ce->setBody("message \" <div style=\"border-color: red; color: green \"></div> \\ <br/> ."); ce->setTimeStamp(time); ce->setNick("senu"); ce->setService("Jabber"); ce->setConsecutive(false); ce->setJid("*****@*****.**"); ce->setLocal(true); ce->setUserIconPath("http://url.com"); ce->setUserStatusIcon("myicon.png"); ce->setUserColor("#123456"); view->appendMessage(ce); waitUntil(&helper.append); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\">" "<div class=\"combine\"><div class=\"ctime\">1970-02-05 - 01:00</div>" "http://url.com - myicon.png - ltr - [email protected] - senu - " "Jabber - [email protected] - http://url.com :: " "message \" <div style=\"color:green;\"></div> \\ <br> . " // "|| message outgoing <span style=\"color: #194978\">COLOR</span>" "</div>" "<div id=\"insert\"></div>" "</div>" "<hr>" "<div><b style=\"color: red\">footer</b></div>" ); }
void HTMLChatViewTest::messagesAndEvents() { prepareTest("testingTheme/"); appendSomeEvents(); qDebug() << "after app ft event"; waitUntil(&helper.append); checkResultBody( "<div><b style=\"color: green\">header</b></div><hr>" "<div id=\"Chat\">" "<div class=\"status_container\"><div>fileTransferComplete :: 1970-02-05 - 01:00</div>" "Finished downloading screen.png. || event fileTransfer <br></div><span>" "<div class=\"combine\"><div class=\"ctime\">1970-02-05 - 01:00</div>" "http://url.com - myicon.png - ltr - [email protected] - senu - " "Jabber - [email protected] - http://url.com :: message \" <br>" " . || message outgoing <span style=\"color: #194978\">COLOR</span>" "</div><div id=\"insert\"></div></span>" "</div>" "<hr><div><b style=\"color: red\">footer</b></div>" ); }
TEST_P(SetForceUnSupportedFiles, Works) { prepareTest(GetParam()); }
TEST_P(SetVelocityUnSupportedFiles, Works) { prepareTest(GetParam()); }
int main(int argc, char* argv[]) { int opt; char type[100] = "local"; char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; int returnVal = 0; struct option sOpts[] = { { "index" , required_argument, NULL, 'x' }, { "authHandle" , required_argument, NULL, 'a' }, { "file" , required_argument, NULL, 'f' }, { "handlePasswd", required_argument, NULL, 'P' }, { "passwdInHex" , no_argument, NULL, 'X' }, { "port" , required_argument, NULL, 'p' }, { "dbg" , required_argument, NULL, 'd' }, { "help" , no_argument, NULL, 'h' }, { "version" , no_argument, NULL, 'v' }, { NULL , no_argument, NULL, 0 }, }; if(argc == 1) { showHelp(argv[0]); return 0; } if( argc > (int)(2*sizeof(sOpts)/sizeof(struct option)) ) { showArgMismatch(argv[0]); return -1; } while ( ( opt = getopt_long( argc, argv, "x:a:f:P:Xp:d:hv", sOpts, NULL ) ) != -1 ) { switch ( opt ) { case 'h': case '?': showHelp(argv[0]); return 0; case 'v': showVersion(argv[0]); return 0; case 'x': if( getSizeUint32Hex(optarg, &nvIndex) != 0 ) { return -2; } break; case 'a': if( getSizeUint32Hex(optarg, &authHandle) != 0 ) { return -3; } break; case 'P': if( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the handle password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA)-1); return -4; } safeStrNCpy(&handlePasswd[0], optarg, sizeof(handlePasswd)); break; case 'f': if( optarg == NULL ) { printf("\nPlease input the nv data file.\n"); return -5; } safeStrNCpy(&fileName[0], optarg, sizeof(fileName)); break; case 'X': hexPasswd = true; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); return -6; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); return -7; } break; default: showArgMismatch(argv[0]); return -8; } } if( nvIndex == 0 ) { printf("You must provide an index (!= 0) for the NVRAM area.\n"); return -9; } if( authHandle == 0 ) { printf("You must provide an right auth handle for this operation.\n"); return -10; } dataSize = MAX_NV_INDEX_SIZE; if(loadDataFromFile(fileName, nvBuffer, &dataSize)) { printf("Failed to read data from %s\n", fileName); return -11; } prepareTest(hostName, port, debugLevel); returnVal = nvWrite(); finishTest(); if(returnVal) return -12; return 0; }
int main(int argc, char *argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvk:c:P:l:q:g:o:Xp:d:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"akHandle",1,NULL,'k'}, {"akContext",1,NULL,'c'}, {"akPassword",1,NULL,'P'}, //add ak auth {"idList",1,NULL,'l'}, {"algorithm",1,NULL,'g'}, {"qualifiedData",1,NULL,'q'}, {"outFile",1,NULL,'o'}, {"passwdInHex",0,NULL,'X'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {0,0,0,0} }; char *contextFilePath = NULL; TPM_HANDLE akHandle; TPMI_ALG_HASH algorithmId; PCR_LIST pcrList; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, k_flag = 0, c_flag = 0, P_flag = 0, l_flag = 0, g_flag = 0, q_flag = 0, o_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'k': if(getSizeUint32Hex(optarg,&akHandle) != 0) { showArgError(optarg, argv[0]); returnVal = -1; break; } k_flag = 1; break; case 'c': contextFilePath = optarg; if(contextFilePath == NULL || contextFilePath[0] == '\0') { returnVal = -2; break; } printf("contextFile = %s\n", contextFilePath); c_flag = 1; break; case 'P': sessionData.hmac.t.size = sizeof(sessionData.hmac.t) - 2; if(str2ByteStructure(optarg,&sessionData.hmac.t.size,sessionData.hmac.t.buffer) != 0) { returnVal = -3; break; } P_flag = 1; break; case 'l': if(parseList(optarg, &pcrList) != 0) { returnVal = -4; break; } l_flag = 1; break; case 'g': if(getSizeUint16Hex(optarg,&algorithmId) != 0) { showArgError(optarg, argv[0]); returnVal = -5; break; } g_flag = 1; break; case 'q': qualifedData.t.size = sizeof(qualifedData.t.buffer); if(loadDataFromFile(optarg, qualifedData.t.buffer, &qualifedData.t.size) != 0) { returnVal = -6; break; } q_flag = 1; break; case 'o': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); if(checkOutFile(outFilePath) != 0) { returnVal = -7; break; } o_flag = 1; break; case 'X': hexPasswd = true; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -8; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -9; } break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -10; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -11; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + k_flag + c_flag + l_flag + g_flag + o_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -12; } } else if(flagCnt == 4 && ((k_flag || c_flag) && l_flag && g_flag && o_flag)) { if(P_flag == 0) sessionData.hmac.t.size = 0; prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &akHandle, contextFilePath); if(returnVal == TPM_RC_SUCCESS) returnVal = quote(akHandle, pcrList, algorithmId); finishTest(); if(returnVal) return -13; } else { showArgMismatch(argv[0]); return -13; } return 0; }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; TPMI_DH_OBJECT keyHandle; TPM2B_PUBLIC_KEY_RSA cipherText; char outFilePath[PATH_MAX] = {0}; char *contextKeyFile = NULL; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvk:P:I:o:p:d:c:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"keyHandle",1,NULL,'k'}, {"pwdk",1,NULL,'P'}, {"inFile",1,NULL,'I'}, {"outFile",1,NULL,'o'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {"keyContext",1,NULL,'c'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, k_flag = 0, P_flag = 0, I_flag = 0, c_flag = 0, o_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'k': if(getSizeUint32Hex(optarg,&keyHandle) != 0) { returnVal = -1; break; } k_flag = 1; break; case 'P': sessionData.hmac.t.size = sizeof(sessionData.hmac.t) - 2; if(str2ByteStructure(optarg,&sessionData.hmac.t.size,sessionData.hmac.t.buffer) != 0) { returnVal = -2; break; } P_flag = 1; break; case 'I': cipherText.t.size = sizeof(cipherText) - 2; if(loadDataFromFile(optarg, cipherText.t.buffer, &cipherText.t.size) != 0) { returnVal = -3; break; } I_flag = 1; break; case 'o': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); if(checkOutFile(outFilePath) != 0) { returnVal = -4; break; } o_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -5; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -6; } break; case 'c': contextKeyFile = optarg; if(contextKeyFile == NULL || contextKeyFile[0] == '\0') { returnVal = -7; break; } printf("contextKeyFile = %s\n", contextKeyFile); c_flag = 1; break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -8; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -9; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; if(P_flag == 0) sessionData.hmac.t.size = 0; flagCnt = h_flag + v_flag + k_flag + I_flag + o_flag + c_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -10; } } else if((flagCnt == 3) && (k_flag == 1 || c_flag == 1) && (I_flag == 1) && (o_flag == 1)) { prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &keyHandle, contextKeyFile); if(returnVal == 0) returnVal = rsaDecrypt(keyHandle, &cipherText, outFilePath); finishTest(); if(returnVal) return -11; } else { showArgMismatch(argv[0]); return -12; } return 0; }
int main(int argc, char *argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; int opt; int returnVal = 1; int ProvisioningreturnVal = 0; struct option sOpts[] = { { "endorsePasswd", required_argument, NULL, 'e' }, { "ownerPasswd" , required_argument, NULL, 'o' }, { "handle" , required_argument, NULL, 'H' }, { "ekPasswd" , required_argument, NULL, 'P' }, { "alg" , required_argument, NULL, 'g' }, { "file" , required_argument, NULL, 'f' }, { "passwdInHex" , no_argument, NULL, 'X' }, { "port" , required_argument, NULL, 'p' }, { "dbg" , required_argument, NULL, 'd' }, { "help" , no_argument, NULL, 'h' }, { "version" , no_argument, NULL, 'v' }, { "NonPersistent", no_argument, NULL, 'N' }, { "OfflineProv" , no_argument, NULL, 'O' }, { "ECcertFile" , required_argument, NULL, 'E' }, { "EKserverAddr" , required_argument, NULL, 'S' }, { "SSL_NO_VERIFY", no_argument, NULL, 'U' }, { NULL , no_argument, NULL, 0 }, }; if (argc == 1) { showHelp(argv[0]); return 0; } if ( argc > (int)(2 * sizeof(sOpts) / sizeof(struct option)) ) { showArgMismatch(argv[0]); return -1; } while ( ( opt = getopt_long( argc, argv, "e:o:H:P:g:f:Xp:d:S:E:OUNhv", sOpts, NULL ) ) != -1 ) { switch ( opt ) { case 'h': case '?': showHelp(argv[0]); return 0; case 'v': showVersion(argv[0]); return 0; case 'H': if ( getSizeUint32Hex(optarg, &persistentHandle) ) { printf("\nPlease input the handle used to make EK persistent(hex) in correct format.\n"); return -2; } break; case 'e': if ( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the endorsement password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA) - 1); return -3; } safeStrNCpy(endorsePasswd, optarg, sizeof(endorsePasswd)); break; case 'o': if ( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the owner password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA) - 1); return -4; } safeStrNCpy(ownerPasswd, optarg, sizeof(ownerPasswd)); break; case 'P': if ( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the EK password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA) - 1); return -5; } safeStrNCpy(ekPasswd, optarg, sizeof(ekPasswd)); break; case 'g': if ( getSizeUint32Hex(optarg, &algorithmType) ) { printf("\nPlease input the algorithm type in correct format.\n"); return -6; } break; case 'f': if ( optarg == NULL ) { printf("\nPlease input the file used to save the pub ek.\n"); return -7; } safeStrNCpy(outputFile, optarg, sizeof(outputFile)); break; case 'X': hexPasswd = true; break; case 'p': if ( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); return -8; } break; case 'd': if ( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); return -9; } break; case 'E': if ( optarg == NULL ) { printf("\nPlease input the file used to save the EC Certificate retrieved from server\n"); return -99; } safeStrNCpy(ECcertFile, optarg, sizeof(ECcertFile)); break; case 'N': nonPersistentRead = 1; printf("Tss2_Sys_CreatePrimary called with Endorsement Handle without making it persistent\n"); break; case 'O': OfflineProv = 1; printf("Setting up for offline provisioning - reading the retrieved EK specified by the file \n"); break; case 'U': SSL_NO_VERIFY = 1; printf("CAUTION: TLS communication with the said TPM manufacturer server setup with SSL_NO_VERIFY!\n"); break; case 'S': if (optarg == NULL ) { printf("TPM Manufacturer Endorsement Credential Server Address cannot be NULL\n"); return -99; } EKserverAddr = (char *)malloc(strlen(optarg)); strncpy(EKserverAddr, optarg, strlen(optarg)); printf("TPM Manufacturer EK provisioning address -- %s\n", EKserverAddr); break; default: showHelp(argv[0]); return -10; } } prepareTest(hostName, port, debugLevel); if (!OfflineProv) returnVal = createEKHandle(); ProvisioningreturnVal = TPMinitialProvisioning(); finishTest(); if ( returnVal && ProvisioningreturnVal) return -11; return 0; }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; TPM2B_SENSITIVE_CREATE inSensitive; inSensitive.t.sensitive.data.t.size = 0; TPM2B_PUBLIC inPublic; TPMI_ALG_PUBLIC type; TPMI_ALG_HASH nameAlg; TPMI_DH_OBJECT parentHandle; UINT32 objectAttributes = 0; char opuFilePath[PATH_MAX] = {0}; char oprFilePath[PATH_MAX] = {0}; char *contextParentFilePath = NULL; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvH:P:K:g:G:A:I:L:o:O:p:d:c:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"parent",1,NULL,'H'}, {"pwdp",1,NULL,'P'}, {"pwdk",1,NULL,'K'}, {"halg",1,NULL,'g'}, {"kalg",1,NULL,'G'}, {"objectAttributes",1,NULL,'A'}, {"inFile",1,NULL,'I'}, {"policyFile",1,NULL,'L'}, {"opu",1,NULL,'o'}, {"opr",1,NULL,'O'}, {"contextParent",1,NULL,'c'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, H_flag = 0, P_flag = 0, K_flag = 0, g_flag = 0, G_flag = 0, A_flag = 0, I_flag = 0, L_flag = 0, o_flag = 0, c_flag = 0, O_flag = 0/*, f_flag = 0*/; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'H': if(getSizeUint32Hex(optarg,&parentHandle) != 0) { showArgError(optarg, argv[0]); returnVal = -1; break; } H_flag = 1; break; case 'P': sessionData.hmac.t.size = sizeof(sessionData.hmac.t) - 2; if(str2ByteStructure(optarg,&sessionData.hmac.t.size,sessionData.hmac.t.buffer) != 0) { returnVal = -2; break; } P_flag = 1; break; case 'K': inSensitive.t.sensitive.userAuth.t.size = sizeof(inSensitive.t.sensitive.userAuth.t) - 2; if(str2ByteStructure(optarg,&inSensitive.t.sensitive.userAuth.t.size, inSensitive.t.sensitive.userAuth.t.buffer) != 0) { returnVal = -3; break; } K_flag = 1; break; case 'g': if(getSizeUint16Hex(optarg,&nameAlg) != 0) { showArgError(optarg, argv[0]); returnVal = -4; break; } printf("nameAlg = 0x%4.4x\n", nameAlg); g_flag = 1; break; case 'G': if(getSizeUint16Hex(optarg,&type) != 0) { showArgError(optarg, argv[0]); returnVal = -5; break; } printf("type = 0x%4.4x\n", type); G_flag = 1; break; case 'A': if(getSizeUint32Hex(optarg,&objectAttributes) != 0) { showArgError(optarg, argv[0]); returnVal = -6; break; } A_flag = 1;//H_flag = 1; break; case 'I': inSensitive.t.sensitive.data.t.size = sizeof(inSensitive.t.sensitive.data) - 2; if(loadDataFromFile(optarg, inSensitive.t.sensitive.data.t.buffer, &inSensitive.t.sensitive.data.t.size) != 0) { returnVal = -7; break; } I_flag = 1; printf("inSensitive.t.sensitive.data.t.size = %d\n",inSensitive.t.sensitive.data.t.size); break; case 'L': inPublic.t.publicArea.authPolicy.t.size = sizeof(inPublic.t.publicArea.authPolicy) - 2; if(loadDataFromFile(optarg, inPublic.t.publicArea.authPolicy.t.buffer, &inPublic.t.publicArea.authPolicy.t.size) != 0) { returnVal = -8; break; } L_flag = 1; break; case 'o': safeStrNCpy(opuFilePath, optarg, sizeof(opuFilePath)); if(checkOutFile(opuFilePath) != 0) { returnVal = -9; break; } o_flag = 1; break; case 'O': safeStrNCpy(oprFilePath, optarg, sizeof(oprFilePath)); if(checkOutFile(oprFilePath) != 0) { returnVal = -10; break; } O_flag = 1; break; case 'c': contextParentFilePath = optarg; if(contextParentFilePath == NULL || contextParentFilePath[0] == '\0') { returnVal = -11; break; } printf("contextParentFile = %s\n", contextParentFilePath); c_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -12; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -13; } break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -14; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -15; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; if(P_flag == 0) sessionData.hmac.t.size = 0; if(I_flag == 0) inSensitive.t.sensitive.data.t.size = 0; if(K_flag == 0) inSensitive.t.sensitive.userAuth.t.size = 0; if(L_flag == 0) inPublic.t.publicArea.authPolicy.t.size = 0; *((UINT8 *)((void *)&sessionData.sessionAttributes)) = 0; flagCnt = h_flag + v_flag + H_flag + g_flag + G_flag + c_flag ; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -16; } } else if(flagCnt == 3 && (H_flag == 1 || c_flag == 1) && g_flag == 1 && G_flag == 1) { prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &parentHandle, contextParentFilePath); if(returnVal == 0) returnVal = create(parentHandle, &inPublic, &inSensitive, type, nameAlg, opuFilePath, oprFilePath, o_flag, O_flag, I_flag, A_flag, objectAttributes); finishTest(); if(returnVal) return -17; } else { showArgMismatch(argv[0]); return -18; } return 0; }
int main(int argc, char* argv[]) { int opt; char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; int returnVal = 0; struct option sOpts[] = { { "index" , required_argument, NULL, 'x' }, { "authHandle" , required_argument, NULL, 'a' }, { "size" , required_argument, NULL, 's' }, { "attribute" , required_argument, NULL, 't' }, { "handlePasswd", required_argument, NULL, 'P' }, { "indexPasswd" , required_argument, NULL, 'I' }, { "passwdInHex" , no_argument, NULL, 'X' }, { "port" , required_argument, NULL, 'p' }, { "dbg" , required_argument, NULL, 'd' }, { "help" , no_argument, NULL, 'h' }, { "version" , no_argument, NULL, 'v' }, { NULL , no_argument, NULL, 0 }, }; if( argc == 1) { showHelp(argv[0]); return 0; } if( argc > (int)(2*sizeof(sOpts)/sizeof(struct option)) ) { showArgMismatch(argv[0]); return -1; } while ( ( opt = getopt_long( argc, argv, "x:a:s:t:P:I:Xp:d:hv", sOpts, NULL ) ) != -1 ) { switch ( opt ) { case 'h': case '?': showHelp(argv[0]); return -2; case 'v': showVersion(argv[0]); return -3; case 'x': if( getSizeUint32Hex(optarg, &nvIndex) != 0 ) return -4; break; case 'a': if( getSizeUint32Hex(optarg, &authHandle) != 0 ) return -5; break; case 's': if( getSizeUint32(optarg, &size) != 0 ) return -6; break; case 't': if( getSizeUint32Hex(optarg, &nvAttribute) != 0 ) return -7; break; case 'P': if( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the handle password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA)-1); return -8; } safeStrNCpy(handlePasswd, optarg, sizeof(handlePasswd)); break; case 'I': if( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the index password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA)-1); return -9; } safeStrNCpy(indexPasswd, optarg, sizeof(indexPasswd)); break; case 'X': hexPasswd = true; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); return -10; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); return -11; } break; } } if( nvIndex == 0 ) { printf("\nYou must provide an index (!= 0) for the NV area.\n"); return -12; } if( authHandle == 0 ) { printf("\nYou must provide an right auth handle for this operation.\n"); showHelp(argv[0]); return -13; } prepareTest(hostName, port, debugLevel); returnVal = nvSpaceDefine(); finishTest(); if(returnVal) return -14; return 0; }
TEST_P(NoOptionalOutput, Works) { prepareTest(GetParam()); }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; //DEFAULT_TPM_PORT; char *contextFilePath = NULL; char *keyContextFilePath = NULL; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvH:c:k:C:P:K:f:o:p:d:"; struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"handle",1,NULL,'H'}, {"context",1,NULL,'c'}, {"keyHandle",1,NULL,'k'}, {"keyContext",1,NULL,'C'}, {"Password",1,NULL,'P'}, {"keyPassword",1,NULL,'K'}, {"inFile",1,NULL,'f'}, {"outFile",1,NULL,'o'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {0,0,0,0}, }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, H_flag = 0, c_flag = 0, k_flag = 0, C_flag = 0, K_flag = 0, P_flag = 0, f_flag = 0, o_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } cmdAuth.hmac.t.size = 0; cmdAuth2.hmac.t.size = 0; while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'H': if(getSizeUint32Hex(optarg,&activateHandle) != 0) { returnVal = -1; break; } H_flag = 1; break; case 'c': contextFilePath = optarg; if(contextFilePath == NULL || contextFilePath[0] == '\0') { returnVal = -2; break; } printf("contextFile = %s\n", contextFilePath); c_flag = 1; break; case 'k': if(getSizeUint32Hex(optarg,&keyHandle) != 0) { returnVal = -3; break; } k_flag = 1; break; case 'C': keyContextFilePath = optarg; if(keyContextFilePath == NULL || keyContextFilePath[0] == '\0') { returnVal = -4; break; } printf("keyContextFile = %s\n", keyContextFilePath); C_flag = 1; break; case 'P': cmdAuth.hmac.t.size = sizeof(cmdAuth.hmac.t) - 2; if(str2ByteStructure(optarg,&cmdAuth.hmac.t.size,cmdAuth.hmac.t.buffer) != 0) { returnVal = -5; break; } P_flag = 1; break; case 'K': cmdAuth2.hmac.t.size = sizeof(cmdAuth2.hmac.t) - 2; if(str2ByteStructure(optarg,&cmdAuth2.hmac.t.size,cmdAuth2.hmac.t.buffer) != 0) { returnVal = -6; break; } K_flag = 1; break; case 'f': if(readCrtSecFromFile(optarg,&credentialBlob,&secret) != 0) { returnVal = -7; break; } f_flag = 1; break; case 'o': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); #if 0 if(checkOutFile(outFilePath) != 0) { returnVal = -1; break; } #endif o_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -8; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -9; } break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -10; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -11; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + H_flag + c_flag + k_flag + C_flag + f_flag + o_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -12; } } else if((flagCnt == 4) && (H_flag == 1 || c_flag == 1) && (k_flag == 1 || C_flag == 1) && (f_flag == 1) && (o_flag == 1)) { prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &activateHandle, contextFilePath); if(C_flag && returnVal == 0) returnVal = loadTpmContextFromFile(sysContext, &keyHandle, keyContextFilePath); if(returnVal == 0) returnVal = activateCredential(); finishTest(); if(returnVal) return -13; } else { showArgMismatch(argv[0]); return -14; } return 0; }
int main(int argc, char* argv[]) { UINT16 size=20; char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; int returnVal = 0; char outFileName[PATH_MAX] = {0}; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); const char *optstring = "s:o:p:d:hv"; int opt = -1; static struct option long_Opts[] = { { "size",1,NULL,'s' }, { "of",1, NULL,'o' }, { "port",1,NULL,'p' }, { "dbg", 1,NULL,'d' }, { "help",0,NULL,'h' }, { "version",0,NULL,'v' }, { 0,0,0,0 }, }; int flagCnt = 0, s_flag=0, o_flag=0, h_flag=0, v_flag=0; if( argc > (int)(2*sizeof(long_Opts)/sizeof(struct option)) || argc == 1) { showArgMismatch(argv[0]); return -1; } while((opt = getopt_long(argc,argv,optstring,long_Opts,NULL)) != -1 && returnVal == 0) { switch (opt) { case 'h': h_flag = 1; // showHelp(); break; case '?': returnVal = -2; break; case 'v': // showVersion(); v_flag = 1; break; case 's': if(getSizeUint16(optarg, &size)) { printf(" s must go with the size number.\n"); returnVal = -3; break; } s_flag = 1; break; case 'o': if (optarg==NULL) { printf("\n Please don't forget to specified the output file! \n"); returnVal = -4; break; } safeStrNCpy(outFileName, optarg, sizeof(outFileName)); o_flag=1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -5; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -6; } break; default: showArgMismatch(argv[0]); exit(-7); } }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + o_flag + s_flag; if (flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -8; } } else if(flagCnt == 2 && h_flag != 1 && v_flag !=1) { prepareTest(hostName, port, debugLevel); returnVal = getRandom(outFileName, size); finishTest(); if(returnVal) return -9; } else { showArgMismatch(argv[0]); return -10; } return 0; }
int main(int argc, char *argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvg:p:d:o:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"algorithm",1,NULL,'g'}, {"output",1,NULL,'o'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {0,0,0,0} }; TPMI_ALG_HASH algorithmId; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, o_flag = 0, g_flag = 0; while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'g': if(getSizeUint16Hex(optarg,&algorithmId) != 0) { showArgError(optarg, argv[0]); returnVal = -1; break; } g_flag = 1; break; case 'o': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); if(checkOutFile(outFilePath) != 0) { returnVal = -2; break; } o_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -3; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -4; } break; // case 0: // break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -5; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -6; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag; if(o_flag) { fp = fopen(outFilePath,"w+"); if(NULL == fp) { printf("OutFile: %s Can Not Be Created !\n",outFilePath); return -7; } } if(flagCnt == 1) { //if(argc == 2) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -8; } return 0; } } else if(flagCnt == 0) { prepareTest(hostName, port, debugLevel); if(g_flag) returnVal = showSpPcrValues(algorithmId); else showAllPcrValues(); finishTest(); if(fp) fclose(fp); if(returnVal) return -9; } else { showArgMismatch(argv[0]); return -10; } return 0; }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; UINT16 size; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hve:s:n:o:p:d:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"encKey",1,NULL,'e'}, {"sec",1,NULL,'s'}, {"name",1,NULL,'n'}, {"outFile",1,NULL,'o'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, e_flag = 0, s_flag = 0, n_flag = 0, o_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'e': size = sizeof(inPublic); if(loadDataFromFile(optarg, (UINT8 *)&inPublic, &size) != 0) { returnVal = -1; break; } e_flag = 1; break; case 's': inCredential.t.size = sizeof(inCredential) - 2; if(loadDataFromFile(optarg, inCredential.t.buffer, &inCredential.t.size) != 0) { returnVal = -2; break; } s_flag = 1; break; case 'n': objectName.t.size = sizeof(objectName) - 2; if(hex2ByteStructure(optarg,&objectName.t.size,objectName.t.name) != 0) { returnVal = -3; break; } n_flag = 1; break; case 'o': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); if(checkOutFile(outFilePath) != 0) { returnVal = -4; break; } o_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -5; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -6; } break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -7; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -8; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + e_flag + s_flag + n_flag + o_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -9; } } else if(flagCnt == 4 && h_flag != 1 && v_flag != 1) { prepareTest(hostName, port, debugLevel); returnVal = makeCredential(); finishTest(); if(returnVal) return -10; } else { showArgMismatch(argv[0]); return -11; } return 0; }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; TPMI_RH_HIERARCHY hierarchyValue; TPM2B_MAX_BUFFER data; TPMI_ALG_HASH halg; char outHashFilePath[PATH_MAX] = {0}; char outTicketFilePath[PATH_MAX] = {0}; long fileSize = 0; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvH:g:I:o:t:p:d:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"Hierachy",1,NULL,'H'}, {"halg",1,NULL,'g'}, {"infile",1,NULL,'I'}, {"outfile",1,NULL,'o'}, {"ticket",1,NULL,'t'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, H_flag = 0, g_flag = 0, I_flag = 0, o_flag = 0, t_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'H': if(getHierarchyValue(optarg,&hierarchyValue) != 0) { returnVal = -1; break; } printf("\nhierarchyValue: 0x%x\n\n",hierarchyValue); H_flag = 1; break; case 'g': if(getSizeUint16Hex(optarg,&halg) != 0) { showArgError(optarg, argv[0]); returnVal = -2; break; } printf("halg = 0x%4.4x\n", halg); g_flag = 1; break; case 'I': if( getFileSize(optarg, &fileSize) != 0) { returnVal = -3; break; } if(fileSize > MAX_DIGEST_BUFFER) { printf("Input data too long: %ld, should be less than %d bytes\n", fileSize, MAX_DIGEST_BUFFER); returnVal = -4; break; } data.t.size = fileSize; if(loadDataFromFile(optarg, data.t.buffer, &data.t.size) != 0) { returnVal = -5; break; } I_flag = 1; break; case 'o': safeStrNCpy(outHashFilePath, optarg, sizeof(outHashFilePath)); if(checkOutFile(outHashFilePath) != 0) { returnVal = -6; break; } o_flag = 1; break; case 't': safeStrNCpy(outTicketFilePath, optarg, sizeof(outTicketFilePath)); if(checkOutFile(outTicketFilePath) != 0) { returnVal = -7; break; } t_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -8; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -9; } break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -10; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -11; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + H_flag + g_flag + I_flag + o_flag + t_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -12; } } else if(flagCnt == 5 && h_flag != 1 && v_flag != 1) { prepareTest(hostName, port, debugLevel); returnVal = hash(hierarchyValue, &data, halg, outHashFilePath, outTicketFilePath); finishTest(); if(returnVal) return -13; } else { showArgMismatch(argv[0]); return -14; } return 0; }
TEST_P(SetAtomsUnSupportedFiles, Works) { prepareTest(GetParam()); }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; TPMI_DH_OBJECT keyHandle; BYTE *msg = NULL; UINT16 length = 0; UINT16 size = 0; long fileSize = 0; TPMT_TK_HASHCHECK validation; TPMI_ALG_HASH halg; char outFilePath[PATH_MAX] = {0}; char inMsgFileName[PATH_MAX] = {0}; char *contextKeyFile = NULL; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvk:P:g:m:t:s:p:d:c:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"keyHandle",1,NULL,'k'}, {"pwdk",1,NULL,'P'}, {"halg",1,NULL,'g'}, {"msg",1,NULL,'m'}, {"sig",1,NULL,'s'}, {"ticket",1,NULL,'t'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {"keyContext",1,NULL,'c'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, k_flag = 0, P_flag = 0, g_flag = 0, m_flag = 0, t_flag = 0, c_flag = 0, s_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'k': if(getSizeUint32Hex(optarg,&keyHandle) != 0) { returnVal = -1; break; } k_flag = 1; break; case 'P': sessionData.hmac.t.size = sizeof(sessionData.hmac.t) - 2; if(str2ByteStructure(optarg,&sessionData.hmac.t.size,sessionData.hmac.t.buffer) != 0) { returnVal = -2; break; } P_flag = 1; break; case 'g': if(getSizeUint16Hex(optarg,&halg) != 0) { showArgError(optarg, argv[0]); returnVal = -3; break; } printf("halg = 0x%4.4x\n", halg); g_flag = 1; break; case 'm': safeStrNCpy(inMsgFileName, optarg, sizeof(inMsgFileName)); m_flag = 1; break; case 't': size = sizeof(validation); if(loadDataFromFile(optarg, (UINT8 *)&validation, &size) != 0) { returnVal = -4; break; } t_flag = 1; break; case 's': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); if(checkOutFile(outFilePath) != 0) { returnVal = -5; break; } s_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -6; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -7; } break; case 'c': contextKeyFile = optarg; if(contextKeyFile == NULL || contextKeyFile[0] == '\0') { returnVal = -8; break; } printf("contextKeyFile = %s\n", contextKeyFile); c_flag = 1; break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -9; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -10; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) goto end; if(m_flag) { if(getFileSize(inMsgFileName, &fileSize)) { returnVal = -11; goto end; } if(fileSize == 0) { printf("the message file is empty !\n"); returnVal = -12; goto end; } if(fileSize > 0xffff) { printf("the message file was too long !\n"); returnVal = -13; goto end; } msg = (BYTE*)malloc(fileSize); if(msg == NULL) { returnVal = -14; goto end; } memset(msg, 0, fileSize); length = fileSize; if(loadDataFromFile(inMsgFileName, msg, &length) != 0) { returnVal = -15; goto end; } #if 0 printf("\nmsg length: %d\n",length); printf("msg content: "); for(int i = 0; i < length; i++) { printf("%02x ", msg[i]); } printf("\n"); return -1; #endif } if(P_flag == 0) sessionData.hmac.t.size = 0; if(t_flag == 0) { validation.tag = TPM_ST_HASHCHECK; validation.hierarchy = TPM_RH_NULL; validation.digest.t.size = 0; } flagCnt = h_flag + v_flag + k_flag + g_flag + m_flag + s_flag + c_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); returnVal = -16; } } else if((flagCnt == 4) && (k_flag == 1 || c_flag == 1) && (g_flag == 1) && (m_flag == 1) && (s_flag == 1)) { prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &keyHandle, contextKeyFile); if(returnVal == 0) returnVal = sign(keyHandle, halg, msg, length, &validation, outFilePath); finishTest(); if(returnVal) returnVal = -17; } else { showArgMismatch(argv[0]); returnVal = -18; } end: if(msg) free(msg); return returnVal; }
TEST_P(AnyOutputSupportedFiles, Works) { prepareTest(GetParam()); }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; //DEFAULT_TPM_PORT; TPMI_RH_PROVISION auth = TPM_RH_NULL; TPMI_DH_OBJECT objectHandle; TPMI_DH_OBJECT persistentHandle; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvA:H:S:P:p:d:c:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"auth",1,NULL,'A'}, {"handle",1,NULL,'H'}, {"persistent",1,NULL,'S'}, {"pwda",1,NULL,'P'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {"context",1,NULL,'c'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, A_flag = 0, H_flag = 0, S_flag = 0, c_flag = 0, P_flag = 0; char *contextFile = NULL; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'A': if(strcmp(optarg,"o") == 0 || strcmp(optarg,"O") == 0) auth = TPM_RH_OWNER; else if(strcmp(optarg,"p") == 0 || strcmp(optarg,"P") == 0) auth = TPM_RH_PLATFORM; else { printf("ERROR: auth '%s' not supported!\n", optarg); returnVal = -1; break; } A_flag = 1; break; case 'H': if(getSizeUint32Hex(optarg, &objectHandle) != 0) { returnVal = -2; break; } printf("\nobjectHandle: 0x%x\n\n",objectHandle); H_flag = 1; break; case 'S': if(getSizeUint32Hex(optarg, &persistentHandle) != 0) { returnVal = -3; break; } printf("\npersistentHandle: 0x%x\n\n",persistentHandle); S_flag = 1; break; case 'P': if( optarg == NULL || (strlen(optarg) >= sizeof(TPMU_HA)) ) { printf("\nPlease input the authenticating password(optional,no more than %d characters).\n", (int)sizeof(TPMU_HA)-1); returnVal = -4; break; } if( strlen(optarg) > 0 ) { sessionData.hmac.t.size = strlen(optarg); safeStrNCpy( (char *)&sessionData.hmac.t.buffer[0], optarg, sizeof(sessionData.hmac.t.buffer) ); } P_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -5; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -6; } break; case 'c': contextFile = optarg; if(contextFile == NULL || contextFile[0] == '\0') { returnVal = -7; break; } printf("contextFile = %s\n", contextFile); c_flag = 1; break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -8; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -9; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + A_flag + H_flag + S_flag + c_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -10; } } else if(flagCnt == 3 && A_flag == 1 && (H_flag == 1 || c_flag) && S_flag == 1) { prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &objectHandle, contextFile); if (returnVal == 0) returnVal = evictControl(auth, objectHandle, persistentHandle, P_flag); finishTest(); if(returnVal) return -11; } else { showArgMismatch(argv[0]); return -12; } return 0; }
TEST_F(OutputSelectorDeathTest, RejectsBadSelection) { prepareTest(); }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; TPMI_RH_HIERARCHY hierarchyValue; TPM2B_PUBLIC inPublic; TPM2B_SENSITIVE inPrivate; UINT16 size; memset(&inPublic,0,sizeof(TPM2B_PUBLIC)); memset(&inPrivate,0,sizeof(TPM2B_SENSITIVE)); setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvH:u:r:p:d:C:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"Hierachy",1,NULL,'H'}, {"pubfile",1,NULL,'u'}, {"privfile",1,NULL,'r'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {"context",1,NULL,'C'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, H_flag = 0, u_flag = 0, C_flag = 0, r_flag = 0; char *contextFile = NULL; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'H': if(getHierarchyValue(optarg,&hierarchyValue) != 0) { returnVal = -1; break; } printf("\nhierarchyValue: 0x%x\n\n",hierarchyValue); H_flag = 1; break; case 'u': size = sizeof(inPublic); if(loadDataFromFile(optarg, (UINT8 *)&inPublic, &size) != 0) { returnVal = -2; break; } u_flag = 1; break; case 'r': size = sizeof(inPrivate); if(loadDataFromFile(optarg, (UINT8 *)&inPrivate, &size) != 0) { returnVal = -3; break; } r_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -4; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -5; } break; case 'C': contextFile = optarg; if(contextFile == NULL || contextFile[0] == '\0') { returnVal = -6; break; } printf("contextFile = %s\n", contextFile); C_flag = 1; break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -7; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -8; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + H_flag + u_flag ; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -9; } } else if(flagCnt == 2 && H_flag == 1 && u_flag == 1) { prepareTest(hostName, port, debugLevel); returnVal = loadExternal(hierarchyValue, &inPublic, &inPrivate, r_flag); if(returnVal == 0 && C_flag) returnVal = saveTpmContextToFile(sysContext, handle2048rsa, contextFile); finishTest(); if(returnVal) return -10; } else { showArgMismatch(argv[0]); return -11; } return 0; }
int main(int argc, char* argv[]) { char hostName[200] = DEFAULT_HOSTNAME; int port = DEFAULT_RESMGR_TPM_PORT; TPMI_DH_OBJECT objectHandle; char outFilePath[PATH_MAX] = {0}; char *contextFile = NULL; setbuf(stdout, NULL); setvbuf (stdout, NULL, _IONBF, BUFSIZ); int opt = -1; const char *optstring = "hvH:o:p:d:c:"; static struct option long_options[] = { {"help",0,NULL,'h'}, {"version",0,NULL,'v'}, {"object",1,NULL,'H'}, {"opu",1,NULL,'o'}, {"port",1,NULL,'p'}, {"debugLevel",1,NULL,'d'}, {"contextObject",1,NULL,'c'}, {0,0,0,0} }; int returnVal = 0; int flagCnt = 0; int h_flag = 0, v_flag = 0, H_flag = 0, c_flag = 0, o_flag = 0; if(argc == 1) { showHelp(argv[0]); return 0; } while((opt = getopt_long(argc,argv,optstring,long_options,NULL)) != -1) { switch(opt) { case 'h': h_flag = 1; break; case 'v': v_flag = 1; break; case 'H': if(getSizeUint32Hex(optarg,&objectHandle) != 0) { returnVal = -1; break; } printf("\nobject handle: 0x%x\n\n",objectHandle); H_flag = 1; break; case 'o': safeStrNCpy(outFilePath, optarg, sizeof(outFilePath)); if(checkOutFile(outFilePath) != 0) { returnVal = -2; break; } o_flag = 1; break; case 'p': if( getPort(optarg, &port) ) { printf("Incorrect port number.\n"); returnVal = -3; } break; case 'd': if( getDebugLevel(optarg, &debugLevel) ) { printf("Incorrect debug level.\n"); returnVal = -4; } break; case 'c': contextFile = optarg; if(contextFile == NULL || contextFile[0] == '\0') { returnVal = -5; break; } printf("contextFile = %s\n", contextFile); c_flag = 1; break; case ':': // printf("Argument %c needs a value!\n",optopt); returnVal = -6; break; case '?': // printf("Unknown Argument: %c\n",optopt); returnVal = -7; break; //default: // break; } if(returnVal) break; }; if(returnVal != 0) return returnVal; flagCnt = h_flag + v_flag + H_flag + o_flag + c_flag; if(flagCnt == 1) { if(h_flag == 1) showHelp(argv[0]); else if(v_flag == 1) showVersion(argv[0]); else { showArgMismatch(argv[0]); return -8; } } else if(flagCnt == 2 && (H_flag == 1 || c_flag) && o_flag == 1) { prepareTest(hostName, port, debugLevel); if(c_flag) returnVal = loadTpmContextFromFile(sysContext, &objectHandle, contextFile); if(returnVal == 0) returnVal = readPublic(objectHandle, outFilePath); finishTest(); if(returnVal) return -9; } else { showArgMismatch(argv[0]); return -10; } return 0; }