//////////////////////////////Update Zhang////////////////////////////////
// XecureWeb SSL Client Java Script ver4.1 2001.5.30
//
// ¾ÆÁ÷ : Netscape 6.0Àº Áö¿øµÇÁö ¾Ê½À´Ï´Ù....
// Edit List 2000,05,30
// process_error() --> XecureWebError() // by Zhang º¯°æ
// function IsNetscape60() // by Zhang Ãß°¡
// function XecureUnescape(Msg) // by Zhang Ãß°¡
// function XecureEscape(Msg) // by Zhang Ãß°¡
// function XecurePath(xpath) // by zhang Ãß°¡
var gIsContinue=0;
var busy_info = "¾ÏÈ£È ÀÛ¾÷ÀÌ ÁøÇàÁßÀÔ´Ï´Ù. È®ÀÎÀ» ´©¸£½Ã°í Àá½Ã ±â´Ù·Á ÁֽʽÿÀ."
///////////// since 6.0 v210 //////////////////////////////////////////////
// usePageCharset : ¾Ïº¹È£½Ã ÆäÀÌÁö¿¡ ¸í½ÃµÈ ¹®ÀÚ¼ÂÀÇ »ç¿ë ¿©ºÎ
// XecureWeb Java ¹öÀü ¾Ïº¹È£½Ã ½Ã½ºÅÛ µðÆúÆ® ÀÎÄÚµù°ú ´Ù¸¥ ¹®ÀÚ¼ÂÀÇ
// ¸Þ¼¼Áö¸¦ ó¸®ÇÏ´Â °æ¿ì true ¼³Á¤
//
//var usePageCharset=true;
var usePageCharset=false;
// YESSIGN CA ADDRESS//////////////////////////////////////////////////////
// TEST : 203.233.91.234
// REAL : 203.233.91.71
//var yessign_ca_type = 1; // Yessign Real
var yessign_ca_type = 11; // Yessign Test
var yessign_ca_ip = "203.233.91.234";
var yessign_ca_port = 4512;
// XECURE CA ADDRESS///////////////////////////////////////////////////////
// TEST : 192.168.10.30
var xecure_ca_type = 101; // XecureCA (RSA)
//var xecure_ca_type = 102; // XecureCA (GPKI)
var xecure_ca_ip = "192.168.10.25;SoftforumCA";
//var xecure_ca_ip = "192.168.10.25";
var xecure_ca_port = 8200;
var xecure_ca_type_1 = 101; // XecureCA (RSA)
//var xecure_ca_type = 102; // XecureCA (GPKI)
var xecure_ca_ip_1 = "192.168.10.30;mma ca";
var xecure_ca_port_1 = 2223;
///////////////////////////////////////////////////////////////////////////////
// !!!!!!!!!!!!!!< ÁÖÀÇ >!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Sign, RequestCertificate, RevokeCertificate ½Ã ³ªÅ¸³ª´Â ÀÎÁõ¼ ¸ñ·Ï
// XecureWeb ver 5.1 ¿¡¼´Â accept_cert ¿¡ À¯È¿ÇÑ ÀÎÁõ±â°ü ÀÎÁõ¼ÀÇ
// CN À» Á¤È®È÷ Àû¾îÁØ´Ù.
// ver 4.0 ¿¡¼ yessign À̶ó Àû¾ú´ø °ÍÀº yessignCA-TEST, yessignCA ·Î ¼¼ºÐÈ µÈ´Ù.
// YESSIGN TEST : yessignCA-TEST
// YESSIGN REAL : yessignCA
////////////////////////////////////////////////////////////////////////////////
// ÀºÇຸÇè¿ëÀ¸·Î ¿ëµµÁ¦ÇÑ
//var accept_cert = "yessignCA:1.2.410.200005.1.1.1:1.2.410.200005.1.1.2:1.2.410.200005.1.1.4:1.2.410.200005.1.1.5";
//accept_cert+=",signGATE CA:1.2.410.200004.5.2.1.2:1.2.410.200004.5.2.1.1:1.2.410.200004.5.2.1.7.1";
//accept_cert+=",SignKorea CA:1.2.410.200004.5.1.1.7:1.2.410.200004.5.1.1.5";
//accept_cert+=",NCASign CA:1.2.410.200004.5.3.1.2:1.2.410.200004.5.3.1.9";
//accept_cert+=",CrossCertCA:1.2.410.200004.5.4.1.1:1.2.410.200004.5.4.1.2:1.2.410.200004.5.4.1.101";
//accept_cert+=",TradeSignCA:1.2.410.200012.1.1.3:1.2.410.200012.1.1.1:1.2.410.200012.1.1.101";
//var accept_cert = "yessign,Çѱ¹ÅõÀÚ½ÅŹÁõ±Ç CA,Å×½ºÆ® ÀÎÁõ±â°ü,ÁÖÅÃÀºÇà ÀÎÁõ±â°ü,lotto test CA,yessignCA-TEST,SignGateFTCA,signGATE CA,SignKorea Test CA,SignKorea CA,±â¾÷ÀºÇà ÀÎÁõ±â°ü,¿ÜȯÀºÇà ÀÎÁõ±â°ü,lotto test CA,Xecure TestCA,CrossCertCA,CrossCertCA-Test2,SoftforumCA,TradeSignCA,NCASign CA,NCATESTSign";
//var accept_cert = "CA131000002Test,CA131000002,Softforum CA 3.0,SoftforumCA,yessignCA,yessignCA-OCSP,signGATE CA,SignKorea CA,CrossCertCA,CrossCertCA-Test2,NCASign CA,TradeSignCA,yessignCA-TEST,lotto test CA,NCATESTSign,SignGateFTCA,SignKorea Test CA,TestTradeSignCA,Softforum Demo CA,mma ca,º´¹«Ã» ÀÎÁõ±â°ü";
var accept_cert = "yessignCA:1.2.410.200005.1.1.4:1.2.410.200005.1.1.1:1.2.410.200005.1.1.5";
/////////////////////////////////////////////////////////////////////////////////
// ÀüÀÚ¼¸í, ÀÎÁõ¼ °»½Å, ÀÎÁõ¼ Æó±â½Ã¿¡ ÀÎÁõ¼ ¾ÏÈ£¿À·ù¸¦ Çã¿ëȸ¼ö
var pwd_fail = 3;
//////////////////////////////////////////////////////////////////////////////////
// ·Î±×ÀΠâ¿¡ º¸ÀÏ À̹ÌÁö¸¦ ´Ù¿î·Îµå ¹ÞÀ» URL
//var bannerUrl = "http://" + window.location.host + "/XecureObject/xecure.bmp";
var bannerUrl = "http://" + window.location.host + "/XecureObject/xecureweb_big.bmp";
///////////////////////////////////////////////////////////////////////////////////
// ÀÎÁõ±â°ü ÀÎÁõ¼ ´Ù¿î·Îµå½Ã ÀÎÁõ±â°ü ÀÎÁõ¼¿Í ÀÎÁõ¼ CN
//var pCaCertUrl= "http://" + window.location.host + "/XecureObject/signed_cacert.bin";
//var pCaCertName = "³Ø¼ºê CA";
var pCaCertUrl= "http://" + window.location.host + "/XecureObject/signed_cacert.bin";
//var pCaCertName = "Å×½ºÆ® ÀÎÁõ±â°ü";
var pCaCertName = "shinbo real ca";
//////////////////////////////////////////////////////////////////////////////////
// ÀüÀÚ¼¸í È®ÀÎâ¿¡ º¸ÀÏ ¸Þ¼¼Áö¿Í ÀüÀÚ¼¸í È®ÀÎâ º¸±â ¿É¼Ç
// 0 : ¼¸í ¿ø¹® Ãâ·Â ¾ÈÇÔ, 1: ¼¸í ¿ø¹® Ãâ·Â
var sign_desc = "";
var show_plain = 0;
///////////////////////////////////////////////////////////////////////////////////
// xgate ¼¹ö ¸í:Æ÷Æ® ÁöÁ¤ , Æ÷Æ® »ý·«½Ã µðÆúÆ®·Î 443 Æ÷Æ® »ç¿ë
//var xgate_addr = window.location.hostname + ":443:8080";
//var xgate_addr = window.location.hostname + ":8091:8080";
var xgate_addr = window.location.hostname + ":55443:8080";
//var xgate_addr = "210.124.178.206" + ":8443:8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011";
///////////////////////////////////////////////////////////////////////////////////
// Netscape plugin version information
var packageURL = 'http://' + window.location.host + '/XecureObject/NPXecSSL_Install.jar';
//var packageURL = 'http://' + window.location.host + '/XecureObject/NPXecSSL50_Install.jar';
//var packageURL = 'http://download.softforum.co.kr/XecureObject/NPXecSSL50_Install.jar';
//var packageURL = 'http://download.softforum.co.kr/XecureObject41/NPXecSSL40_Install.jar';
//var versionMaj = 4;
//var versionMin = 2;
//var versionRel = 6;
var versionMaj = 5;
var versionMin = 1;
var versionRel = 0;
//////////////////////////////////////////////////////////////////////////////////
// Xecure Big ÇÔ¼öµé....
function SetConvertTable() {
// document.XecureWeb.SetPolicyConvertTableFirst(0, "1.2.410.200009.1.1.1", "³»¸¾´ë·Î:±ÝÀ¶°áÁ¦¿ø");
// document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200009.1.1.1.33", "³»¸¾´ë·Î Ưº°µî±Þ ¹ýÀÎ", "Å×½ºÆ®2 Policy OID");
/*
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200005.1.1.2", "±ÝÀ¶°Å·¡¹ýÀÎ");
// document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200005.1.1.3", "±ÝÀ¶°Å·¡´Üü");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200005.1.1.4", "ÀüÀÚ°Å·¡°³ÀÎ");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200005.1.1.5", "ÀüÀÚ°Å·¡¹ýÀÎ");
// document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200005.1.1.6", "±ÝÀ¶°Å·¡´Üü");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200004.5.2.1.1", "Á¤º¸ÀÎÁõ");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200004.5.1.1.5", "Áõ±ÇÀü»ê");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200004.5.3.1", "Àü»ê¿ø");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200004.5.4.1.1", "ÀüÀÚÀÎÁõ");
document.XecureWeb.SetPolicyConvertTableNext("1.2.410.200004.2.1", "°øÀÎÀÎÁõ±â°ü");
*/
// document.XecureWeb.SetPolicyConvertTableFinal(0);
// document.XecureWeb.SetIssuerConvertTableFirst("lotto test CA", "·Î¶ÇÀÎÁõ±â°ü");
// document.XecureWeb.SetIssuerConvertTableNext("SE CA", "¿¡½ºÀÌÀÎÁõ±â°ü", "Å×½ºÆ®");
/*
document.XecureWeb.SetIssuerConvertTableNext("SE CA", "¿¡½ºÀÌÀÎÁõ±â°ü", "");
document.XecureWeb.SetIssuerConvertTableNext("ÇѺûÀºÇà CA", "ÇѺûÀºÇà", "");
document.XecureWeb.SetIssuerConvertTableNext("yessignCA", "±ÝÀ¶°áÁ¦¿ø", "");
document.XecureWeb.SetIssuerConvertTableNext("yessignCA-TEST", "±Ý°á¿øTEST", "");
document.XecureWeb.SetIssuerConvertTableNext("SignGateFTCA", "Á¤º¸ÀÎÁõTEST", "");
document.XecureWeb.SetIssuerConvertTableNext("signGate CA", "Á¤º¸ÀÎÁõ", "");
document.XecureWeb.SetIssuerConvertTableNext("rootca", "Àü»ê¿ø", "");
document.XecureWeb.SetIssuerConvertTableNext("CrossCertCA", "ÀüÀÚÀÎÁõ", "");
document.XecureWeb.SetIssuerConvertTableNext("CertRSA01", "KISAÀÎÁõ±â°ü", "");
*/
// document.XecureWeb.SetIssuerConvertTableFinal();
}
//////////////////////////////////////////////////////////////////////////////////
// Xecure ÇÔ¼öµé....
function UserAgent()
{
return navigator.userAgent.substring(0,9);
}
function IsNetscape() // by Zhang
{
if(navigator.appName == 'Netscape')
return true ;
else
return false ;
}
function IsNetscape60() // by Zhang
{
if(IsNetscape() && UserAgent() == 'Mozilla/5')
return true ;
else
return false ;
}
function IsNetscape60() // by Zhang
{
if(IsNetscape() && UserAgent() == 'Mozilla/5')
return true ;
else
return false ;
}
function XecureUnescape(Msg) // by Zhang
{
if(IsNetscape())
return unescape(Msg) ;
else
return Msg ;
}
function XecureEscape(Msg) // by Zhang
{
if(IsNetscape())
return escape(Msg) ;
else
return Msg ;
}
function XecurePath(xpath) // by zhang
{
if(IsNetscape())
return (xpath) ;
else
return ("/" + xpath) ;
}
function XecureAddQuery(qs)
{
if(qs == "")
return "" ;
else
return "&" + qs ;
}
function XecureWebError() // by zhang
{
var errCode = 0 ;
var errMsg = "" ;
if( IsNetscape60() ) // Netscape 6.0
{
errCode = document.XecureWeb.nsIXecurePluginInstance.LastErrCode();
errMsg = document.XecureWeb.nsIXecurePluginInstance.LastErrMsg();
}
else
{
errCode = document.XecureWeb.LastErrCode();
errMsg = document.XecureWeb.LastErrMsg();
}
if(errCode == -144)
{
if(confirm("¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) + "\n\n ÀÎÁõ¼°ü¸®Ã¢À» ¿°Ú½À´Ï±î?"))
ShowCertManager() ;
}
// else if(errCode != 0)
alert( "¿¡·¯ÄÚµå : " + errCode + "\n\n" + XecureUnescape(errMsg) );
return false;
}
function escape_url(url) {
var i;
var ch;
var out = '';
var url_string = '';
url_string = String(url);
for (i = 0; i < url_string.length; i++) {
ch = url_string.charAt(i);
if (ch == ' ') out += '%20';
else if (ch == '%') out += '%25';
else if (ch == '&') out += '%26';
else if (ch == '+') out += '%2B';
else if (ch == '=') out += '%3D';
else if (ch == '?') out += '%3F';
else out += ch;
}
return out;
}
function ran_gen()
{
var maxnumbers = "999999";
var r = Math.round(Math.random() * (maxnumbers-1))+1+"";
for(var i=0; i < 6-r.length; i++)
r = "0" + r;
return r;
}
function XecureNavigate_NoEnc( url, target )
{
var qs ;
var path = "/";
var sid;
var xecure_url;
// get path info & query string & hash from url
qs_begin_index = url.indexOf('?');
path = getPath(url)
// get query string action url
if ( qs_begin_index < 0 ) {
qs = "";
}
else {
qs = url.substring(qs_begin_index + 1, url.length );
}
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
sid = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, "", "GET");
else
sid = document.XecureWeb.BlockEnc ( xgate_addr, path, "", "GET" );
gIsContinue = 0;
}
else {
alert(busy_info);
return false ;
}
if( sid == "") return XecureWebError();
xecure_url = path + "?q=" + sid + XecureAddQuery(qs);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
open ( xecure_url, target );
}
function XecureNavigate( url, target, feature )
{
var qs ;
var path = "/";
var cipher;
var xecure_url;
// get path info & query string & hash from url
qs_begin_index = url.indexOf('?');
path = getPath(url)
// get query string action url
if ( qs_begin_index < 0 ) {
qs = "";
}
else {
qs = url.substring(qs_begin_index + 1, url.length );
}
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
else
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError();
xecure_url = path + "?q=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if (feature=="" || feature==null) open ( xecure_url, target );
else open(xecure_url, target, feature );
}
/**
* @since XecureWeb 6.0 v220
*/
function XecureNavigate_Env( url, target, feature )
{
var qs ;
var path = "/";
var cipher;
var xecure_url;
// get path info & query string & hash from url
qs_begin_index = url.indexOf('?');
path = getPath(url)
// get query string action url
if ( qs_begin_index < 0 ) {
qs = "";
}
else {
qs = url.substring(qs_begin_index + 1, url.length );
}
if( gIsContinue == 0 ) {
gIsContinue = 1;
//cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1);
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError();
//xecure_url = path + "?q=" + escape_url(cipher);
xecure_url = path + "?eq=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if (feature=="" || feature==null) {
open ( xecure_url, target );
}
else {
open(xecure_url, target, feature );
}
}
function XecureLink( link )
{
var qs ;
// var path = "/";
var cipher;
// get path info & query string from action url
if ( link.protocol != "http:" ) {
// alert ( "http ÇÁ·ÎÅäÄݸ¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù." );
return true;
}
qs = link.search;
if ( qs.length > 1 ) {
qs = link.search.substring(1);
}
hash = link.hash;
//alert(xgate_addr);
//alert(path);
alert(qs);
if( gIsContinue == 0 ) {
path = XecurePath(link.pathname) ;
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs), "GET");
else {
//cipher = document.XecureWeb.BlockEnc(xgate_addr, "/XecureDemo/jsp/ibs/transfer_input.jsp", XecureEscape(qs),"GET");
//alert("qs : "+qs);
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher.length == 0) return XecureWebError() ;
// link.search = "?q=" + escape_url(cipher);
xecure_url = "http://" + link.host + path + hash + "?q=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if ( link.target == "" || link.target == null ) open ( xecure_url, "_self" );
else open( xecure_url, link.target );
return false;
}
/**
* @since XecureWeb 6.0 v220
*/
function XecureLink_Env( link )
{
var qs ;
// var path = "/";
var cipher;
// get path info & query string from action url
if ( link.protocol != "http:" ) {
// alert ( "http ÇÁ·ÎÅäÄݸ¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù." );
return true;
}
qs = link.search;
if ( qs.length > 1 ) {
qs = link.search.substring(1);
}
hash = link.hash;
if( gIsContinue == 0 ) {
path = XecurePath(link.pathname) ;
gIsContinue = 1;
//cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1);
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher.length == 0) return XecureWebError() ;
// link.search = "?q=" + escape_url(cipher);
//xecure_url = "http://" + link.host + path + hash + "?q=" + escape_url(cipher);
xecure_url = "http://" + link.host + path + hash + "?eq=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if ( link.target == "" || link.target == null ) open ( xecure_url, "_self" );
else open( xecure_url, link.target );
return false;
}
function XecureSubmit( form )
{
var qs ;
var path ;
var cipher;
qs_begin_index = form.action.indexOf('?');
// if action is relative url, get base url from window location
path = getPath(form.action)
// get path info & query string & hash from action url
if ( qs_begin_index < 0 ) {
qs = "";
}
else {
qs = form.action.substring(qs_begin_index + 1, form.action.length );
}
document.xecure.target = form.target;
if ( form.method == "get" || form.method=="GET" ) {
//collect input field values
//qs = XecureMakePlain( form );
if(qs.length!=0)
qs += "&"+XecureMakePlain( form );
else
qs = XecureMakePlain( form );
// encrypt QueryString
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
else{
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
xecure_url = path + "?q=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if ( form.target == "" || form.target == null ) open( xecure_url, "_self");
else open ( xecure_url, form.target );
}
else {
document.xecure.method = "post";
// encrypt QueryString of action field
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
else {
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
document.xecure.action = path + "?q=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
document.xecure.action += "&charset=" + document.charset;
posting_data = XecureMakePlain( form );
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
else{
cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
document.xecure.p.value = cipher;
document.xecure.submit();
}
return false;
}
function XecureSubmit( form , cmd)
{
var qs ;
var path ;
var cipher;
var qs_begin_index = form.action.indexOf('?');
// if action is relative url, get base url from window location
path = getPath(form.action)
// get path info & query string & hash from action url
if ( qs_begin_index < 0 ) {
qs = "";
}
else {
qs = form.action.substring(qs_begin_index + 1, form.action.length );
}
// document.xecure.target = form.target;
if ( form.method == "get" || form.method=="GET" ) {
//collect input field values
//qs = XecureMakePlain( form );
if(qs.length!=0)
qs += "&"+XecureMakePlain( form );
else
qs = XecureMakePlain( form );
// encrypt QueryString
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
else{
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
xecure_url = path + "?q=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if ( form.target == "" || form.target == null ) open( xecure_url, "_self");
else open ( xecure_url, form.target );
}
else {
document.xecure.method = "post";
// encrypt QueryString of action field
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
else {
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
document.xecure.action = path + "?q=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
document.xecure.action += "&charset=" + document.charset;
posting_data = XecureMakePlain( form );
if( gIsContinue == 0 ) {
gIsContinue = 1;
if( IsNetscape60() ) // Netscape 6.0
cipher = document.XecureWeb.nsIXecurePluginInstance.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
else{
cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
}
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
document.xecure.p.value = cipher;
document.xecure.cmd.value = cmd;
document.xecure.submit();
}
return false;
}
/**
* @since XecureWeb 6.0 v220
*/
function XecureSubmit_Env( form )
{
var qs ;
var path ;
var cipher;
qs_begin_index = form.action.indexOf('?');
// if action is relative url, get base url from window location
path = getPath(form.action)
// get path info & query string & hash from action url
if ( qs_begin_index < 0 ) {
qs = "";
}
else {
qs = form.action.substring(qs_begin_index + 1, form.action.length );
}
document.xecure.target = form.target;
if ( form.method == "get" || form.method=="GET" ) {
// collect input field values
if(qs.length!=0)
qs += "&"+XecureMakePlain( form );
else
qs = XecureMakePlain( form );
// encrypt QueryString
if( gIsContinue == 0 ) {
gIsContinue = 1;
//cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1);
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
//xecure_url = path + "?q=" + escape_url(cipher);
xecure_url = path + "?eq=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
xecure_url += "&charset=" + document.charset;
if ( form.target == "" || form.target == null ) open( xecure_url, "_self");
else open ( xecure_url, form.target );
}
else {
document.xecure.method = "post";
// encrypt QueryString of action field
if( gIsContinue == 0 ) {
gIsContinue = 1;
//cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"GET");
cipher = EnvelopData(XecureEscape(qs), "", serverCert, 1);
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
//document.xecure.action = path + "?q=" + escape_url(cipher);
document.xecure.action = path + "?eq=" + escape_url(cipher);
// adding character set information
if(usePageCharset)
document.xecure.action += "&charset=" + document.charset;
posting_data = XecureMakePlain( form );
if( gIsContinue == 0 ) {
gIsContinue = 1;
//cipher = document.XecureWeb.BlockEnc ( xgate_addr, path, XecureEscape(posting_data), "POST" );
cipher = EnvelopData(XecureEscape(posting_data), "", serverCert, 1);
gIsContinue = 0;
}
else {
alert(busy_info);
return false;
}
if( cipher == "" ) return XecureWebError() ;
//document.xecure.p.value = cipher;
document.xecure.ep.value = cipher;
document.xecure.submit();
}
return false;
}
function XecureMakePlain_Org(form)
{
var name = new Array(form.elements.length);
var value = new Array(form.elements.length);
var flag = false;
var j = 0;
var plain_text="";
var enable=false;//for softcamp
//for softcamp
if(document.secukey==null || typeof(document.secukey) == "undefined" || document.secukey.object==null) {
enable=false;
}
else {
enable=secukey.GetSecuKeyEnable();
}
len = form.elements.length;
for (i = 0; i < len; i++) {
if ((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")) {
if (form.elements[i].type == "radio" || form.elements[i].type == "checkbox") { // Leejh 99.11.10 checkboxÃß°¡
if (form.elements[i].checked == true) {
name[j] = form.elements[i].name;
value[j] = form.elements[i].value;
j++;
}
}
//for softcamp
else if(enable && form.elements[i].type == "password"){
if(form.elements[i].type == "password"){
name[j] = form.elements[i].name;
value[j] = secukey.GetRealPass(form.elements[i].name,form.elements[i].value);
j++;
}
}
else {
name[j] = form.elements[i].name;
if (form.elements[i].type == "select-one") {
var ind = form.elements[i].selectedIndex;
if (form.elements[i].options[ind].value != '')
value[j] = form.elements[i].options[ind].value;
else
value[j] = form.elements[i].options[ind].text;
// form.elements[i].selectedIndex = 0;
}
else {
value[j] = form.elements[i].value;
}
j++;
}
}
}
for (i = 0; i < j; i++) {
str = value[i];
value[i] = escape_url(str);
}
for (i = 0; i < j; i++) {
if (flag)
plain_text += "&";
else
flag = true;
plain_text += name[i] ;
plain_text += "=";
plain_text += value[i];
}
return plain_text;
}
function XecureMakePlain(form) //modified by tiger on 2004/12/22
{
var name = new Array(form.elements.length);
var value = new Array(form.elements.length);
var flag = false;
var j = 0;
var plain_text="";
//for softcamp
if(document.secukey==null || typeof(document.secukey) == "undefined" || document.secukey.object==null) {
enable=false;
}
else {
enable=secukey.GetSecuKeyEnable();
}
len = form.elements.length;
for (i = 0; i < len; i++) {
if ((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")) {
if (form.elements[i].type == "radio" || form.elements[i].type == "checkbox") {
if (form.elements[i].checked == true) {
if (form.elements[i].disabled == false) {
name[j] = form.elements[i].name;
value[j] = form.elements[i].value;
j++;
}
}
}
//for softcamp
else if(enable && form.elements[i].type == "password"){
if(form.elements[i].type == "password"){
name[j] = form.elements[i].name;
value[j] = secukey.GetRealPass(form.elements[i].name,form.elements[i].value);
j++;
}
}
else {
name[j] = form.elements[i].name;
if (form.elements[i].type == "select-one") {
var ind = form.elements[i].selectedIndex;
var op_len = form.elements[i].length;
if (op_len > 0) {
if(ind > 0) {
if (form.elements[i].options[ind].value != '')
value[j] = form.elements[i].options[ind].value;
else
//value[j] = form.elements[i].options[ind].text;
value[j] = "";
} else {
if(ind == 0)
{
if (form.elements[i].options[ind].value != '')
value[j] = form.elements[i].options[ind].value;
else
//value[j] = form.elements[i].options[ind].text;
value[j] = "";
}
}
// form.elements[i].selectedIndex = 0;
}
}
else if (form.elements[i].type == "select-multiple") {
var llen = form.elements[i].length;
var increased = 0;
for( k = 0; k < llen; k++) {
if (form.elements[i].options[k].selected) {
name[j] = form.elements[i].name;
if (form.elements[i].options[k].value != '')
value[j] = form.elements[i].options[k].value;
else
//value[j] = form.elements[i].options[k].text;
value[j] = "";
j++;
increased++;
}
}
if(increased > 0) {
j--;
}
else {
value[j] = "";
}
}
else {
value[j] = form.elements[i].value;
}
j++;
}
}
}
for (i = 0; i < j; i++) {
str = value[i];
value[i] = escape_url(str);
}
for (i = 0; i < j; i++) {
if (flag)
plain_text += "&";
else
flag = true;
plain_text += name[i] ;
plain_text += "=";
if (value[i] !="undefined"){
plain_text += value[i];
}else {
plain_text += "";
}
}
return plain_text;
}
/*************For Applet**********************/
function BlockEnc(auth_type,plain_text)
{
var cipher = "";
if( IsNetscape60() ) // Netscape 6.0
cipher = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockEnc(xgate_addr,auth_type,plain_text,"GET"));
else
cipher = XecureUnescape(document.XecureWeb.BlockEnc(xgate_addr,auth_type,plain_text,"GET"));
if( cipher == "" ) XecureWebError() ;
return cipher;
}
function BlockDec(cipher)
{
var plain = "";
if( IsNetscape60() ) // Netscape 6.0
plain = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockDec( xgate_addr, cipher));
else {
plain = XecureUnescape(document.XecureWeb.BlockDec( xgate_addr, cipher));
}
if( plain == "" ) XecureWebError() ;
return plain;
}
function BlockXMLDec(cipher)
{
var path = "";
if( IsNetscape60() ) // Netscape 6.0
path = XecureUnescape(document.XecureWeb.nsIXecurePluginInstance.BlockXMLDec( xgate_addr, cipher));
else
path = XecureUnescape(document.XecureWeb.BlockXMLDec( xgate_addr, cipher));
if( path == "" ) XecureWebError() ;
return path;
}
function XecureLogIn( link )
{
EndSession();
return XecureLink(link);
}
function EndSession()
{
if( IsNetscape60() ) // Netscape 6.0
document.XecureWeb.nsIXecurePluginInstance.EndSession( xgate_addr );
else
document.XecureWeb.EndSession(xgate_addr);
}
// XecureWeb ver 4.1 add
// option : 0 : no confirm window, all certificates
// option : 1 : confirm window, all certificates
// option : 2 : no confirm window, log-on certificate only
// option : 3 : confirm window, log-on certificate only
function Sign_with_option( option, plain )
{
var signed_msg;
if( IsNetscape60() ) // Netscape 6.0
signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr,
escape(accept_cert),
escape(plain),
option,
escape(sign_desc),
pwd_fail);
else
signed_msg = document.XecureWeb.SignDataCMS(
xgate_addr,
XecureEscape(accept_cert),
XecureEscape(plain),
option,
XecureEscape(sign_desc),
pwd_fail);
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
function Sign_Add( option, plain )
{
var signed_msg;
signed_msg = document.XecureWeb.SignDataAdd ( xgate_addr, accept_cert, plain, option, sign_desc, pwd_fail );
if( signed_msg == "" ) XecureWebError() ;
return signed_msg;
}
function Sign( plain )
{
var signed_msg;
if( IsNetscape60() ) // Netscape 6.0
{
signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) );
}
else
{
signed_msg = document.XecureWeb.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(sign_desc) );
}
if( signed_msg == "" ) XecureWebError() ;
return signed_msg;
}
function Sign_with_desc( plain, desc )
{
var signed_msg;
if( IsNetscape60() ) // Netscape 6.0
signed_msg = document.XecureWeb.nsIXecurePluginInstance.SignDataCMS( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) );
else
signed_msg = document.XecureWeb.SignDataCSM( xgate_addr, XecureEscape(accept_cert), XecureEscape(plain), show_plain, XecureEscape(desc) );
if( signed_msg == "" ) XecureWebError() ;
return signed_msg;
}
// XecureWeb ver 4.1 add
// option : 0 : no confirm window, all certificates
// option : 1 : confirm window, all certificates
// option : 2 : no confirm window, log-on certificate only
// option : 3 : confirm window, log-on certificate only
// XecureWeb ver 5.0 add
function Sign_with_vid_user( option, plain, svrCert )
{
var signed_msg;
option = option + 4;
if(IsNetscape())
{
alert("Not supported function");
}
else {
signed_msg = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );
}
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
function Sign_with_vid_web( option, plain, svrCert, idn )
{
var ret;
var signed_msg;
option = option + 12;
if(IsNetscape())
{
alert("Not supported function");
}
else {
ret = Set_ID_Num(idn);
if(ret != 0) {
XecureWebError();
return signed_msg;
}
signed_msg = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );
}
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
function Sign_without_vid_web( option, plain, svrCert, idn )
{
var ret;
var signed_msg;
option = option + 12;
if(IsNetscape())
{
alert("Not supported function");
}
else {
signed_msg = document.XecureWeb.SignDataWithVID ( xgate_addr, accept_cert, plain, svrCert, option, sign_desc, pwd_fail );
}
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
// only over XecureWeb Client v5.3.0.1
// [certLocation]
// 0 : HARD
// 1 : REMOVABLE
// 2 : ICCARD
// 3 : CSP
// 4 : VSC
// [option]
// 0 : ¼¸í¿ø¹® È®ÀÎâ ¾øÀ½
// 1 : ¼¸í¿ø¹® È®ÀÎâ ¶ç¿ò
function Sign_with_vid_user_serial( certSerial, certLocation, option, plain, svrCert )
{
var signed_msg;
option = option + 4;
if(IsNetscape())
{
alert("Not supported function");
}
else {
signed_msg = document.XecureWeb.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail );
}
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
// only over XecureWeb Client v5.3.0.1
// [certLocation]
// 0 : HARD
// 1 : REMOVABLE
// 2 : ICCARD
// 3 : CSP
// 4 : VSC
// [option]
// 0 : ¼¸í¿ø¹® È®ÀÎâ ¾øÀ½
// 1 : ¼¸í¿ø¹® È®ÀÎâ ¶ç¿ò
function Sign_with_vid_web_serial( certSerial, certLocation, option, plain, svrCert, idn )
{
var ret;
var signed_msg;
option = option + 12;
if(IsNetscape())
{
alert("Not supported function");
}
else {
ret = Set_ID_Num(idn);
if(ret != 0) {
XecureWebError();
return signed_msg;
}
signed_msg = document.XecureWeb.SignDataWithVID_Serial ( xgate_addr, accept_cert, certSerial, certLocation, plain, svrCert, option, sign_desc, pwd_fail );
}
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
function Set_ID_Num(idn)
{
var ret;
if( IsNetscape() )
{
alert("Not supported function");
}
else
{
ret = document.XecureWeb.SetIDNum(idn);
}
return ret;
}
function send_vid_info()
{
var vid_info;
if( IsNetscape() )
{
alert("Not supported function");
}
else
{
vid_info = document.XecureWeb.GetVidInfo();
}
if(vid_info.length == 0)
return null;
else
return vid_info;
}
// only over XecureWeb Client v5.3.0.1
// [certLocation]
// 0 : HARD
// 1 : REMOVABLE
// 2 : ICCARD
// 3 : CSP
// 4 : VSC
// [option]
// 0 : ¼¸í¿ø¹® È®ÀÎâ ¾øÀ½
// 1 : ¼¸í¿ø¹® È®ÀÎâ ¶ç¿ò
function Sign_with_serial( certSerial, certLocation, plain, option )
{
var signed_msg;
if( IsNetscape() )
{
alert("Not supported function");
}
else
{
signed_msg = document.XecureWeb.SignDataCMSWithSerial( xgate_addr,
XecureEscape(accept_cert),
certSerial,
certLocation,
plain,
option,
XecureEscape(sign_desc),
pwd_fail );
}
if( signed_msg == "" ) XecureWebError();
return signed_msg;
}
//
// only over XecureWeb Client v5.4.x
//
// !!! This function need site/executable license !!!
//
// [option]
// 0 : only signature verification( NOT perform cert verification )
// 1 : signature verification + default cert verification
// 2 : + cert chain check
// 3 : + CRL check
// 4 : + LDAP
// [directoryServer]
// ex) dirsys.rootca.or.kr:389 or ""
//
function Verify_SignedData( signedData, option, directoryServer )
{
var verified_msg;
var errCode;
if( IsNetscape() )
{
alert("Not supported function");
return "";
}
else
{
verified_msg = document.XecureWeb.VerifySignedData( signedData, option, directoryServer );
}
// VerifySignedData´Â ÀÎÁõ¼ °ËÁõ½Ã ¿À·ù°¡ ¹ß»ýÇÏ´õ¶óµµ ¿ø¹® ÃßÃâÀÌ ¼º°øÇÏ¸é ¿ø¹®À» ¸®ÅÏÇϱ⠶§¹®¿¡
// ¹Ýµå½Ã LastErrCode¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù.
errCode = document.XecureWeb.LastErrCode();
if( errCode != 0 )
XecureWebError();
return verified_msg;
}
//
// only over XecureWeb Client v5.4.x
//
// applicable cert location : usbtoken_kb, usbtoken_kiup
//
function Set_PinNumber( pin )
{
var ret = -1;
if( IsNetscape() )
{
alert("Not supported function");
}
else
{
ret = document.XecureWeb.SetPinNum( pin );
}
return ret;
}
// type 10 : YessignCA
// type 11 : XecureCA
function RequestCertificate ( type, ref_code, auth_code )
{
var r;
var ca_type;
var ca_ip;
var ca_port;
if(type == 10) {
ca_type = yessign_ca_type;
ca_ip = yessign_ca_ip;
ca_port = yessign_ca_port;
}
else if(type == 11) {
ca_type = xecure_ca_type;
ca_ip = xecure_ca_ip;
ca_port = xecure_ca_port;
}
else if(type == 12) {
ca_type = xecure_ca_type_1;
ca_ip = xecure_ca_ip_1;
ca_port = xecure_ca_port_1;
}
else {
alert("Input type error!");
return 0;
}
if(IsNetscape())
{
if( IsNetscape60() ) // Netscape 6.0
r = document.XecureWeb.nsIXecurePluginInstance.RequestCertificate2 ( ca_port, ca_ip, ref_code, auth_code, ca_type );
else
r = document.XecureWeb.RequestCertificate2 ( ca_port, ca_ip, ref_code, auth_code, ca_type );
}
else
{
r = document.XecureWeb.RequestCertificate ( ca_port, ca_ip, ref_code, auth_code, ca_type);
}
if ( r != 0 ) XecureWebError();
return r;
}
// type 00 : YessignCA
// type 11 : XecureCA
function RenewCertificate ( type )
{
var r;
var ca_type;
var ca_ip;
var ca_port;
if(type == 10) {
ca_type = yessign_ca_type;
ca_ip = yessign_ca_ip;
ca_port = yessign_ca_port;
}
else if(type == 11) {
ca_type = xecure_ca_type;
ca_ip = xecure_ca_ip;
ca_port = xecure_ca_port;
}
else if(type == 12) {
ca_type = xecure_ca_type_1;
ca_ip = xecure_ca_ip_1;
ca_port = xecure_ca_port_1;
}
else {
alert("Input type error!");
return 0;
}
if(IsNetscape())
{
if( IsNetscape60() ) // Netscape 6.0
r = document.XecureWeb.nsIXecurePluginInstance.RenewCertificate2( ca_port, ca_ip, ca_type, pwd_fail );
else
r = document.XecureWeb.RenewCertificate2( ca_port, ca_ip, ca_type, pwd_fail );
}
else{
r = document.XecureWeb.RenewCertificate ( ca_port, ca_ip, ca_type, pwd_fail );
}
if ( r != 0 ) XecureWebError();
return r;
}
// type 00 : YessignCA
// type 11 : XecureCA
function RevokeCertificate ( type, jobcode, reason )
{
var r;
var ca_type;
var ca_ip;
var ca_port;
if(type == 10) {
ca_type = yessign_ca_type;
ca_ip = yessign_ca_ip;
ca_port = yessign_ca_port;
}
else if(type == 11) {
ca_type = xecure_ca_type;
ca_ip = xecure_ca_ip;
ca_port = xecure_ca_port;
}
else if(type == 12) {
ca_type = xecure_ca_type_1;
ca_ip = xecure_ca_ip_1;
ca_port = xecure_ca_port_1;
}
else {
alert("Input type error!");
return 0;
}
if(IsNetscape())
{
if( IsNetscape60() ) // Netscape 6.0
r = document.XecureWeb.nsIXecurePluginInstance.RevokeCertificate2( ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail );
else
r = document.XecureWeb.RevokeCertificate2( ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail);
}
else {
r = document.XecureWeb.RevokeCertificate ( ca_port, ca_ip, jobcode, reason, ca_type, pwd_fail );
}
if ( r != 0 ) XecureWebError();
return r;
}
function GenCertReq ( )
{
if( IsNetscape60() ) // Netscape 6.0
cert_req = document.XecureWeb.nsIXecurePluginInstance.GenerateCertReq( 1024 );
else
cert_req = document.XecureWeb.GenerateCertReq( 1024 );
if ( cert_req == "" ) XecureWebError() ;
return cert_req;
}
function InstallCertificate (cert_type, cert)
{
if( IsNetscape60() ) // Netscape 6.0
document.XecureWeb.nsIXecurePluginInstance.InstallCertificate(cert_type, cert );
else
document.XecureWeb.InstallCertificate(cert_type, cert );
}
function ShowCertManager()
{
if( IsNetscape60() ) // Netscape 6.0
document.XecureWeb.nsIXecurePluginInstance.ShowCertManager();
else
document.XecureWeb.ShowCertManager();
}
function DeleteCertificate( dn )
{
var r;
if( IsNetscape60() ) // Netscape 6.0
r = document.XecureWeb.nsIXecurePluginInstance.DeleteCertificate( XecureEscape(dn) );
else
r = document.XecureWeb.DeleteCertificate ( XecureEscape(dn) );
if( r != 0 ) XecureWebError() ;
else alert('ÀÎÁõ¼¸¦ »èÁ¦ÇÏ¿´½À´Ï´Ù.');
}
function PutBannerUrl()
{
if( IsNetscape60() ) // Netscape 6.0
{
document.XecureWeb.nsIXecurePluginInstance.PutBigBannerUrl( xgate_addr, bannerUrl);
}
else
{
document.XecureWeb.PutBigBannerUrl( xgate_addr, bannerUrl);
}
}
function PutCACert()
{
var r ;
if( IsNetscape60() ) // Netscape 6.0
r = document.XecureWeb.nsIXecurePluginInstance.PutCACert( XecureEscape(pCaCertName), pCaCertUrl);
else
r = document.XecureWeb.PutCACert( XecureEscape(pCaCertName), pCaCertUrl);
if( r != 0 ) XecureWebError() ;
}
function isNewPlugin(desc)
{
index = desc.indexOf('v.', 0);
if (index < 0)
return false;
desc += ' ';
versionString = desc.substring(index +2, desc.length);
arrayOfStrings = versionString.split('.');
thisMajor = parseInt(arrayOfStrings[0], 10);
thisMinor = parseInt(arrayOfStrings[1], 10);
thisBuild = parseInt(arrayOfStrings[2], 10);
if (thisMajor > versionMaj) return true;
if (thisMajor < versionMaj) return false;
if (thisMinor > versionMin) return true;
if (thisMinor < versionMin) return false;
if (thisBuild > versionRel) return true;
if (thisBuild < versionRel) return false;
return true;
}
function downloadNow () {
if ( navigator.javaEnabled() ) {
trigger = netscape.softupdate.Trigger;
if ( trigger.UpdateEnabled() ) {
if (navigator.platform == "Win32") {
trigger.StartSoftwareUpdate( packageURL, trigger.DEFAULT_MODE);
}
else alert('ÀÌ Ç÷¯±× ÀÎÀº À©µµ¿ìÁî 95/98/NT ȯ°æ¿¡¼¸¸ ÀÛµ¿ÇÕ´Ï´Ù.')
}
else
alert('³Ý½ºÄÉÀÔÀÇ SmartUpdate ¼³Ä¡¸¦ °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
}
else
alert('Java ½ÇÇàÀ» °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
}
function isOldPlugin(desc,version) // by Zhang
{
index = desc.indexOf('v.', 0);
if (index < 0) return true;
desc += ' ';
versionString = desc.substring(index +2, desc.length);
arrayOfStrings = versionString.split('.');
thisMaj = parseInt(arrayOfStrings[0], 10);
thisMin = parseInt(arrayOfStrings[1], 10);
thisRel = parseInt(arrayOfStrings[2], 10);
arrayOfStrings = version.split('.');
// verMaj = parseInt(arrayOfStrings[0], 10);
// verMin = parseInt(arrayOfStrings[1], 10);
// verRel = parseInt(arrayOfStrings[2], 10);
s_verMaj = parseInt(arrayOfStrings[0], 10);
s_verMin = parseInt(arrayOfStrings[1], 10);
s_verRel = parseInt(arrayOfStrings[2], 10);
if (thisMaj > s_verMaj) return false;
if (thisMaj < s_verMaj) return true;
if (thisMin > s_verMin) return false;
if (thisMin < s_verMin) return true;
if (thisRel > s_verRel) return false;
if (thisRel < s_verRel) return true;
return false;
}
function DownloadPackage(packageURL) // by Zhang
{
if ( navigator.javaEnabled() ) {
trigger = netscape.softupdate.Trigger;
if ( trigger.UpdateEnabled() ) {
if (navigator.platform == "Win32") {
trigger.StartSoftwareUpdate( packageURL, trigger.DEFAULT_MODE);
}
else
alert('ÀÌ Ç÷¯±× ÀÎÀº À©µµ¿ìÁî 95/98/NT ȯ°æ¿¡¼¸¸ ÀÛµ¿ÇÕ´Ï´Ù.');
}
else
alert('³Ý½ºÄÉÀÔÀÇ SmartUpdate ¼³Ä¡¸¦ °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
}
else
alert('Java ½ÇÇàÀ» °¡´ÉÇϵµ·Ï ÇØ¾ßÇÕ´Ï´Ù.');
}
function XecureWebPlugin(version) // by Zhang
{
if (navigator.appName == 'Netscape' && UserAgent() == "Mozilla/4")
{
var XecureMime = navigator.mimeTypes["application/x-SoftForum-XecSSL40"];
if (XecureMime) { // Xecure PlugIn ÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â °æ¿ì
if ( isOldPlugin(XecureMime.enabledPlugin.description,version))
DownloadPackage(packageURL);
}
else { // Xecure PlugIn ÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
DownloadPackage(packageURL);
}
}
}
function PrintObjectTag()
{
if( IsNetscape60() )
alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ;
else
{
if(navigator.appName == 'Netscape')
{
document.write("No XecureWeb PlugIn");
}
else
{
// param ¼³Á¤( name : value )
//
// [¾ð¾î ¼³Á¤]
// lang : KOREAN / ENGLISH
// ex)
//
// [º¸¾È ¿É¼Ç] only over XecureWeb Client v5.3.0.1
// "º¸¾È ¿É¼Ç"ÀÇ Àû¿ëÀº ¹Ýµå½Ã °³¹ßÆÀÀ» ÅëÇØ ÀÚ¼¼ÇÑ ³»¿ëÀ» È®ÀÎÇÑ ÈÄ »ç¿ëÇϽñ⠹ٶø´Ï´Ù.
// sec_option :
// - xgate ÁÖ¼Ò·Î ¼¸í °ËÁõ(µðÆúÆ®´Â host nameÀ¸·Î ¼¸í °ËÁõ) : 0x00000080 = 128
// - ÀÎÁõ¼ ¾ÏÈ£ Àç»ç¿ë(ICÄ«µåÀÇ °æ¿ì ÇɹøÈ£µµ Àç»ç¿ë)
// USBTOKE_KBÀÇ °æ¿ì, SetPinNumÀ¸·Î ÇɹøÈ£¸¦ presetÇØ¾ß ÇÔ : 0x00000040 = 64
// - ¼¸í½Ã ÀÎÁõ¼ ¼±ÅÃâ¾øÀÌ Ä³½ÃµÈ ÀÎÁõ¼ »ç¿ë(only for IC card, USBTOKEN_KB)
// USBTOKE_KBÀÇ °æ¿ì´Â ij½ÃÇÏÁö ¾Ê°í ÀÚµ¿À¸·Î ´Ù½Ã ÀоîµéÀÓ : 0x00000020 = 32
// - ·Î±×Àνà ÀÎÁõ¼ ¼±ÅÃâ¾øÀÌ Ä³½ÃµÈ ÀÎÁõ¼ »ç¿ë(only for IC card) : 0x00000010 = 16
// sec_context : ¼¸í°ª
// sec_desc : ÀÓÀÇÀÇ ¹®ÀÚ¿(storage°¡ iccard·Î ¼³Á¤µÈ °æ¿ì icÄ«µå ÇɹøÈ£ ÀÔ·Ââ¿¡ ³ªÅ¸³ª´Â ¾È³»¹®±¸. ¼³Á¤µÇÁö ¾ÊÀ¸¸é default ¹®±¸°¡ ³ªÅ¸³²)
//
// [ÀÎÁõ¼ ÀúÀå¸Åü ¼³Á¤] only over XecureWeb Client v5.3.0.1
// storage : "HARD" / "REMOVABLE" / "ICCARD" / "CSP" / "VSC" / "USBTOKEN","USBTOKEN_KB","USBTOKEN_KIUP"
// ex1)
// ex2) ==> ¿©·¯ °³ÀÇ ÀúÀå¸Åü¸¦ ¼³Á¤ÇÒ ¶§¿¡´Â ù¹øÂ° ÀúÀå¸Åü°¡ ¿ì¼± ¼±ÅõǾîÁü
//
// [Ű½ºÆ®·ÎÅ© ÇØÅ·¹æÁö ¿É¼Ç] only over XecureWeb Client v5.3.0.1
// seckey : KeyStroke ÇØÅ·¹æÁöÅø Àû¿ë ¿©ºÎ, ÇØ´çÇÏ´Â vendor¿¡ ´ëÇÑ string value ÀÔ·Â
// ÇöÀç[2003/10/30] °¡´ÉÇÑ string value
// - "XW_SKS_SOFTCAMP_KEYPAD" : ¼ÒÇÁƮķÇÁÀÇ Å°ÆÐµå ¹öÀü
// - "XW_SKS_SOFTCAMP_DRIVER" : ¼ÒÇÁƮķÇÁÀÇ µå¶óÀ̹ö ¹öÀü
// - "XW_SKS_KINGS_DRIVER" : Å·½ºÁ¤º¸Åë½ÅÀÇ µå¶óÀ̹ö ¹öÀü
// - "_WITH_SKS_ENCRYPT" : Æû µ¥ÀÌÅÍÀÇ ÆÐ½º¿öµå ŸÀÔ¿¡ ´ëÇØ¼ ¾ÏÈ£È => BlockEnc È£Ãâ½Ã ³»ºÎ¿¡¼ ´Ù½Ã º¹È£ÈÇÔ(xwcs_client.dll »ç¿ë)
// ex) ==> ¼ÒÇÁƮķÇÁÀÇ Å°ÆÐµå ¹öÀü Àû¿ë
// ex) ==> Å·½ºÁ¤º¸Åë½ÅÀÇ µå¶óÀ̹ö ¹öÀü Àû¿ë + ÆÐ½º¿öµå ŸÀÔ ¾ÏÈ£È
// ex) ==> ÆÐ½º¿öµå ŸÀÔ ¾Ïȣȸ¸ Áö¿ø
//
// [¶óÀ̼¾½º] only over XecureWeb Client v5.4.x
// XecureWeb ClientÀÇ Æ¯Á¤ ±â´É¿¡ ´ëÇØ¼ »çÀÌÆ® ¶óÀ̼¾½º°¡ °ËÁõµÉ ¶§¿¡¸¸ »ç¿ë °¡´É
// ÇöÀç ¶óÀ̼¾½º°¡ Àû¿ëµÈ ±â´É
// - ¼¸í °ËÁõ(VerifySignedData)
// ex)
//document.write('');
// test
//document.write('');
//document.write('');
document.write('');
}
}
}
function PrintObjectTag_ezdrug()
{
if( IsNetscape60() )
alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ;
else
{
if(navigator.appName == 'Netscape')
{
document.write("No XecureWeb PlugIn");
}
else
{
document.write('');
}
}
}
function PrintObjectTag_emed()
{
if( IsNetscape60() )
alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ;
else
{
if(navigator.appName == 'Netscape')
{
document.write("No XecureWeb PlugIn");
}
else
{
document.write('');
}
}
}
function PrintObjectTag_ezcos()
{
if( IsNetscape60() )
alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ;
else
{
if(navigator.appName == 'Netscape')
{
document.write("No XecureWeb PlugIn");
}
else
{
document.write('');
}
}
}
function PrintObjectTag_dims()
{
if( IsNetscape60() )
alert("Netscape 6.0Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù") ;
else
{
if(navigator.appName == 'Netscape')
{
document.write("No XecureWeb PlugIn");
}
else
{
document.write('');
}
}
}
function get_sid()
{
var sid = document.XecureWeb.BlockEnc ( xgate_addr, "", "", "GET" );
if( sid == "") return XecureWebError() ;
return sid;
}
// applet¿¡¼ servletÀ¸·Î º¸³¾ °ªÀ» ¾ÏÈ£È ÇÏ´Â function
function enc(str) {
var state='';
var plain='';
var escaped_state='';
plain=String(str);
if (navigator.appName == 'Netscape')
state=XecureWeb.BlockEnc(xgate_addr, path, escape(plain), "POST");
else
state=XecureWeb.BlockEnc(xgate_addr, path, plain, "POST");
//escaped_state=escape_url(state);
escaped_state=escape_url_applet(state);
// alert("POST:" + escaped_state);
return escaped_state;
}
// servlet¿¡¼ appletÀ¸·Î º¸³»ÁØ °ªÀ» º¹È£È ÇÏ´Â function
function dec(str) {
var result=BlockDec(str);
return result;
}
function XecureNavigate2iframe( url, target, feature, sid)
{
var qs ;
var path = "/";
var cipher;
var xecure_url;
path = getPath(url);
cipher = document.XecureWeb.BlockEnc(xgate_addr, path, XecureEscape(qs),"POST");
if( cipher.length == 0 ) return XecureWebError() ;
xecure_url = path + "?q=" + sid + ";" + escape_url(cipher);
if (feature=="" || feature==null) open ( xecure_url, target );
else open(xecure_url, target, feature );
}
function getPath(url)
{
var path = "/";
// get path info & query string & hash from url
qs_begin_index = url.indexOf('?');
// if action is relative url, get base url from window location
if ( url.charAt(0) != '/' && url.substring(0,7) != "http://" ) {
path_end = window.location.href.indexOf('?');
if(path_end < 0) path_end_str = window.location.href;
else path_end_str = window.location.href.substring(0,path_end);
path_relative_base_end = path_end_str.lastIndexOf('/');
path_relative_base_str = path_end_str.substring(0,path_relative_base_end+1);
path_begin_index = path_relative_base_str.substring (7,path_relative_base_str.length).indexOf('/');
if (qs_begin_index < 0){
path = path_relative_base_str.substring( 7+path_begin_index,path_relative_base_str.length ) + url;
}
else {
path = path_relative_base_str.substring( 7+path_begin_index,path_relative_base_str.length )
+ url.substring(0, qs_begin_index );
}
}
else if ( url.substring(0,7) == "http://" ) {
path_begin_index = url.substring (7, url.length).indexOf('/');
if (qs_begin_index < 0){
path = url.substring( path_begin_index + 7, url.length);
}
else {
path = url.substring(path_begin_index + 7, qs_begin_index );
}
}
else if (qs_begin_index < 0){
path = url;
}
else {
path = url.substring(0, qs_begin_index );
}
return path;
}
// option bit : _4_ _3_ _2_ _1_
// | |
// | --- 0 : ¸ðµç ÀÎÁõ¼ ¸®½ºÆ®¾÷, 1 : ·Î±×ÀÎÇÑ ÀÎÁõ¼ »ç¿ë
// ------- 0 : »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸, 1 : idn¿¡ "NULL" setting, ¼¹ö¿¡¼ idn ¼³Á¤
function VerifyVirtualID(Idn, TimeStamp, ServerCertPem)
{
var msg;
var option = 0;
option = 0; // ¸ðµç ÀÎÁõ¼ ¸®½ºÆ®¾÷, »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸
// option = 1; // ·Î±×ÀÎÇÑ ÀÎÁõ¼ »ç¿ë, »ç¿ëÀÚ¿¡°Ô idn ÀÔ·Â ¿ä±¸
// only over XecureWeb Client v5.3.0.1
// option = 2; // ¸ðµç ÀÎÁõ¼ ¸®½ºÆ®¾÷, idn¿¡ "NULL" ¼³Á¤
// option = 3; // ·Î±×ÀÎÇÑ ÀÎÁõ¼ »ç¿ë, idn¿¡ "NULL" ¼³Á¤
if( IsNetscape() )
{
msg = document.XecureWeb.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, escape(accept_cert), option, escape(Idn));
}
else
{
msg = document.XecureWeb.VerifyAndGetVID(xgate_addr, ServerCertPem, TimeStamp, accept_cert, option, Idn);
}
return msg;
}
// nOption is 0 : (default value) File version, which is checked by 'Internet Explorer'
// 1 : Product version
// 2 : File Description
function GetVersion(nOption)
{
var ver;
if( IsNetscape() )
{
alert("Not supported function");
ver = "";
}
else
{
ver = document.XecureWeb.GetVerInfo(nOption);
if( ver == "" )
alert("No version information");
}
return ver;
}
// only over XecureWeb Client v5.3.0.1
function UpdateModules( infoURL )
{
var ret;
if( IsNetscape() )
{
alert("Not supported function");
ret = 0;
}
else
{
// success : 0, cancel : 1, file(s) holded : 2, already updated : 3, invalid user : 4, need not : 5
// error : -1
ret = document.XecureWeb.UpdateModules( infoURL );
}
return ret;
}
// only over XecureWeb Client v5.3.0.1
function SetUpdateInfo( section, key, value1 )
{
var ret;
if( IsNetscape() )
{
alert( "Not supported function" );
ret = 0;
}
else
{
ret = document.XecureWeb.SetUpdateInfoString( section, key, value1 );
}
return ret;
}
// inserted by knlee 2003/06/10
function SetProviderList()
{
var ret;
//var provName = "TrustedNet Connect 2 Smart Card CSP;Microsoft Base Cryptographic Provider v1.0;Microsoft Enhanced Cryptographic Provider v1.0";
var provName = "TrustedNet Connect 2 Smart Card CSP;Keycorp CSP";
if( IsNetscape() )
{
alert("Not supported function");
return -1;
}
else
{
ret = document.XecureWeb.SetProvider(provName);
if( ret != 0 )
alert("Set Provider name is Fail!");
}
return ret;
}
// applet¿¡¼ servletÀ¸·Î º¸³¾ °ªÀ» ¾ÏÈ£È ÇÏ´Â function
function enc(str) {
var state='';
var plain='';
var escaped_state='';
// plain=String(str);
alert("enc : " + str.length);
if (navigator.appName == 'Netscape')
state=XecureWeb.BlockEnc(xgate_addr, "/off", escape(str), "POST");
else
state=XecureWeb.BlockEnc(xgate_addr, "/off", str, "POST");
//escaped_state=escape_url(state);
// escaped_state=escape_url_applet(state);
alert("POST:" + state.length);
alert("enc end");
return state;
}
// servlet¿¡¼ appletÀ¸·Î º¸³»ÁØ °ªÀ» º¹È£È ÇÏ´Â function
function dec(str) {
var result=BlockDec(str);
return result;
}
//add by softforum 2003.3.12 for CMS +
/*
function escape_url_applet(url)
{
var i, j, pos, k;
var out = "";
pos = 0;
j = -2;
k = -2;
while (pos > -1)
{
if(j == -2)
j = url.indexOf('+', pos);
if(k == -2)
k = url.indexOf('=', pos);
if(j < 0 && k < 0)
break;
if ((j < k && j > -1) || (j > -1 && k < 0))
{
out += url.substring(pos, j);
out += '%2B';
pos = j + 1;
j = -2;
}
else if ((j > k && k > -1) || (k > -1 && j < 0))
{
out += url.substring(pos, k);
out += '%3D';
pos = k + 1;
k = -2;
}
else
pos = -1;
}
return out;
}
*/
function quick_escape(str)
{
var len, leftlen, cut, i, j, pos, k;
var out = "", out1 = "", out2 = "";
len = str.length;
if(len > 160) {
leftlen = len/2;
cut = Math.round(leftlen);
out1 = quick_escape(str.substring(0, cut));
out2 = quick_escape(str.substring(cut));
out = out1 + out2;
}else {
pos = 0;
j = -2;
k = -2;
while (pos > -1 && pos < len)
{
if(j == -2)
j = str.indexOf('+', pos);
if(k == -2)
k = str.indexOf('=', pos);
if(j < 0 && k < 0) {
out += str.substring(pos);
break;
}
if ((j < k && j > -1) || (j > -1 && k < 0))
{
out += str.substring(pos, j);
out += '%2B';
pos = j + 1;
j = -2;
}
else if ((j > k && k > -1) || (k > -1 && j < 0))
{
out += str.substring(pos, k);
out += '%3D';
pos = k + 1;
k = -2;
}
else{
out += str.substring(pos);
pos = -1;
}
}
}
return out;
}
function escape_url_applet(in_str)
{
var len, leftlen, cut;
var out = "", out1 = "", out2 = "";
len = in_str.length;
if(len > 160) {
leftlen = len/2;
cut = Math.round(leftlen);
out1 = quick_escape(in_str.substring(0, cut));
out2 = quick_escape(in_str.substring(cut));
out = out1 + out2;
}else {
out = quick_escape(in_str);
}
alert("escape_url_applet end : " + out.length);
return out;
}
/*
*** valid for only XWebFilCom v5.5.x ***
It is possible to combine following option flags
[EXCEPTION]
- 1,2 cannot be used simultaneously
- 4 is valid for only 1
envOption = 1 : ÀÎÁõ¼±â¹Ý ÀüÀÚºÀÅõ
= 2 : ÆÐ½º¿öµå±â¹Ý ÀüÀÚºÀÅõ
= 4 : ¿©·¯ °³ÀÇ ÀÎÁõ¼·Î ÀüÀÚºÀÅõ
= 8 : CMS ŸÀÔÀ¸·Î Envelop
= 256 : ·Î±×ÀÎÇÑ ÀÎÁõ¼·Î ÀüÀÚºÀÅõ
return value
- success : enveloped message
- fail : ""
*/
function EnvelopData( inMsg, pwd, certPem, envOption )
{
var envMsg;
envMsg = document.XecureWeb.EnvelopData(
xgate_addr,
XecureEscape(accept_cert),
XecureEscape(inMsg),
envOption,
pwd,
certPem,
"",
0,
"",
3 );
if( envMsg == "" )
{
XecureWebError();
}
return envMsg;
}