base
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctime>
|
||||
|
||||
#include "SHSSDK.h"
|
||||
|
||||
// 사용방법 표시
|
||||
void PrintUsage(const char* prg)
|
||||
{
|
||||
fprintf( stderr, "\n" );
|
||||
fprintf( stderr, "Usage: %s [id] [passwd] [service] [auth key] [cert file] [expire time]\n", prg );
|
||||
fprintf( stderr, "Inputs: \n" );
|
||||
fprintf( stderr, " id : ID \n" );
|
||||
fprintf( stderr, " passwd : Password\n" );
|
||||
fprintf( stderr, " service : Service Name \n" );
|
||||
fprintf( stderr, " auth key : Service authentication key \n" );
|
||||
fprintf( stderr, " cert file : authentication file(full path) \n" );
|
||||
fprintf( stderr, " expire time: auth token expiration time(sec) \n" );
|
||||
fprintf( stderr, "\n" );
|
||||
fprintf( stderr, " ex) %s test pass test1 authkey /user/service/cert/test123.cert 3600", prg );
|
||||
fprintf( stderr, "\n" );
|
||||
fprintf( stderr, "\n" );
|
||||
fprintf( stderr, " %s is Solbox Cloud Storage auth token tool.\n", prg );
|
||||
fprintf( stderr, "\n" );
|
||||
fprintf( stderr, "[Note] This program doesn't check for the input argument.\n");
|
||||
fprintf( stderr, "\n" );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
|
||||
if( argc != 7 ) {
|
||||
PrintUsage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
///////////////////////// SSDK ////////////////////////////////////////////////////////////////////
|
||||
// !!! 중요 !!!
|
||||
// SSDK 가 End User에게 배포가되면 안됩니다.
|
||||
// 그 이유는 보안상 취약점이 발생 하기때문입니다.
|
||||
// 해당 소스는 샘플용일 뿐이며, SSDK는 인증서버를 마련하여 해당 서버에서
|
||||
// 생성해 전달 될 수 있도록 제작되어야 합니다.
|
||||
|
||||
char *__auth_string = NULL;
|
||||
time_t expire = time(0)+_atoi64(argv[6]);
|
||||
/* SSDK : get auth string */
|
||||
__auth_string = (char *)sh_get_auth_string(argv[1], argv[2], argv[3], argv[4], argv[5], expire);
|
||||
if (!__auth_string) {
|
||||
fprintf(stderr, "Cannot get the auth string.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
tm * ptm = localtime(&expire);
|
||||
char buffer[64] = {0};
|
||||
|
||||
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", ptm);
|
||||
fprintf(stdout, "\n");
|
||||
fprintf(stdout, "* auth token : \n");
|
||||
fprintf(stdout, "%s\n\n",__auth_string);
|
||||
fprintf(stdout, "* expire date : \n");
|
||||
fprintf(stdout, "%s \n",buffer);
|
||||
fprintf(stdout, "\n");
|
||||
if(__auth_string)
|
||||
sh_mem_free(__auth_string);
|
||||
///////////////////////// SSDK ////////////////////////////////////////////////////////////////////
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user