//////////////////////////////////////////////////////////////////////////////////// // // KSignCASE-Web v2.0 javascript function definition. // //////////////////////////////////////////////////////////////////////////////////// function CheckAX() { var Installed = false; // AxKSignCASE ÇÁ·ÎÁ§Æ® À϶§ var KSIGNActiveXProgID = "AxEPKI.AxEPKI.1" try { var xObj = new ActiveXObject(KSIGNActiveXProgID); if(xObj){ Installed = true; } else { Installed = false; } } catch(ex) { Installed = false; } return Installed; } function InitConfig() { var ret; ////////////////////////////////////////////////////////////////////////////////// // ȯ°æ¼³Á¤½Ã º¯°æÇÏÁö ¾Ê´Â ȯ°æ º¯¼öÀÇ °æ¿ì BSTR ÇüÀº ""À» intÇüÀº -1À» ÀÔ·ÂÇÑ´Ù. ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// // SetAppCommon(BSTR PkiType, int nNtCa, int nActiveDs, int *retval) // [APP_COMMON]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. BSTR PkiType : CAÀÇ Á¾·ù¸¦ // #define AXKCASE_COMMON_PKITYPE_NPKI ("NPKI") // #define AXKCASE_COMMON_PKITYPE_GPKI ("GPKI") // #define AXKCASE_COMMON_PKITYPE_PPKI ("PPKI") // 2. int nNtCa : CAÀÇ Á¾·ù°¡ NtÀÎÁö ¾Æ´ÑÁö (1/0) // 3. int nActiveDs : DS°¡ Active µð·ºÅ丮ÀÎÁö ¾Æ´ÑÁö (1/0) ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetAppCommon("GPKI", 0, 0); if( ret != 0 ) { errmsg = document.AxKCASE.GetErrorContent(); alert("SetAppCommon error: "+errmsg ); return; } ////////////////////////////////////////////////////////////////////////////////// // SetCMPInform(BSTR CaIp, int nCmpPort, BSTR CmpKmCertDn, BSTR CmpDsIp, // int nDsPort, int nWtlsCert, int nCmpCaVer, int *retval) // [CMP_INFORM]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. BSTR CaIp : CA ¼­¹öÀÇ IP ÁÖ¼Ò // 2. int nCmpPort : CA ¼­¹öÀÇ cmp Æ÷Æ® // 3. BSTR CmpKmCertDn : VID¸¦ À§ÇÑ ¾ÏȣŰºÐ¹è ÀÎÁõ¼­ DN // 4. BSTR CmpDsIp : DS ¼­¹ö IP ÁÖ¼Ò // 5. int nDsPort : DS ¼­¹ö Æ÷Æ® // 6. int nWtlsCert : ÀÎÁõ¼­°¡ Wtls¿ëÀÎÁö ¾Æ´ÑÁö (1/0) // 7. int nCmpCaVer : CA ¼­¹ö ¹öÀü ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetCMPInform("ca.epki.go.kr", 4502, "", "ldap.epki.go.kr", 389, 0, 2); if( ret != 0 ) { errmsg = document.AxKCASE.GetErrorContent(); alert("SetCMPInform error: "+errmsg ); return; } ////////////////////////////////////////////////////////////////////////////////// // SetPKCSInform(int nSign_ContentInc, int nSign_CertPathInc, int nSign_CvOp, // int nSign_EncOaep, int nSign_SaveCert, int nEnc_SignCertOp, // int nEnc_LocalKmCert, int nEnc_SaveCert, char *pszEncAlgo) // [PKCS_INFORM]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. int nSign_ContentInc : ÀüÀÚ¼­¸í½Ã ¿ø¹® Æ÷ÇÔ/¹ÌÆ÷ÇÔ (1/0) // 2. int nSign_CertPathInc : ÀüÀÚ¼­¸í½Ã ÀÎÁõ¼­ Chain Æ÷ÇÔ/¹ÌÆ÷ÇÔ (1/0) // 3. int nSign_CvOp : ÀüÀÚ¼­¸í½Ã ¼­¸í¿ë ÀÎÁõ¼­ °ËÁõ ¿É¼Ç (1/0) // 4. int nSign_EncOaep : RSA OAEP »ç¿ë ¼±Åà ¿É¼Ç (1/0) // 5. int nSign_SaveCert : ÀüÀÚ¼­¸í °ËÁõ½Ã ÀÎÁõ¼­ ÀúÀå ¿É¼Ç (1/0) // 6. int nEnc_SignCertOp : ¾Ïȣȭ½Ã ¼­¸í¿ë ÀÎÁõ¼­ »ç¿ë ¿É¼Ç (1/0) // 7. int nEnc_LocalKmCert : ¾Ïȣȭ½Ã ÀÎÁõ¼­ ÂüÁ¶ ·ÎÄà ¿ì¼±¼øÀ§ (1/0) // 8. int nEnc_SaveCert : ¾Ïȣȭ½Ã ÀÎÁõ¼­ ÀúÀå ¿É¼Ç (1/0) // 9. char* pszEncAlgo : ¾Ïȣȭ½Ã »ç¿ëÇÒ ±âº» ¾Ë°í¸®Áò (SEED, DES, 3DES, RC2) ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetPKCSInform(1, 0, 0, 0, 0, 1, 1, 1, "SEED"); if( ret != 0 ) { errmsg = document.AxKCASE.GetErrorContent(); alert("SetPKCSInform error: "+errmsg ); return; } ////////////////////////////////////////////////////////////////////////////////// // SetCVInform(int nAnyPolicy, BSTR ArlDn, BSTR Policies, int nPathValOp, // BSTR ValMethod, BSTR Crl_ChkOp, int nCrl_SaveOp, int *retval) // [CV_INFORM]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. int nAnyPolicy : ¸ðµçÁ¤Ã¥ Çã¿ë ¿É¼Ç (1/0) // 2. BSTR ArlDn : CA ÀÎÁõ¼­ÀÇ ARL ºÐ±âÁ¡ÀÌ ¾øÀ» °æ¿ì ARLDN °ª ¼³Á¤ // 3. BSTR Policies : Ãʱâ Á¤Ã¥ ÁýÇÕ // 4. int nPathValOp : ÀÎÁõ °æ·Î °ËÁõ ¿É¼Ç (1/0) // 5. BSTR ValMethod : CRL/OCSP °ËÁõ ¿É¼Ç (CRLCHECK_OCSP, CRLCHECK_CRL) // 6. BSTR Crl_ChkOp : CRL °ËÁõ ¿É¼Ç // (CRL_CHECK_FULL, CRL_CHECK_USERONLY, CRL_CHECK_NONE) // 7. int nCrl_SaveOp : CRL ÀúÀå ¿É¼Ç (1/0) ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetCVInform(1, "", "1.2.3.4.5|2.5.29.32.0|1.2.392.200132|1.2.392.200132.1|1.2.392.200132.1.1|1.2.392.200132.1.1.1|1.2.410.200004.2.1|1.2.410.200004.5.1.1.5|1.2.410.200004.5.1.1.7|1.2.410.200004.5.2.1.1|1.2.410.200004.5.2.1.2|1.2.410.200004.5.3.1.1|1.2.410.200004.5.3.1.2|1.2.410.200004.5.3.1.4|1.2.410.200004.5.4.1.1|1.2.410.200004.5.4.1.2|1.2.410.200004.5.4.1.3|1.2.410.200004.5.4.1.4|1.2.410.200004.5.4.1.5|1.2.410.200004.5.4.1.7|1.2.410.200005.1.1.1|1.2.410.200005.1.1.5|1.2.410.200012.1.1.1|1.2.410.200012.1.1.3|1.2.410.100001.2.2.1", 1, "CRLCHECK_CRL", "CRL_CHECK_USERONLY", 0); if( ret != 0 ) { errmsg = document.AxKCASE.GetErrorContent(); alert("SetCVInform error: "+errmsg ); return; } ////////////////////////////////////////////////////////////////////////////////// // SetOPPInform(BSTR RaAdmin_Path, int AdminPort, int *retval) // [OPP_INFORM]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. BSTR RaAdmin_Path : RA ÀÎÁõ¼­ ÀúÀå À§Ä¡ // "%ProgramFiles%\\NPKI\pki\\RA" "%FloppyDrive%\\NPKI\\pki\\RA" // 2. int AdminPort : CAÀÇ Admin Æ÷Æ® ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetOPPInform("", 8502); if( ret != 0 ) { errmsg = document.AxKCASE.GetErrorContent(); alert("SetOPPInform error: "+errmsg ); return; } ////////////////////////////////////////////////////////////////////////////////// // SetCMInform(BSTR PriKey_EncAlg, int *retval) // [CM_INFORM]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. BSTR PriKey_EncAlg : °³ÀÎŰ ¾Ïȣȭ ¾Ë°í¸®Áò // "KCP_PBEWithMD2DES_CBC" "PBE_ENCALGO_MD5DES" // "PBE_ENCALGO_SHA1SEED" "PBE2_ENCALGO_SHA1SEED" // "PBE2_ENCALGO_SHA1DESEDE" ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetCMInform("PBE_ENCALGO_SHA1SEED"); if( ret != 0 ) { errmsg = document.AxKCASE.GetErrorContent(); alert("SetCMInform error: "+errmsg ); return; } ////////////////////////////////////////////////////////////////////////////////// // SetSubjectInform( BSTR szSubjectDefaultMedia, // int nSubjectPwdPolicyOp, // int nSubjectPwdMinLen, // int nSubjectPwdRandomLevel, // int nSubjectPwdValidTime, // int *retval) // [SUBJECT_INFORM]ÀÇ Á¤º¸¸¦ Setting ÇÏ´Â ÇÔ¼ö // 1. BSTR szSubjectDefaultMedia : µðÆúÆ® ÀúÀå ¸Åü // "HARDDISK", "FLOPPYDISK", "SMARTCARD", "USB" Áß ¼±Åà // 2. int nSubjectPwdPolicyOp : ÆÐ½º¿öµå Á¤Ã¥ ¿É¼Ç (1/0) // 3. int nSubjectPwdMinLen : ÆÐ½º¿öµå ÃÖ¼Ò ±æÀÌ (8~16) // 4. int nSubjectPwdRandomLevel : ÆÐ½º¿öµå ±¸¼º ·¹º§ (0/1/2) // 5. int nSubjectPwdValidDays : ÆÐ½º¿öµå À¯È¿ ±â°£ // 6. int nSubjectPwdAlarmDays : ÆÐ½º¿öµå º¯°æÀÏ ¾Ë¸² °æ°í ¸Þ½ÃÁö Ãâ·ÂÀÏ ////////////////////////////////////////////////////////////////////////////////// ret = document.AxKCASE.SetSubjectInform("HARDDISK", 0, 8, 1, 30,10); if( ret != 0 ) { errmsg = document.AxNCASign.GetErrorContent(); alert("SetSubjectInform error: "+errmsg ); return; } } function SetConfig() { if(!CheckAX()) { alert("Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Æ ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù."); return; } document.AxKCASE.SetCommonInfo(); return; } function CheckFirewall() { if(!CheckAX()) { alert("Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Æ ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù."); return; } document.AxKCASE.CheckFirewall(); return; } function SelectCert(form) { var dn; if(!CheckAX()) { alert("Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Æ ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù."); return; } dn = document.AxKCASE.SelectCert(); if ((dn == null) || (dn == "")) { if(document.AxKCASE.GetErrorCode() != -1) alert(document.AxKCASE.GetErrorContent()); return false; } form.user_dn.value = dn; return true; }