//document.write("<script language=javascript src='/js/WFSClient20070205.js'></script>");

//1.¾ÏÈ£È­µÈ µ¥ÀÌÅ¸¸¦ Àü¼ÛÇÏ´Â Æû
document.write("<form name=iniSendForm method=post>");
document.write("<input type=hidden name=INIpluginData>");
document.write("<input type=hidden name=TrxID>");
document.write("<input type=hidden name=TOKEN>");
document.write("</form>");


//2.ÀÌ´ÏÅØ ÀÚ¹Ù½ºÅ©¸³Æ® ¼ÂÆÃ

//2-1.Secure FrameÀÌ ÀÖÀ»¶§
document.write("<script language='javascript' src='/initech/plugin/INIplugin.js'></script>");
document.write("<script language='javascript' src='/initech/plugin/cert.js'></script>");

//3.ÀúÀå¸ÅÃ¼ ¼³Á¤
//0(»ç¿ë¾ÈÇÔ),1(»ç¿ë)
var USEUSB = "0";
//0(»ç¿ë¾ÈÇÔ),1(»ç¿ë)
var USEPHONE ="0";
//0(»ç¿ë¾ÈÇÔ),1(»ç¿ë)
var USESCARD ="1";
// ÀÎÆ÷¹ÙÀÎ¿¡ µî·ÏµÈ °í°´»ç ¸í
var PHONESITE = "SUHYUP";
// ÀÎÆ÷¹ÙÀÎ¿¡¼­ »ç¿ëÇÏ´Â Å°º¸µåº¸¾È ¾÷Ã¼¸í
var PHONEKEYVENDOR = "SOFTCAMP";

//4.ÀÎÁõ¼­ UI Æ÷¸ä ¼³Á¤
//banktown(ºñÆ®¿÷½º),softforum(¼ÒÆ÷),kbstar(±¹¹Î),off(ÀÌ´ÏÅØ)
var UITYPE ="off";

var BTINITP7MSG = "BTInitP7Msg";
// ÀÎÁõ¼­ ·Î±×ÀÎ ¿©ºÎ
var CERTLOGIN = false;
//5.on:tray¸¦ º¸ÀÓ,off:Æ®·¹ÀÌ ¼û±è
// 1.Secure Frame»ç¿ë½Ã :INIplugin.html¿¡¼­ º¯°æ
// 2.Secure Frame ¹Ì »ç¿ë½Ã : noframe.js¿¡¼­ º¯°æ

//20091103 infovine update 1037 -> 1046
function initInfovine() {
	USEPHONE ="1";
	SetProperty("certmanui_phone", PHONESITE+"|http://"+window.location.host+"/infovine/DownloadList&BANKTOWN|"+PHONEKEYVENDOR);
	SetProperty("certmanui_phoneURL", "http://"+window.location.host+"/infovine/download.html");
	//20091103 ¹è¿µÈ¯ update certmanui_phoneIssue = 4 Ãß°¡¹ß±Þ ¿É¼Ç, ver 1037->1046
	SetProperty("certmanui_phoneIssue", "4");
	SetProperty("certmanui_phoneVer", "1,0,4,6" );
}

function initDlgUI(){

	obj = ModuleInstallCheck();

	if(obj!=null) 	{

		//banktown(ºñÆ®¿÷½º),softforum(¼ÒÆ÷),kbstar(±¹¹Î),off ¶Ç´Â °ø¹é(ÀÌ´ÏÅØ)
		if(UITYPE != '' && UITYPE != 'off'){
			SetProperty("certmanui_disguise", UITYPE);
		}

		var strStorage ='HDD|FDD';

		//0(»ç¿ë¾ÈÇÔ),1(»ç¿ë)
		if(USEPHONE =='1'){
			strStorage = strStorage+"|PHONE" ;
		}

		//0(»ç¿ë¾ÈÇÔ),1(»ç¿ë)
		if(USESCARD =='1'){
			strStorage = strStorage+"|SCARD";
		}

		//0(»ç¿ë¾ÈÇÔ),1(»ç¿ë)
		if(USEUSB =='1'){
			strStorage = strStorage+"|USB";
		}
			//obj.FilterCert(strStorage,"");
		SetProperty("FilterStore", strStorage);

		SetProperty("EnableCertChange","true"); //ÀÎÁõ¼­ º¯°æÀÌ °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù.
		SetProperty("SetLastStoreAsDefaultStore","yes"); //ÃÖ±Ù¿¡ Á¦ÃâµÆ´ø ÀÎÁõ¼­ ÀúÀå¸ÅÃ¼°¡ ´ÙÀ½ ¹ø Á¦Ãâ½Ã ±âº»À¸·Î »ç¿ëµÇµµ·Ï ÇÕ´Ï´Ù

		//ÀÎÁõ¼­ ¼±ÅÃÃ¢ÀÇ ÀÌ¹ÌÁö º¯°æ(INIplugin.jsÀÇ LogoURL ¼³Á¤)
		SetLogoPath();

	}
}
//ÀÎÁõ¼­ Á¦ÃâÃ¢¿¡ º¸ÀÌ´Â ÀÎÁõ¼­ À¯Çü ¼ÂÆÃ
function initCertFilter(){

	//°øÀÎ±â°ü ¿î¿µ¿ë ÀÎÁõ¼­¸¸ º¸ÀÌ°Ô
	var cacerts = null;

	cacerts = "IssuerDN=cn=yessignCA,ou=AccreditedCA,o=yessign,c=kr|";
	cacerts += "IssuerDN=cn=yessignCA,ou=LicensedCA,o=yessign,c=kr|";

	cacerts += "IssuerDN=cn=TradeSignCA,ou=AccreditedCA,o=TradeSign,c=KR|";
	cacerts += "IssuerDN=ou=TradeSignCA,ou=LicensedCA,o=TradeSign,c=KR|";

	cacerts += "IssuerDN=cn=CrossCert Certificate Authority,ou=AccreditedCA,o=CrossCert,c=KR|";
	cacerts += "IssuerDN=cn=CrossCertCA,ou=licensedCA,o=CrossCert,c=KR|";

	cacerts += "IssuerDN=cn=NCASignCA,ou=AccreditedCA,o=NCASign,c=KR|";
	cacerts += "IssuerDN=cn=NCASign CA,ou=licensedCA,o=NCASign,c=KR|";

	cacerts += "IssuerDN=cn=SignKorea CA,ou=AccreditedCA,o=SignKorea,c=KR|";
	cacerts += "IssuerDN=cn=SignKorea CA,ou=LicensedCA,o=SignKorea,c=KR|";

	cacerts += "IssuerDN=cn=signGATE CA2,ou=AccreditedCA,o=KICA,c=KR|";
	cacerts += "IssuerDN=cn=signGATE CA,ou=licensedCA,o=KICA,c=KR";


	SetProperty("FilterCert", cacerts);
	//SetProperty("certmanui_oid", "a1|a2|b1|b2|c1|c2|d1|d2|e1|e2|f1|f2|f3|a3|a4|a5|a6");
	/*
	//¿î¿µ+Å×½ºÆ® ÀÎÁõ¼­ ¸ðµÎ º¸ÀÌ°Ô

	cacerts = "IssuerDN=cn=yessignCA|";
	cacerts += "IssuerDN=cn=TradeSignCA|";

	cacerts += "IssuerDN=cn=CrossCert Certificate Authority|";
	cacerts += "IssuerDN=cn=CrossCertCA|";

	cacerts += "IssuerDN=cn=NCASignCA|";
	cacerts += "IssuerDN=cn=NCASign CA|";

	cacerts += "IssuerDN=cn=SignKorea CA|";
	cacerts += "IssuerDN=cn=SignKorea CA|";

	cacerts += "IssuerDN=cn=signGATE CA|";
	cacerts += "IssuerDN=cn=signGATE CA";

	SetProperty("FilterCert", cacerts);
	*/
	//¸¸·áµÈ ÀÎÁõ¼­ º¸ÀÌÁö ¾Ê°Ô
	//0(º¸ÀÌ°Ô),1(¾Èº¸ÀÌ°Ô)
	initShowExpiryCertificate(1);

}

//·Î±×ÀÎÇÑ ÀÎÁõ¼­ ¼ÂÆÃ
function getLoginCertFilter(){

	var userIssuer = null;
	var userSerial = null;

	obj = ModuleInstallCheck();
	if (obj == null) return "";

	userSerial = obj.GetCachedCert("serialnumber");
	userIssuer = obj.GetCachedCert("issuer");

	if(userSerial != null && userSerial!= "" && userIssuer != "" && userIssuer != null){
		//20080526 ÁÖ¼® »èÁ¦ ¹è¿µÈ¯ InitPwdCache();
		InitPwdCache();
		//obj.ExtendMethod("InitCache","on");
		SetProperty("FilterCert","SerialNumber="+userSerial+"&IssuerDN="+userIssuer);
		CERTLOGIN=true;
	}
}

/*
	¾ð¾î ¼³Á¤
	ÇÑ±¹¾î : "KOR" ,¿µ¾î : "ENG" ,Áß±¹¾î : "CHN" ,"off"
*/
function initLanguage(lang)
{
	SetProperty("certmanui_language", "KOR");
}


/*
	¸¸·áµÈ ÀÎÁõ¼­ È­¸é Ç¥½Ã ¿©ºÎ
	0 : show
	1 : disable
*/
function initShowExpiryCertificate(show)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	obj.DisableInvalidCert(show);
}

function PkiCube_Check(){
	if(ModuleInstallCheck()== null) {
		return false;
	}
		return true;
}

function PkiCube_CheckValid() {
	if(ModuleInstallCheck()== null) {
		return false;
	}
		return true;
}

function PkiCube_Init()	//PkiCube ÇÃ·¯±×ÀÎ ¸ðµâ ÃÊ±âÈ­
{

	//ÈÞ´ëÆù ÀúÀå¸ÅÃ¼ ÀÌ¿ë ½Ã
	initInfovine();

	//ÀÎÁõ¼­ UI Æ÷¸ä ÁöÁ¤
	initDlgUI();

	return;
}

/*
ÀüÀÚ¼­¸í µ¥ÀÌÅÍ Á¾·ù
ÀüÀÚ¼­¸í ½Ã »ç¿ëÇÒ µ¥ÀÌÅÍ Çü½Ä Á¾·ù¸¦ ¼±ÅÃÇÔ
option  0 : ÀÏ¹Ý PKCS#7 µ¥ÀÌÅÍ ¸®ÅÏ
        1 : PKCS#7 ContentInfo¸¸ ¸®ÅÏ (0¹ø °á°ú°ª¿¡¼­ Çì´õ¸¦ »« °ª, ±Ý°á¿ø¿¡ º¸³»¾ß ÇÒ Çü½Ä)
		2 : 1 + ÀÎÁõÁ¤º¸Ãß°¡(1¹ø Çü½Ä¿¡ ÀÎÁõÁ¤º¸¸¦ Ãß°¡)
*/
function initP7Msg(value)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	obj.setSharedAttribute(BTINITP7MSG, value);
}

function SetSharedProperty(name, value)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	obj.setSharedAttribute(name, value);
}

function GetSharedProperty(name)
{
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	obj.getSharedAttribute(name);
}
/*
	Encrypt Data »ý¼º (SEED/CBC/PKCS5Padding)
	data : ¾ÏÈ£È­ÇÒ µ¥ÀÌÅÍ

	return value
		¼º°ø : ¾ÏÈ£È­µÈ µ¥ÀÌÅ¸ÀÇ base64ÀÎÄÚµù°ª ¸®ÅÏ
		½ÇÆÐ : ""
*/

function PkiCube_Encrypt(TrxMsg) {
	 var res = '';
	if (TrxMsg.length == 0) return "";

	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	res = obj.Encrypt("SEED-CBC", TrxMsg);
	return res;
}

/*
	Decrypt Data »ý¼º
	data : base64·Î ¾ÏÈ£È­µÈ µ¥ÀÌÅÍ

	return value
		¼º°ø : º¹È£È­µÈ Æò¹® µ¥ÀÌÅÍ
		½ÇÆÐ : ""
*/

function PkiCube_Decrypt(instr)
{
	var res = '';
	if (instr.length == 0) return "";

	var obj = ModuleInstallCheck();
	if (obj == null) return "";
	res = obj.Decrypt("SEED-CBC", instr);

	return res;
}

function AddData(data){

  if(data == '') return "";
	var res = data;
	res += "&";

	return res;

}

/*
	XLS File »ý¼º
	data : ¾ÏÈ£È­µÈ µ¥ÀÌÅÍ
	filename : ÀúÀåÇÒ ÆÄÀÏÀÇ ±âº»ÀÌ¸§

	return value
		¼º°ø : "OK"
		½ÇÆÐ : ""
*/

function SaveEncData(data, filename){

	//htmlÀÇ metaÅ×Å© ³Ö±â
	var obj = ModuleInstallCheck();
	if (obj == null) return "";
	res = obj.ExtendMethod("WriteXLSFileEx", AddData("SEED-CBC") + AddData(data) + AddData('0') + AddData(filename) +AddData("euc-kr"));

	return res;
}

/*
	XLS File »ý¼º
	option : 0(»õ·Î µ¤¾î¾¸), 1(ÀÌ¾îºÙÀÌ±â)
	data : ¾ÏÈ£È­µÈ µ¥ÀÌÅÍ
	filename : ÀúÀåÇÒ ÆÄÀÏÀÇ ±âº»ÀÌ¸§

	return value
		¼º°ø : "OK"
		½ÇÆÐ : ""
*/

function SaveEncDataEx(data, filename,option){

	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	res = obj.ExtendMethod("WriteXLSFileEx", AddData("SEED-CBC") + AddData(data) + AddData(option.toString()) + AddData(filename) );

	return res;
}

function PkiCube_Login(infrm, TrxID)
{
	// 2007.1.15 infovine ubikey ¸ðµâ Ãß°¡·Î ÀÎÇÑ Ãß°¡ÄÚµå.
	initInfovine(); // ³×Æ¼ÁðÀÌ ÃÊ±â¿¡ ·ÎµùµÉ¶§ ¾ÈµÇ´Â °æ¿ì°¡ ÀÖÀ¸¹Ç·Î ¹«Á¶°Ç ·Î±×ÀÎ Ã¢ÀÌ ¶ã¶§ ÇÑ¹ø¾¿ ÇØÁÖÀÚ!
	PkiCube_Logout();
	PkiCube_Init();
	initCertFilter();

	if (EncFormVerify2(infrm, document.iniSendForm)){
		document.iniSendForm.TrxID.value = TrxID;
		document.iniSendForm.target = infrm.target;
		document.iniSendForm.action = infrm.action;
		document.iniSendForm.submit();
	}else{
		//return PkiCubeError();
	}
	return true;

}

function PkiCubeError() {
	alert("¾ÏÈ£È­ ¿À·ùÀÔ´Ï´Ù.");
	return false;
}

function PkiCube_EncPost(infrm, TrxID) {
	if (EncForm2(infrm, document.iniSendForm)){
		document.iniSendForm.TrxID.value = TrxID;
		document.iniSendForm.target = infrm.target;
		document.iniSendForm.action = infrm.action;
		document.iniSendForm.submit();
	}else{
		return PkiCubeError();
	}
	return true;
}

function PkiCube_EncGet( url, target, feature, TrxID) {

	var QryStr = '';
	var strResult ='';

	QryIndex = url.indexOf('?');

	if ( QryIndex < 0 ) {
		QryStr = " ";
	}
	else {
		QryStr = url.substring(QryIndex + 1, url.length );
		url = url.substring(0,QryIndex);

		//Querystring¿¡ encode Ãß°¡
		var arrParms = QryStr.split("&");
		var pname  = '';
		var pvalue = '';

		for(var ar=0; ar < arrParms.length; ar++){
		 var arrParms2 = arrParms[ar].split("=");
			if(arrParms2.length > 0){
				pname = arrParms2[0];
				pvalue = arrParms2[1];

				if (strResult!="") strResult += "&";
				strResult += pname;
				strResult += "=";
				strResult += URLEncode(pvalue);
			}
		}

		QryStr = strResult;
		////////////////////////////////////

	}
	EncLink(url+'?TrxID=' + TrxID,QryStr,target,feature);
}

function PkiCube_EncGet_notTrxID( url, target, feature) {

	var QryStr = '';
	var strResult ='';

	QryIndex = url.indexOf('?');

	if ( QryIndex < 0 ) {
		QryStr = " ";
	}
	else {
		QryStr = url.substring(QryIndex + 1, url.length );
		url = url.substring(0,QryIndex);

		//Querystring¿¡ encode Ãß°¡
		var arrParms = QryStr.split("&");
		var pname  = '';
		var pvalue = '';

		for(var ar=0; ar < arrParms.length; ar++){
		 var arrParms2 = arrParms[ar].split("=");
			if(arrParms2.length > 0){
				pname = arrParms2[0];
				pvalue = arrParms2[1];

				if (strResult!="") strResult += "&";
				strResult += pname;
				strResult += "=";
				strResult += URLEncode(pvalue);
			}
		}

		QryStr = strResult;
		////////////////////////////////////

	}
	//alert(QryStr);
	EncLink(url,QryStr,target,feature);
}

//ÀÎÁõ¼­ Ä³½Ã Á¤º¸ »èÁ¦
function PkiCube_Logout()
{
	InitCache();
}


function PkiCube_SetTimeOut() {
	return true;
}

function PkiCube_IssueCert(RefVal, AuthVal)
{
	var res = '';
	// 2007.1.15 infovine ubikey ¸ðµâ Ãß°¡·Î ÀÎÇÑ Ãß°¡ÄÚµå.
	initInfovine();
	//ÀÎÁõ¼­ UI Æ÷¸ä ÁöÁ¤
	initDlgUI();
	//°á°ú ¹× ¿¡·¯ ¸Þ½ÃÁö´Â Client ³»ºÎ¿¡¼­ »Ñ·ÁÁÜ
	res = IssueCertificate(RefVal, AuthVal);
	if(res) return '0';

}

//CA Ãß°¡
function PkiCube_IssueCert2(RefVal, AuthVal,CaName)
{

	// 2007.1.15 infovine ubikey ¸ðµâ Ãß°¡·Î ÀÎÇÑ Ãß°¡ÄÚµå.
	initInfovine();

	//ÀÎÁõ¼­ UI Æ÷¸ä ÁöÁ¤
	initDlgUI();

	//°á°ú ¹× ¿¡·¯ ¸Þ½ÃÁö´Â Client ³»ºÎ¿¡¼­ »Ñ·ÁÁÜ
	res = IssueCertificate2(CaName, RefVal, AuthVal);
	if(res) return '0';

}

function PkiCube_RenewCert()
{

	//°á°ú ¹× ¿¡·¯ ¸Þ½ÃÁö´Â Client ³»ºÎ¿¡¼­ »Ñ·ÁÁÜ
	SetProperty("FilterCert", "IssuerDN=cn=yessignCA,ou=AccreditedCA,o=yessign,c=kr");
	UpdateCertificate();
	return;
}

function PkiCube_RenewCert2(CaName)
{

	//°á°ú ¹× ¿¡·¯ ¸Þ½ÃÁö´Â Client ³»ºÎ¿¡¼­ »Ñ·ÁÁÜ
	UpdateCertificate2(CaName);
	return;
}

function PkiCube_OpenCertManage()
{
	// 2007.1.15 infovine ubikey ¸ðµâ Ãß°¡·Î ÀÎÇÑ Ãß°¡ÄÚµå.
	initInfovine();

	//ÀÎÁõ¼­ UI Æ÷¸ä ÁöÁ¤
	initDlgUI();

	ManageCert();
}

function btActX_RenewRegisterCert(gubun,data,isSign)
{
	var SignMsg = "";

	//PkiCube_Logout();
	PkiCube_Init();

	SetProperty("FilterCert", "IssuerDN=cn=yessignCA,ou=AccreditedCA,o=yessign,c=kr");

	if(gubun == "0"){

		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}

		initCertFilter();
		//signedData Æ÷¸ËÁöÁ¤
		initP7Msg('0');
		SignMsg = initPKCS7SignedData(data,false);


	}else{

		if(UpdateCertificate()){
			SignMsg = "0";
		}
		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}
	}

	return SignMsg;
}

//Serial¹øÈ£·Î ÀÎÁõ¼­ »èÁ¦
function PkiCube_DeleteCert(serialnum)
{
	res = RevokeCertificate(serialnum);
	if(res) return '0';
}

function PkiCube_DeleteCert2(CaName,serialnum)
{
	res = RevokeCertificate2(CaName,serialnum);
	if(res) return '0';
}

function speedFrameCheck(str){
	if(ModuleInstallCheck()== null) {
		alert("º¸¾È¸ðµâÀÌ ½ÇÇàµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.\nº¸¾È¸ðµâ ¼³Ä¡ ÆäÀÌÁö·Î ÀÌµ¿ÇÕ´Ï´Ù.");
	}
}
function insurancePkiCube_CheckValid(gubun) {
	if(ModuleInstallCheck()== null) {
		alert("º¸¾È¸ðµâÀÌ ½ÇÇàµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.\nº¸¾È¸ðµâ ¼³Ä¡ ÆäÀÌÁö·Î ÀÌµ¿ÇÕ´Ï´Ù.");
		location.href="/insurance_index.jsp?gubun=" + gubun;
		return false;
	}
		return true;
}

//¼­¸íµ¥ÀÌÅ¸¸¦ ¸®ÅÏ
function initPKCS7SignedData(data, view)
{
	var ver = "4, 1, 14, 0";
	var iniSignData = "";
	var checkcert = false;
	obj = ModuleInstallCheck();
	if (obj == null)  return null;

	//·Î±×ÀÎÇÑ ÀÎÁõ¼­°¡ ÀÖ´ÂÁö Ã¼Å©
	getLoginCertFilter();

	if(EnableFunction(ver)) {
		//view (true or false) :ÀüÀÚ¼­¸í È®ÀÎÃ¢À» º¸¿©ÁÙ°ÇÁö ¿©ºÎ
		iniSignData = obj.PKCS7SignData("sha1", data, TimeURL, view);
		if(iniSignData =="") {
			return null;
		}
		return iniSignData;

	} else {
		var msg;
		msg = "ÇöÀç ¼³Ä¡µÈ ¹öÀü V " + GetVersion() + " ¿¡¼­´Â ÀüÀÚ¼­¸í ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù."
		msg += "\n\nV " + ver + " ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù."
		alert(msg);
		return null;
	}
}

//ÀüÀÚ¾îÀ½¿ë ÀüÀÚ¼­¸í ContentInfo¸¸ ¼­¸í
function Login_BillCertSave(infrm, signStr, TrxID)
{
	var insigndata ='';
	var tmpsigndata ='';
	var insigndata_yessign ='';

	PkiCube_Init();
	initCertFilter();

	obj = ModuleInstallCheck();
	if (obj == null)  return null;

	getLoginCertFilter();

	//signedData Æ÷¸ËÁöÁ¤ (±Ý°á¿øÇü½Ä)
	initP7Msg('1');
	tmpsigndata = obj.PKCS7SignData("sha1", signStr, TimeURL, false);

	if(tmpsigndata != null && tmpsigndata !='') {
		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}

		var arrdata = tmpsigndata.split("\n");

		for(var s=0;s <arrdata.length ; s++){
			insigndata_yessign +=arrdata[s];
		}

		if (insigndata_yessign.length > 3290 ) {
			alert("[BillCertSave ERROR 1]SIGN DATA °¡ 3290¹ÙÀÌÆ®¸¦ ³Ñ½À´Ï´Ù.");
			return false;
		}

		infrm.SIGN.value = insigndata_yessign;
		infrm.SIGNLENGTH.value= insigndata_yessign.length;
	}

	//ÀÎÁõ¼­ °ËÁõÀ» À§ÇÑ Ã³¸®(Ç¥ÁØ PKCS7 ¼­¸í Ã³¸®)
	encodeData = GatherValueForSign(infrm, 0,'');

	initP7Msg('0');
	insigndata = obj.PKCS7SignData("sha1", encodeData, TimeURL, false);

	if(insigndata !=null && insigndata !='') {

		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}

		infrm.SIGNVALUE.value = insigndata;
		infrm.ORIGIN_TRXID.value = TrxID;
		TrxID = "CERT_CONFIRM_SIGN_SAVE";

		if (EncFormVerify2(infrm,document.iniSendForm)){
			document.iniSendForm.TrxID.value = TrxID;
			document.iniSendForm.target = infrm.target;
			document.iniSendForm.action = infrm.action;
			document.iniSendForm.submit();
			return true;
		}
	}else{
		return false;
	}
}

/*
//ÀüÀÚ¾îÀ½¿ë ÀüÀÚ¼­¸í ContentInfo¸¸ ¼­¸í
function Login_BillCertSave(infrm, signStr, TrxID)
{
	var insigndata ='';
	var tmpsigndata ='';
	PkiCube_Init();

	initCertFilter();

	//signedData Æ÷¸ËÁöÁ¤
	initP7Msg('1');

	tmpsigndata = initPKCS7SignedData(signStr,false);
	//3¹øÂ° (true or false) :ÀüÀÚ¼­¸í È®ÀÎÃ¢À» º¸¿©ÁÙ°ÇÁö ¿©ºÎ
	if(tmpsigndata != null && tmpsigndata !='') {

		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}

		var arrdata = tmpsigndata.split("\n");

		for(var s=0;s <arrdata.length ; s++){
			insigndata +=arrdata[s];
		}

		if (insigndata.length > 3290 ) {
			alert("[BillCertSave ERROR 1]SIGN DATA °¡ 3290¹ÙÀÌÆ®¸¦ ³Ñ½À´Ï´Ù.");
			return false;
		}
		infrm.SIGN.value = insigndata;
		infrm.SIGNLENGTH.value= insigndata.length;

		if (EncForm2(infrm,document.iniSendForm)){
			document.iniSendForm.TrxID.value = TrxID;
			document.iniSendForm.target = infrm.target;
			document.iniSendForm.action = infrm.action;
			document.iniSendForm.submit();
			return true;
		}
	}else{
		return false;
	}
}
*/

//³Ñ°ÜÁø µ¥ÀÌÅ¸¸¦ PKCS#7 ¼­¸í
function getCertSignData(signStr) { //ÀüÀÚ¼­¸í°ª¸¸ ¸®ÅÏÇÑ´Ù.
	var signdata= '';

	PkiCube_Init();

	initCertFilter();

	//signedData Æ÷¸ËÁöÁ¤
	initP7Msg('0');

	signdata = initPKCS7SignedData(signStr,false);
	//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
	if (!CERTLOGIN){
		InitCache();
	}

	if(signdata == null){
		return false;
	}else{
		return signdata;
	}
}

//Æûµ¥ÀÌÅ¸¸¦ PKCS#7 ¼­¸í
function DefaultCertSign(infrm, signStr , TrxID)
{
	//PkiCube_Logout();
	var insigndata ='';

	PkiCube_Init();

	initCertFilter();

	//signedData Æ÷¸ËÁöÁ¤
	initP7Msg('0');

	encodeData = GatherValueForSign(infrm, 0,'');

	insigndata = initPKCS7SignedData(encodeData,false);

	//3¹øÂ° (true or false) :ÀüÀÚ¼­¸í È®ÀÎÃ¢À» º¸¿©ÁÙ°ÇÁö ¿©ºÎ
	if(insigndata !=null && insigndata !='') {

		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}

		infrm.SIGNVALUE.value = insigndata;
		//if (EncForm2(infrm,document.iniSendForm)){
		if (EncFormVerify2(infrm,document.iniSendForm)){
			document.iniSendForm.TrxID.value = TrxID;
			document.iniSendForm.target = infrm.target;
			document.iniSendForm.action = infrm.action;
			document.iniSendForm.submit();
			return true;
		}
	}
}
//Æûµ¥ÀÌÅ¸¸¦ PKCS#7 ¼­¸í + º»ÀÎÈ®ÀÎÁ¤º¸
function CertSignConfirm(infrm, signStr , TrxID)
{
	//PkiCube_Logout();
	var insigndata ='';

	PkiCube_Init();

	initCertFilter();

	//signedData Æ÷¸ËÁöÁ¤
	initP7Msg('0');

	encodeData = GatherValueForSign(infrm, 0,'');
	insigndata = initPKCS7SignedData(encodeData,false);
	if(insigndata !=null && insigndata !='') {

		infrm.SIGNVALUE.value = insigndata;
		if (EncFormVerify2(infrm,document.iniSendForm)){
			document.iniSendForm.TrxID.value = TrxID;
			document.iniSendForm.target = infrm.target;
			document.iniSendForm.action = infrm.action;
			// ÀÎÁõ¼­Ã¢ È®ÀÎ¹öÆ°´©¸¦°æ¿ì¿¡¸¸...
            if( document.all.btn1 != null && document.all.btn1.style != null ){
                document.all.btn1.style.visibility="hidden";
            }
            if( document.all.btn2 != null && document.all.btn2.style != null ){
                document.all.btn2.style.visibility="visible";
            }

			//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
			if (!CERTLOGIN){
				InitCache();
			}

			isSubmit=true;
			document.iniSendForm.submit();
			return true;
		}

		//·Î±×ÀÎÇÏÁö ¾Ê°í ¼­¸í ½Ã ÀüÀÚ¼­¸í ÈÄ Ä³½¬¸¦ »èÁ¦ÇÏ¿© ¸ðµç ÀÎÁõ¼­°¡ º¸ÀÌ°ÔÇÔ
		if (!CERTLOGIN){
			InitCache();
		}

	}
}

/*
	csv/txtÆÄÀÏ µ¥ÀÌÅÍ¸¦ ¾ÏÈ£È­ÇØ¼­ ¸®ÅÏ
	retOpt : »ç¿ëÇÏÁö ¾ÊÀ½.¹«Á¶°Ç ¾ÏÈ£È­
	data : ¾ÏÈ£È­ÇÒ µ¥ÀÌÅÍ
	filename : ÀúÀåÇÒ ÆÄÀÏÀÇ ±âº»ÀÌ¸§

	return value
		¼º°ø : ¾ÏÈ£È­µÈ µ¥ÀÌÅ¸ÀÇ B64 ÀÎÄÚµùµÈ °á°ú
		½ÇÆÐ : ""
*/
function PkiCube_GetFile(filename ,retOpt)
{
	var fdata ='';
	var fname ='';
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	fdata = obj.ExtendMethod("GetXLSFile", AddData("SEED-CBC") + AddData(filename));

	if(fdata == null || fdata =='') {
		fdata="FAIL";
	}else{
		fname = obj.ExtendMethod("GetXLSFileName", "");
		fdata = fname +"|"+ URLEncode(fdata);
	}
	return fdata;
}

/*
	³×Æ®¿öÅ© Á¤º¸¸¦ ¾ò¾î¿Â´Ù.
	ÇÑ°³ÀÇ °æ¿ì IP=MAC
	¿©·¯°³ÀÇ °æ¿ì & ·Î ±¸ºÐÇÑ´Ù.
	IP1=MAC1&IP2=MAC2&IP3=MAC3
*/
function PkiCube_NetworkInfo(){
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	var ret = obj.ExtendMethod("GetNetworkInfo","");
	return ret;
}

/*
	MAC Address ¸¦ »Ì¾Æ¿Â´Ù.
	ÇÑ°³ÀÇ °æ¿ì MAC
	¿©·¯°³ÀÇ °æ¿ì | ·Î ±¸ºÐÇÑ´Ù.
	MAC1|MAC2|MAC3
*/
function PkiCube_MacAddrInfo(){
	var obj = ModuleInstallCheck();
	if (obj == null) return "";

	var ret = obj.ExtendMethod("GetMacAddr","");
	return ret;
}

/*
	¿äÃ»µ¥ÀÌÅ¸¿¡ ¹Ýº¹ºÎ°¡ ÀÖÀ» °æ¿ì
	key=value&key=value ÀÌ·± ÇüÅÂ·Î ¸¸µé¾î ÁÖ±â À§ÇØ »ç¿ë.
*/


function toTrxMsg(form){
	var TrxMsg = '';
	var obj = ModuleInstallCheck();
	for (i=0; i < form.length; i++)
	{
	    var e = form.elements[i];

	   	if ( e.type == "radio" || e.type == "checkbox")
	 		{
	     	if(e.checked == true  && e.value != "undefined")
	     	TrxMsg += (e.name + '=' + obj.URLEncode(e.value) + '&');

	   	}
	   	else if ( e.type == "select-one" && e.selectedIndex >= 0 && e.options[e.selectedIndex].value != '' )
	   	{
	       	TrxMsg += (e.name + '=' + obj.URLEncode(e.options[e.selectedIndex].value) + '&');
	   	}
	 	else if ( e.type != 'submit' && e.type != 'button' && e.value != '' && e.value != null && e.value != "undefined" && e.name != 'keyxreq')
	   	{
	   			var datatype = e.getAttribute("bttype");
					var str = e.value;
					var ret = e.value;
					if(datatype != null){
						switch(datatype){
							case 'amt' : 		// ±Ý¾×
								ret = str.replace(/\,/g,"");
								break;
						}
					}
				TrxMsg += (e.name + '=' + obj.URLEncode(ret) + '&'); //ÀÌ°ÍÀ» ¾Æ·¡·Î º¯°æÇÔ.
		}
	}
	if (TrxMsg.length == 0) TrxMsg = ' ';

	return TrxMsg;
}